add Dockerfile and compose file with caddy support
Some checks failed
Pull Request into `production` from `main` / auto-pull-request (push) Has been cancelled

This commit is contained in:
Simon Rieger 2025-03-22 11:54:01 +01:00
parent a3dd8bab46
commit 7ce5d07f8e
3 changed files with 57 additions and 0 deletions

4
Caddyfile Normal file
View file

@ -0,0 +1,4 @@
:80
root * /usr/share/caddy
file_server

22
Dockerfile Normal file
View file

@ -0,0 +1,22 @@
# syntax=docker/dockerfile:1.9
FROM docker.io/node:22-alpine as BUILD
ENV \
PHANPY_CLIENT_NAME="Phanpy" \
PHANPY_WEBSITE="https://phanpy.brothertec.eu" \
PHANPY_DEFAULT_INSTANCE="gts.brothertec.eu" \
PHANPY_DEFAULT_INSTANCE_REGISTRATION_URL="https://gts.brothertec.eu/login" \
PHANPY_PRIVACY_POLICY_URL="https://gts.brothertec.eu/about" \
PHANPY_DEFAULT_LANG="de" \
PHANPY_LINGVA_INSTANCES="phanpy.brothertec.eu" \
PHANPY_IMG_ALT_API_URL="" \
PHANPY_GIPHY_API_KEY=""
WORKDIR /build
COPY package.json package-lock.json ./
RUN npm install
COPY ./ ./
RUN npm run build
FROM caddy:2-alpine
COPY --from=BUILD /build/dist/ /usr/share/caddy
COPY Caddyfile /etc/caddy/Caddyfile

31
docker-compose.yml Normal file
View file

@ -0,0 +1,31 @@
services:
phanpy:
#image: ghcr.io/cheeaun/phanpy:latest
build:
context: .
container_name: phanpy
#ports:
# - 8080:80
networks:
- caddy
labels:
com.centurylinklabs.watchtower.enable: true
caddy: phanpy.brothertec.eu
caddy.route.appsec: ""
caddy.route.crowdsec: ""
caddy.route.reverse_proxy: "{{upstreams 80}}"
caddy.encode: "zstd gzip"
caddy.log: ""
caddy.log.output: "file /logs/phanpy.brothertec.eu.log"
caddy.log.output.roll_size: "100MiB"
caddy.log.output.roll_keep: "5"
caddy.log.output.roll_keep_for: "100d"
caddy.log.format: "json"
caddy.log.level: "INFO"
networks:
caddy:
external: true