PDS software with bells & whistles you didn’t even know you needed. will move this to its own account when ready.
tranquil.farm
oauth
atproto
pds
rust
postgresql
objectstorage
fun
1services:
2 app:
3 build:
4 context: .
5 dockerfile: Dockerfile
6 image: tranquil-pds
7 ports:
8 - "3000:3000"
9 env_file:
10 - ./.env
11 environment:
12 DATABASE_URL: postgres://postgres:postgres@db:5432/pds
13 S3_ENDPOINT: http://objsto:9000
14 VALKEY_URL: redis://cache:6379
15 depends_on:
16 - db
17 - objsto
18 - cache
19 db:
20 image: postgres:18-alpine
21 environment:
22 POSTGRES_USER: postgres
23 POSTGRES_PASSWORD: postgres
24 POSTGRES_DB: pds
25 ports:
26 - "5432:5432"
27 volumes:
28 - postgres_data:/var/lib/postgresql
29 objsto:
30 image: minio/minio
31 ports:
32 - "9000:9000"
33 - "9001:9001"
34 environment:
35 MINIO_ROOT_USER: minioadmin
36 MINIO_ROOT_PASSWORD: minioadmin
37 volumes:
38 - minio_data:/data
39 command: server /data --console-address ":9001"
40 cache:
41 image: valkey/valkey:8-alpine
42 ports:
43 - "6379:6379"
44 volumes:
45 - valkey_data:/data
46 prometheus:
47 image: prom/prometheus:v3.8.0
48 ports:
49 - "9090:9090"
50 volumes:
51 - ./observability/prometheus.yml:/etc/prometheus/prometheus.yml:ro
52 - prometheus_data:/prometheus
53 command:
54 - '--config.file=/etc/prometheus/prometheus.yml'
55 - '--storage.tsdb.path=/prometheus'
56 depends_on:
57 - app
58volumes:
59 postgres_data:
60 minio_data:
61 valkey_data:
62 prometheus_data: