unoffical wafrn mirror wafrn.net
atproto social-network activitypub
at angular21 49 lines 1.4 kB view raw
1# Build stage 2FROM node:24-alpine AS builder 3 4RUN apk add --no-cache perl curl tini bash git 5 6WORKDIR /app/packages/frontend 7 8COPY package.json /app 9COPY package-lock.json /app 10 11COPY packages/frontend/package.json . 12 13COPY .git . 14 15# install dependencies 16RUN npm install 17 18COPY packages/frontend . 19 20# Override frontend files with files put here. Allows easy overriding of assets, and potentially actual code as well 21RUN cp -af /app/packages/frontend/overrides/* /app/packages/frontend/src || true 22 23# ngsw config 24RUN cp /app/packages/frontend/ngsw-config.json.example /app/packages/frontend/ngsw-config.json 25 26# copy the frontend environment file 27RUN rm -rf src/environments/environment.prod.ts && mv src/environments/environment.docker.ts src/environments/environment.prod.ts 28 29ENV NODE_ENV=production 30 31RUN npm run build 32 33RUN mv dist/wafrn/browser /app/frontend 34 35COPY packages/frontend/Caddyfile.example /app/Caddyfile 36RUN cp /app/packages/frontend/src/assets/pds-homepage.txt /app/pds-homepage.txt 37 38FROM caddy:2 39 40RUN apk add perl 41 42COPY --from=builder /app/Caddyfile /etc/caddy/Caddyfile 43COPY --from=builder /app/pds-homepage.txt /pds-homepage/pds.txt 44COPY --from=builder /app/frontend/ /app/frontend 45COPY --from=builder /app/packages/frontend/docker-entrypoint.sh /docker-entrypoint.sh 46 47ENTRYPOINT [ "/docker-entrypoint.sh" ] 48 49CMD ["caddy", "run", "--config", "/etc/caddy/Caddyfile", "--adapter", "caddyfile"]