dockerized atproto relay
1services:
2 relay:
3 env_file: .env
4 network_mode: "host"
5 logging:
6 driver: "local"
7 options:
8 max-size: "100m"
9 max-file: "3"
10 build:
11 context: ./indigo
12 dockerfile: cmd/relay/Dockerfile
13 restart: on-failure
14 depends_on:
15 db:
16 condition: service_healthy
17 restart: true
18 volumes:
19 - ${HOME}/data/relay/persist:/data/relay/persist
20 caddy:
21 image: caddy:2.10-alpine
22 restart: unless-stopped
23 network_mode: host
24 ports:
25 - "80:80"
26 - "443:443"
27 volumes:
28 - $PWD/conf:/etc/caddy
29 - caddy_data:/data
30 db:
31 env_file: .env
32 image: postgres:17-alpine
33 healthcheck:
34 test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER} -d ${POSTGRES_DB}"]
35 interval: 10s
36 retries: 5
37 start_period: 30s
38 timeout: 10s
39 restart: always
40 volumes:
41 - ${HOME}/postgres-data:/var/lib/postgresql/data
42 - ./init.sql:/docker-entrypoint-initdb.d/init.sql:ro
43 - ./conf/postgres.conf:/etc/postgresql/postgresql.conf
44 command: ["postgres", "-c", "config_file=/etc/postgresql/postgresql.conf"]
45 ports:
46 - "5432:5432"
47 networks:
48 - backend
49
50volumes:
51 caddy_data:
52 caddy_config:
53
54networks:
55 backend: