A PLC Mirror written in Rust
1services:
2 plc-mirror:
3 image: registry.gitlab.com/parakeet-social/plc-mirror:main
4 restart: unless-stopped
5 ports:
6 - 8080:8080
7 depends_on:
8 plc-mirror-db:
9 condition: service_healthy
10 environment:
11 PLC_DB_URI: postgres://plcmirror:${PLC_MIRROR_DB_PASSWORD:?}@plc-mirror-db/plcmirror
12 PLC_BIND_ADDR: 0.0.0.0:8080
13
14 plc-mirror-db:
15 image: postgres:18-alpine
16 restart: unless-stopped
17 environment:
18 POSTGRES_USER: plcmirror
19 POSTGRES_PASSWORD: ${PLC_MIRROR_DB_PASSWORD:?}
20 POSTGRES_DB: plcmirror
21 volumes:
22 - plc-mirror-db-data:/var/lib/postgresql/data
23 healthcheck:
24 test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"]
25 interval: 5s
26 timeout: 5s
27 retries: 5
28 start_period: 10s
29
30volumes:
31 plc-mirror-db-data: