Our Personal Data Server from scratch!
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

at fix/sending-verification 119 lines 2.9 kB view raw
1services: 2 tranquil-pds: 3 build: 4 context: . 5 dockerfile: Dockerfile 6 image: tranquil-pds:latest 7 restart: unless-stopped 8 environment: 9 SERVER_HOST: "0.0.0.0" 10 volumes: 11 - ./config.toml:/etc/tranquil-pds/config.toml:ro 12 - blob_data:/var/lib/tranquil/blobs 13 - backup_data:/var/lib/tranquil/backups 14 depends_on: 15 db: 16 condition: service_healthy 17 healthcheck: 18 test: ["CMD", "wget", "-q", "--spider", "http://localhost:3000/xrpc/_health"] 19 interval: 30s 20 timeout: 10s 21 retries: 3 22 start_period: 10s 23 deploy: 24 resources: 25 limits: 26 memory: 1G 27 reservations: 28 memory: 256M 29 30 frontend: 31 build: 32 context: ./frontend 33 dockerfile: Dockerfile 34 image: tranquil-pds-frontend:latest 35 restart: unless-stopped 36 healthcheck: 37 test: ["CMD", "wget", "-q", "--spider", "http://localhost:80/"] 38 interval: 30s 39 timeout: 10s 40 retries: 3 41 start_period: 5s 42 deploy: 43 resources: 44 limits: 45 memory: 128M 46 reservations: 47 memory: 32M 48 49 db: 50 image: postgres:18-alpine 51 restart: unless-stopped 52 environment: 53 POSTGRES_USER: tranquil_pds 54 POSTGRES_PASSWORD: "CHANGE-ME" 55 POSTGRES_DB: pds 56 volumes: 57 - postgres_data:/var/lib/postgresql/data 58 healthcheck: 59 test: ["CMD-SHELL", "pg_isready -U tranquil_pds -d pds"] 60 interval: 10s 61 timeout: 5s 62 retries: 5 63 start_period: 10s 64 deploy: 65 resources: 66 limits: 67 memory: 512M 68 reservations: 69 memory: 128M 70 71 nginx: 72 image: nginx:1.29-alpine 73 restart: unless-stopped 74 ports: 75 - "80:80" 76 - "443:443" 77 volumes: 78 - ./nginx.frontend.conf:/etc/nginx/nginx.conf:ro 79 - ./certs:/etc/nginx/certs:ro 80 - acme_challenge:/var/www/acme:ro 81 depends_on: 82 - tranquil-pds 83 - frontend 84 healthcheck: 85 test: ["CMD", "nginx", "-t"] 86 interval: 30s 87 timeout: 10s 88 retries: 3 89 90 certbot: 91 image: certbot/certbot:v5.2.2 92 volumes: 93 - ./certs:/etc/letsencrypt 94 - acme_challenge:/var/www/acme 95 entrypoint: "/bin/sh -c 'trap exit TERM; while :; do certbot renew --webroot -w /var/www/acme; sleep 12h & wait $${!}; done'" 96 97 prometheus: 98 image: prom/prometheus:v3.8.0 99 restart: unless-stopped 100 ports: 101 - "127.0.0.1:9090:9090" 102 volumes: 103 - ./observability/prometheus.yaml:/etc/prometheus/prometheus.yaml:ro 104 - prometheus_data:/prometheus 105 command: 106 - '--config.file=/etc/prometheus/prometheus.yaml' 107 - '--storage.tsdb.path=/prometheus' 108 - '--storage.tsdb.retention.time=30d' 109 deploy: 110 resources: 111 limits: 112 memory: 256M 113 114volumes: 115 postgres_data: 116 blob_data: 117 backup_data: 118 prometheus_data: 119 acme_challenge: