The smokesignal.events web application
1version: '3.8'
2volumes:
3 smokesignal_data:
4 smokesignal_db:
5 smokesignal_ts:
6 smokesignal_sccache:
7services:
8 devcontainer:
9 image: mcr.microsoft.com/devcontainers/rust:1-1-bullseye
10 volumes:
11 - ..:/workspace:cached
12 - /var/run/docker.sock:/var/run/docker.sock
13 - smokesignal_sccache:/sccache
14 - smokesignal_data:/var/lib/smokesignal
15 command: sleep infinity
16 environment:
17 - RUSTC_WRAPPER=sccache
18 - SCCACHE_DIR=/sccache
19 - RUST_LOG=debug
20 - RUST_BACKTRACE=1
21 - RUST_LIB_BACKTRACE=1
22 - HTTP_PORT=3100
23 - TZ=America/New_York
24 - DATABASE_URL=postgres://postgres:password@postgres/smokesignal
25
26 postgres:
27 image: postgres:17-alpine
28 restart: unless-stopped
29 volumes:
30 - smokesignal_db:/var/lib/postgresql/data
31 - ./postgres_init.sql:/docker-entrypoint-initdb.d/init.sql
32 environment:
33 - POSTGRES_PASSWORD=password
34 healthcheck:
35 test: 'pg_isready -U postgres'
36 interval: 500ms
37 timeout: 10s
38 retries: 20
39
40 valkey:
41 image: valkey/valkey:8-alpine
42
43 tailscale:
44 image: tailscale/tailscale:latest
45 restart: unless-stopped
46 environment:
47 - TS_STATE_DIR=/var/run/tailscale
48 volumes:
49 - smokesignal_ts:/var/run/tailscale