A minimal AT Protocol Personal Data Server written in JavaScript.
0
fork

Configure Feed

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

at main 102 lines 2.7 kB view raw
1services: 2 plc: 3 build: 4 context: https://github.com/did-method-plc/did-method-plc.git 5 dockerfile: packages/server/Dockerfile 6 ports: 7 - "2582:2582" 8 environment: 9 - DATABASE_URL=postgres://plc:plc@postgres:5432/plc 10 - PORT=2582 11 command: ["dumb-init", "node", "--enable-source-maps", "../dist/bin.js"] 12 depends_on: 13 postgres: 14 condition: service_healthy 15 healthcheck: 16 test: ["CMD-SHELL", "wget -q --spider http://localhost:2582/_health || exit 1"] 17 interval: 2s 18 timeout: 5s 19 retries: 15 20 21 relay: 22 image: ghcr.io/bluesky-social/indigo:bigsky-6fcd9317e725af1b3077f386a42b22eadcdc7d7f 23 platform: linux/amd64 24 ports: 25 - "2470:2470" 26 environment: 27 - GOLOG_LOG_LEVEL=info 28 - DATA_DIR=/data 29 - RELAY_ADMIN_KEY=localdev 30 - ATP_PLC_HOST=http://plc:2582 31 # Trust Caddy's internal CA for local HTTPS 32 - SSL_CERT_FILE=/caddy-ca/caddy/pki/authorities/local/root.crt 33 extra_hosts: 34 - "host.docker.internal:host-gateway" 35 volumes: 36 - relay_data:/data 37 - caddy_data:/caddy-ca:ro 38 command: ["/bin/sh", "-c", "cat /caddy-ca/caddy/pki/authorities/local/root.crt >> /etc/ssl/certs/ca-certificates.crt && /bigsky --api-listen :2470"] 39 depends_on: 40 plc: 41 condition: service_healthy 42 caddy: 43 condition: service_healthy 44 healthcheck: 45 test: ["CMD-SHELL", "curl -f http://localhost:2470/xrpc/_health || exit 1"] 46 interval: 2s 47 timeout: 5s 48 retries: 15 49 50 # Caddy reverse proxy - provides HTTPS for the PDS so relay can verify it 51 caddy: 52 image: caddy:2-alpine 53 ports: 54 - "3443:3443" 55 extra_hosts: 56 - "host.docker.internal:host-gateway" 57 volumes: 58 - ./docker/Caddyfile:/etc/caddy/Caddyfile:ro 59 - caddy_data:/data 60 healthcheck: 61 test: ["CMD-SHELL", "nc -z localhost 3443 || exit 1"] 62 interval: 2s 63 timeout: 5s 64 retries: 15 65 start_period: 5s 66 67 postgres: 68 image: postgres:16-alpine 69 environment: 70 - POSTGRES_USER=plc 71 - POSTGRES_PASSWORD=plc 72 - POSTGRES_DB=plc 73 volumes: 74 - plc_data:/var/lib/postgresql/data 75 healthcheck: 76 test: ["CMD-SHELL", "pg_isready -U plc"] 77 interval: 2s 78 timeout: 5s 79 retries: 10 80 81 minio: 82 image: minio/minio:latest 83 ports: 84 - "9000:9000" 85 - "9001:9001" 86 environment: 87 - MINIO_ROOT_USER=minioadmin 88 - MINIO_ROOT_PASSWORD=minioadmin 89 command: server /data --console-address ":9001" 90 volumes: 91 - minio_data:/data 92 healthcheck: 93 test: ["CMD", "mc", "ready", "local"] 94 interval: 2s 95 timeout: 5s 96 retries: 10 97 98volumes: 99 plc_data: 100 relay_data: 101 caddy_data: 102 minio_data: