mirror of
https://github.com/Dadoum/anisette-v3-server.git
synced 2024-11-21 10:56:08 +00:00
Set-up Docker and GitHub Actions
This commit is contained in:
parent
bd870f2321
commit
85eff4fd46
3
.github/FUNDING.yml
vendored
Normal file
3
.github/FUNDING.yml
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
# These are supported funding model platforms
|
||||
|
||||
github: ["Dadoum"]
|
27
.github/workflows/docker-publish-anisette-v3-server.yml
vendored
Normal file
27
.github/workflows/docker-publish-anisette-v3-server.yml
vendored
Normal file
@ -0,0 +1,27 @@
|
||||
name: Publish docker image anisette-v3-server
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- 'main'
|
||||
|
||||
jobs:
|
||||
docker:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v2
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v2
|
||||
- name: Login to DockerHub
|
||||
uses: docker/login-action@v2
|
||||
with:
|
||||
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||
- name: Build and push
|
||||
uses: docker/build-push-action@v3
|
||||
with:
|
||||
push: true
|
||||
tags: |
|
||||
dadoum/anisette-v3-server:latest
|
||||
platforms: linux/386,linux/amd64,linux/arm/v7,linux/arm64/v8
|
34
Dockerfile
Normal file
34
Dockerfile
Normal file
@ -0,0 +1,34 @@
|
||||
# Base for builder
|
||||
FROM debian:unstable-slim AS builder
|
||||
# Deps for builder
|
||||
RUN apt-get update && apt-get install --no-install-recommends -y ca-certificates ldc git clang dub libz-dev libssl-dev \
|
||||
&& apt-get clean \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Build for builder
|
||||
WORKDIR /opt/
|
||||
COPY . .
|
||||
RUN DC=ldc2 dub build -c "static" --build-mode allAtOnce -b release --compiler=ldc2
|
||||
|
||||
# Base for run
|
||||
FROM debian:unstable-slim
|
||||
RUN apt-get update && apt-get install --no-install-recommends -y ca-certificates curl \
|
||||
&& apt-get clean \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Copy build artefacts to run
|
||||
WORKDIR /opt/
|
||||
COPY --from=builder /opt/anisette-v3-server /opt/anisette-v3-server
|
||||
|
||||
# Setup rootless user which works with the volume mount
|
||||
RUN useradd -ms /bin/bash Alcoholic \
|
||||
&& mkdir /home/Alcoholic/.config/anisette-v3/lib/ -p \
|
||||
&& chown -R Alcoholic /home/Alcoholic/ \
|
||||
&& chmod -R +wx /home/Alcoholic/ \
|
||||
&& chown -R Alcoholic /opt/ \
|
||||
&& chmod -R +wx /opt/
|
||||
|
||||
# Run the artefact
|
||||
USER Alcoholic
|
||||
EXPOSE 6969
|
||||
ENTRYPOINT [ "/opt/anisette-v3-server" ]
|
20
dub.json
20
dub.json
@ -12,5 +12,25 @@
|
||||
},
|
||||
"slf4d": "~>2.1.1",
|
||||
"vibe-d": "~>0.9.7-alpha.2"
|
||||
},
|
||||
|
||||
"configurations": [
|
||||
{
|
||||
"name": "default",
|
||||
"targetType": "executable"
|
||||
},
|
||||
{
|
||||
"name": "static",
|
||||
"targetType": "executable",
|
||||
"lflags-linux-ldc": [
|
||||
"-lz"
|
||||
],
|
||||
"dflags-ldc": [
|
||||
"--link-defaultlib-shared=false"
|
||||
],
|
||||
"dflags-gdc": [
|
||||
"-defaultlib=:libgphobos.a"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
@ -4,13 +4,7 @@
|
||||
"diet-ng": "1.8.1",
|
||||
"dxml": "0.4.3",
|
||||
"eventcore": "0.9.25",
|
||||
"hunt": "1.7.17",
|
||||
"hunt-extra": "1.2.3",
|
||||
"hunt-http": "0.8.2",
|
||||
"hunt-net": "0.7.1",
|
||||
"hunt-openssl": "1.0.5",
|
||||
"libasync": "0.9.2",
|
||||
"lighttp": "0.5.4",
|
||||
"libasync": "0.8.6",
|
||||
"memutils": "1.0.9",
|
||||
"mir-linux-kernel": "1.0.1",
|
||||
"openssl": "3.3.0",
|
||||
@ -21,9 +15,7 @@
|
||||
"slf4d": "2.1.1",
|
||||
"stdx-allocator": "2.77.5",
|
||||
"taggedalgebraic": "0.11.22",
|
||||
"urld": "2.1.1",
|
||||
"vibe-core": "2.2.0",
|
||||
"vibe-d": "0.9.7-alpha.2",
|
||||
"xbuffer": "1.0.0"
|
||||
"vibe-d": "0.9.7-alpha.2"
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user