1services:
2 margin:
3 image: ghcr.io/margin-at/margin:latest
4 container_name: margin-at
5 environment:
6 - PORT=8080
7 - DATABASE_URL=postgres://margin:margin@margin-db:5432/margin?sslmode=disable
8 - STATIC_DIR=dist
9 - OAUTH_KEY_PATH=/data/oauth_private_key.pem
10 env_file:
11 - .env
12 depends_on:
13 db:
14 condition: service_healthy
15
16 db:
17 image: postgres:17-alpine
18 container_name: margin-db
19 environment:
20 - POSTGRES_USER=margin
21 - POSTGRES_PASSWORD=margin
22 - POSTGRES_DB=margin
23
24 volumes:
25 - db-data:/var/lib/postgresql/data
26 - margin-data:/data
27 healthcheck:
28 test: ["CMD-SHELL", "pg_isready -U margin"]
29 interval: 5s
30 timeout: 5s
31 retries: 5
32 restart: always
33
34volumes:
35 db-data:
36 margin-data: