Simplify Quick Start: single docker compose up

- Dockerfile: auto-generate DUMPSTER_SECRET if not set
- compose.yml: remove env_file requirement, use env vars with defaults, share web_assets volume with caddy
- README: Quick Start is now 3 commands (clone, cd, docker compose up)
This commit is contained in:
2026-06-28 19:31:06 -04:00
parent 27f2faecaa
commit 5373105368
3 changed files with 25 additions and 33 deletions
+1 -1
View File
@@ -19,4 +19,4 @@ WORKDIR /app
COPY --from=go-builder /bin/dumpster-server /app/dumpster-server
COPY --from=web-builder /app/dist /srv/web
EXPOSE 8080
CMD ["/app/dumpster-server"]
CMD ["sh", "-c", "if [ -z \"$DUMPSTER_SECRET\" ]; then export DUMPSTER_SECRET=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | head -c 32); fi; /app/dumpster-server"]
+17 -11
View File
@@ -6,15 +6,26 @@ services:
context: ..
dockerfile: docker/Dockerfile
container_name: dumpster-app
env_file:
- ../.env
environment:
DUMPSTER_HOST: ${DUMPSTER_HOST:-localhost}
DUMPSTER_PORT: "8080"
DUMPSTER_SECRET: ${DUMPSTER_SECRET:-}
POSTGRES_HOST: postgres
POSTGRES_PORT: 5432
POSTGRES_PORT: "5432"
POSTGRES_USER: ${POSTGRES_USER:-dumpster}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-dumpster}
POSTGRES_DB: ${POSTGRES_DB:-dumpster}
VALKEY_URL: redis://valkey:6379
MINIO_ENDPOINT: minio:9000
MINIO_ENDPOINT: ${MINIO_ENDPOINT:-}
MINIO_ACCESS_KEY: ${MINIO_ACCESS_KEY:-}
MINIO_SECRET_KEY: ${MINIO_SECRET_KEY:-}
LIVEKIT_API_KEY: ${LIVEKIT_API_KEY:-devkey}
LIVEKIT_API_SECRET: ${LIVEKIT_API_SECRET:-secret}
GIPHY_API_KEY: ${GIPHY_API_KEY:-}
ports:
- "8080:8080"
volumes:
- web_assets:/srv/web
depends_on:
postgres:
condition: service_healthy
@@ -30,8 +41,6 @@ services:
POSTGRES_DB: ${POSTGRES_DB:-dumpster}
volumes:
- postgres_data:/var/lib/postgresql/data
ports:
- "5432:5432"
healthcheck:
test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER:-dumpster} -d ${POSTGRES_DB:-dumpster}"]
interval: 5s
@@ -43,8 +52,6 @@ services:
container_name: dumpster-valkey
volumes:
- valkey_data:/data
ports:
- "6379:6379"
healthcheck:
test: ["CMD", "valkey-cli", "ping"]
interval: 5s
@@ -60,9 +67,6 @@ services:
MINIO_ROOT_PASSWORD: ${MINIO_SECRET_KEY:-dumpster-secret}
volumes:
- minio_data:/data
ports:
- "9000:9000"
- "9001:9001"
livekit:
image: livekit/livekit-server:latest
@@ -103,6 +107,7 @@ services:
- "443:443"
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile:ro
- web_assets:/srv/web:ro
- caddy_data:/data
- caddy_config:/config
depends_on:
@@ -112,5 +117,6 @@ volumes:
postgres_data:
valkey_data:
minio_data:
web_assets:
caddy_data:
caddy_config: