Our Personal Data Server from scratch! tranquil.farm
oauth atproto pds rust postgresql objectstorage fun
at main 56 lines 1.2 kB view raw
1services: 2 app: 3 build: 4 context: . 5 dockerfile: Dockerfile 6 image: tranquil-pds 7 ports: 8 - "3000:3000" 9 environment: 10 DATABASE_URL: postgres://postgres:postgres@db:5432/pds 11 volumes: 12 - ./config.toml:/etc/tranquil-pds/config.toml:ro 13 - blob_data:/var/lib/tranquil/blobs 14 - backup_data:/var/lib/tranquil/backups 15 depends_on: 16 - db 17 18 frontend: 19 build: 20 context: ./frontend 21 dockerfile: Dockerfile 22 image: tranquil-pds-frontend 23 ports: 24 - "8080:80" 25 depends_on: 26 - app 27 28 db: 29 image: postgres:18-alpine 30 environment: 31 POSTGRES_USER: postgres 32 POSTGRES_PASSWORD: postgres 33 POSTGRES_DB: pds 34 ports: 35 - "5432:5432" 36 volumes: 37 - postgres_data:/var/lib/postgresql 38 39 prometheus: 40 image: prom/prometheus:v3.8.0 41 ports: 42 - "9090:9090" 43 volumes: 44 - ./observability/prometheus.yaml:/etc/prometheus/prometheus.yaml:ro 45 - prometheus_data:/prometheus 46 command: 47 - '--config.file=/etc/prometheus/prometheus.yaml' 48 - '--storage.tsdb.path=/prometheus' 49 depends_on: 50 - app 51 52volumes: 53 postgres_data: 54 blob_data: 55 backup_data: 56 prometheus_data: