Pre-launch — Gluecron is in final validation. Public signups and git hosting for non-owner users open after launch review.
CodeIssuesDiscussionsWikiPull RequestsProjectsCommitsActionsReleasesContributorsPulse● GatesSecuritySettingsDeploymentsPipelineInsightsAgents✨ Explain✨ Ask AI✨ Workspace✨ Spec✨ Tests▓ Debt Map✨ NL Search🏛 Archaeology
Blame · Line-by-line history

docker-compose.standalone.yml

Each line is annotated with the commit that last touched it. Click any SHA to jump to that commit and see the surrounding change.

docker-compose.standalone.ymlBlame69 lines · 1 contributor
95e33b0Claude1# Standalone single-box deploy: Gluecron + Postgres(pgvector) + Caddy(auto-HTTPS).
2#
3# For a DEDICATED VPS where Gluecron owns ports 80/443 (no co-tenant). One
4# command brings up the whole stack with automatic Let's Encrypt certs:
5#
6# docker compose -f docker-compose.standalone.yml up -d --build
7#
8# Variables come from a local .env (POSTGRES_PASSWORD, optional ANTHROPIC_API_KEY)
9# — see scripts/standalone-deploy.sh which generates it. The Caddyfile in the
10# repo already serves gluecron.com + www.gluecron.com -> gluecron:3000.
11services:
12 postgres:
13 # pgvector image is required: migration 0057 does CREATE EXTENSION vector.
14 image: pgvector/pgvector:pg16
15 environment:
16 POSTGRES_USER: gluecron
17 POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
18 POSTGRES_DB: gluecron
19 volumes:
20 - pgdata:/var/lib/postgresql/data
21 restart: unless-stopped
22 healthcheck:
23 test: ["CMD-SHELL", "pg_isready -U gluecron -d gluecron"]
24 interval: 10s
25 timeout: 5s
26 retries: 6
27
28 gluecron:
29 build: .
30 environment:
31 - DATABASE_URL=postgres://gluecron:${POSTGRES_PASSWORD}@postgres:5432/gluecron
32 - GIT_REPOS_PATH=/data/repos
33 - PORT=3000
34 - NODE_ENV=production
35 - APP_BASE_URL=https://gluecron.com
36 - SSH_PORT=0
37 - ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY:-}
38 expose:
39 - "3000"
40 volumes:
41 - git-repos:/data/repos
42 depends_on:
43 postgres:
44 condition: service_healthy
45 restart: unless-stopped
46 healthcheck:
47 test: ["CMD", "wget", "-qO-", "http://localhost:3000/healthz"]
48 interval: 30s
49 timeout: 10s
50 retries: 3
51
52 caddy:
53 image: caddy:2-alpine
54 restart: unless-stopped
55 ports:
56 - "80:80"
57 - "443:443"
58 volumes:
59 - ./Caddyfile:/etc/caddy/Caddyfile:ro
60 - caddy-data:/data
61 - caddy-config:/config
62 depends_on:
63 - gluecron
64
65volumes:
66 pgdata:
67 git-repos:
68 caddy-data:
69 caddy-config: