From 34dc9e578b6f51ff7cd504f356240682aa4cd2f5 Mon Sep 17 00:00:00 2001 From: Graham Barber Date: Mon, 13 Jul 2026 15:21:11 +0000 Subject: [PATCH] use alpine runtime image, drop compose for podman --- Dockerfile | 7 ++++--- README.md | 18 ++++++++++++------ docker-compose.yml | 15 --------------- 3 file(s) changed, 16 insertion(s)(+), 24 deletion(s)(-) diff --git a/Dockerfile b/Dockerfile --- a/Dockerfile +++ b/Dockerfile @@ -9,9 +9,10 @@ COPY . . RUN deno task build -# Runtime stage. The adapter-node output resolves npm packages at runtime, -# so node_modules and the manifests come along; dev tooling does not run. -FROM denoland/deno:2.9.2 +# Runtime stage (alpine keeps the image small). The adapter-node output +# resolves npm packages at runtime, so node_modules and the manifests come +# along; dev tooling does not run. +FROM denoland/deno:alpine-2.9.2 WORKDIR /app ENV DENO_NO_UPDATE_CHECK=1 diff --git a/README.md b/README.md --- a/README.md +++ b/README.md @@ -45,16 +45,22 @@ 4. **Build and run** - With Docker (recommended for deployment): + In a container (recommended for deployment; works with Podman or Docker): ```sh - docker compose up -d --build + podman build -t quantum . + podman run -d --name quantum \ + --env-file .env \ + -p 3000:3000 \ + -v quantum-data:/data \ + quantum ``` - The compose file reads `.env` for `APP_URL`, `ALLOWED_DIDS`, and - `OAUTH_PRIVATE_KEY_JWK`, publishes port 3000, and stores the database on - the `quantum-data` named volume (`DB_PATH` defaults to `/data/quantum.db` - inside the container). Back up that volume — it is the only state. + The container reads `APP_URL`, `ALLOWED_DIDS`, and `OAUTH_PRIVATE_KEY_JWK` + from the environment and stores the database on the `quantum-data` named + volume (`DB_PATH` defaults to `/data/quantum.db` inside). Back up that + volume — it is the only state. To start on boot, generate a systemd unit + (`podman generate systemd --new quantum`) or use a Quadlet. Or directly on the host: diff --git a/docker-compose.yml b/docker-compose.yml deleted file mode 100644 --- a/docker-compose.yml +++ /dev/null @@ -1,15 +0,0 @@ -services: - quantum: - build: . - ports: - - '3000:3000' - # Set APP_URL, ALLOWED_DIDS, and OAUTH_PRIVATE_KEY_JWK in .env next to - # this file (see .env.example). DB_PATH defaults to /data/quantum.db. - env_file: - - .env - volumes: - - quantum-data:/data - restart: unless-stopped - -volumes: - quantum-data: -- tangled.sh