From 3d8bc3b0906ca7e0d8bb0eb6d72343d24409ae3d Mon Sep 17 00:00:00 2001 From: Ryan Malloy Date: Mon, 23 Feb 2026 15:51:06 -0700 Subject: [PATCH] Add Docker deployment infrastructure for docs-site --- docs-site/.dockerignore | 3 +++ docs-site/.env.example | 2 ++ docs-site/Caddyfile.prod | 9 +++++++++ docs-site/Dockerfile | 13 +++++++++++++ docs-site/Makefile | 14 ++++++++++++++ docs-site/docker-compose.yml | 13 +++++++++++++ 6 files changed, 54 insertions(+) create mode 100644 docs-site/.dockerignore create mode 100644 docs-site/.env.example create mode 100644 docs-site/Caddyfile.prod create mode 100644 docs-site/Dockerfile create mode 100644 docs-site/Makefile create mode 100644 docs-site/docker-compose.yml diff --git a/docs-site/.dockerignore b/docs-site/.dockerignore new file mode 100644 index 0000000..9c97bbd --- /dev/null +++ b/docs-site/.dockerignore @@ -0,0 +1,3 @@ +node_modules +dist +.env diff --git a/docs-site/.env.example b/docs-site/.env.example new file mode 100644 index 0000000..28fe4f2 --- /dev/null +++ b/docs-site/.env.example @@ -0,0 +1,2 @@ +COMPOSE_PROJECT_NAME=mcmqtt-docs +DOMAIN=mcmqtt.warehack.ing diff --git a/docs-site/Caddyfile.prod b/docs-site/Caddyfile.prod new file mode 100644 index 0000000..ef4d4f4 --- /dev/null +++ b/docs-site/Caddyfile.prod @@ -0,0 +1,9 @@ +:80 { + encode gzip + + handle { + root * /srv + try_files {path} {path}/ /index.html + file_server + } +} diff --git a/docs-site/Dockerfile b/docs-site/Dockerfile new file mode 100644 index 0000000..61a085b --- /dev/null +++ b/docs-site/Dockerfile @@ -0,0 +1,13 @@ +# Build stage +FROM node:22-alpine AS builder +WORKDIR /app +COPY package*.json ./ +RUN npm ci +COPY . . +ENV ASTRO_TELEMETRY_DISABLED=1 +RUN npm run build + +# Serve stage +FROM caddy:2-alpine +COPY --from=builder /app/dist /srv +COPY Caddyfile.prod /etc/caddy/Caddyfile diff --git a/docs-site/Makefile b/docs-site/Makefile new file mode 100644 index 0000000..cde07e4 --- /dev/null +++ b/docs-site/Makefile @@ -0,0 +1,14 @@ +.PHONY: up down logs restart + +up: + docker compose up -d --build + @sleep 3 + docker compose logs --tail=20 + +down: + docker compose down + +logs: + docker compose logs -f + +restart: down up diff --git a/docs-site/docker-compose.yml b/docs-site/docker-compose.yml new file mode 100644 index 0000000..6ca30b3 --- /dev/null +++ b/docs-site/docker-compose.yml @@ -0,0 +1,13 @@ +services: + docs: + build: . + restart: unless-stopped + networks: + - caddy + labels: + caddy: ${DOMAIN:-mcmqtt.warehack.ing} + caddy.reverse_proxy: "{{upstreams 80}}" + +networks: + caddy: + external: true