|
1
|
services: |
|
2
|
|
|
3
|
postgres: |
|
4
|
image: postgres:16-alpine |
|
5
|
restart: unless-stopped |
|
6
|
environment: |
|
7
|
POSTGRES_USER: scuttlebot |
|
8
|
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-scuttlebot} |
|
9
|
POSTGRES_DB: scuttlebot |
|
10
|
volumes: |
|
11
|
- postgres_data:/var/lib/postgresql/data |
|
12
|
healthcheck: |
|
13
|
test: ["CMD-SHELL", "pg_isready -U scuttlebot"] |
|
14
|
interval: 5s |
|
15
|
timeout: 5s |
|
16
|
retries: 10 |
|
17
|
|
|
18
|
ergo: |
|
19
|
build: |
|
20
|
context: ./ergo |
|
21
|
restart: unless-stopped |
|
22
|
environment: |
|
23
|
ERGO_NETWORK_NAME: ${ERGO_NETWORK_NAME:-scuttlebot} |
|
24
|
ERGO_SERVER_NAME: ${ERGO_SERVER_NAME:-irc.scuttlebot.local} |
|
25
|
ERGO_API_TOKEN: ${ERGO_API_TOKEN:?ERGO_API_TOKEN is required} |
|
26
|
ERGO_HISTORY_ENABLED: ${ERGO_HISTORY_ENABLED:-true} |
|
27
|
ERGO_HISTORY_DSN: postgres://scuttlebot:${POSTGRES_PASSWORD:-scuttlebot}@postgres:5432/scuttlebot?sslmode=disable |
|
28
|
volumes: |
|
29
|
- ergo_data:/ircd |
|
30
|
ports: |
|
31
|
- "${IRC_PORT:-6667}:6667" |
|
32
|
depends_on: |
|
33
|
postgres: |
|
34
|
condition: service_healthy |
|
35
|
healthcheck: |
|
36
|
test: ["CMD-SHELL", "wget -q -O /dev/null http://localhost:8089/v1/status --header='Authorization: Bearer ${ERGO_API_TOKEN}' || exit 1"] |
|
37
|
interval: 5s |
|
38
|
timeout: 5s |
|
39
|
retries: 12 |
|
40
|
start_period: 10s |
|
41
|
|
|
42
|
scuttlebot: |
|
43
|
build: |
|
44
|
context: ../.. |
|
45
|
dockerfile: deploy/docker/Dockerfile |
|
46
|
restart: unless-stopped |
|
47
|
environment: |
|
48
|
SCUTTLEBOT_ERGO_EXTERNAL: "true" |
|
49
|
SCUTTLEBOT_ERGO_API_ADDR: http://ergo:8089 |
|
50
|
SCUTTLEBOT_ERGO_API_TOKEN: ${ERGO_API_TOKEN:?ERGO_API_TOKEN is required} |
|
51
|
SCUTTLEBOT_ERGO_IRC_ADDR: ergo:6667 |
|
52
|
SCUTTLEBOT_ERGO_NETWORK_NAME: ${ERGO_NETWORK_NAME:-scuttlebot} |
|
53
|
SCUTTLEBOT_ERGO_SERVER_NAME: ${ERGO_SERVER_NAME:-irc.scuttlebot.local} |
|
54
|
SCUTTLEBOT_DB_DRIVER: postgres |
|
55
|
SCUTTLEBOT_DB_DSN: postgres://scuttlebot:${POSTGRES_PASSWORD:-scuttlebot}@postgres:5432/scuttlebot?sslmode=disable |
|
56
|
SCUTTLEBOT_API_ADDR: :8080 |
|
57
|
ports: |
|
58
|
- "${API_PORT:-8080}:8080" |
|
59
|
depends_on: |
|
60
|
ergo: |
|
61
|
condition: service_healthy |
|
62
|
postgres: |
|
63
|
condition: service_healthy |
|
64
|
healthcheck: |
|
65
|
test: ["CMD-SHELL", "wget -q -O /dev/null http://localhost:8080/v1/status --header='Authorization: Bearer ignored' || exit 1"] |
|
66
|
interval: 10s |
|
67
|
timeout: 5s |
|
68
|
retries: 6 |
|
69
|
start_period: 15s |
|
70
|
|
|
71
|
volumes: |
|
72
|
postgres_data: |
|
73
|
ergo_data: |
|
74
|
|