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