diff --git a/Caddyfile b/Caddyfile new file mode 100644 index 00000000..56c8ac9b --- /dev/null +++ b/Caddyfile @@ -0,0 +1,4 @@ +:80 + +root * /usr/share/caddy +file_server diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 00000000..010d211e --- /dev/null +++ b/Dockerfile @@ -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 diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 00000000..4814e803 --- /dev/null +++ b/docker-compose.yml @@ -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 +