Highly ambitious ATProtocol AppView service and sdks
at main 2.1 kB view raw
1version: '3.8' 2 3services: 4 postgres: 5 image: postgres:15 6 environment: 7 POSTGRES_DB: slices 8 POSTGRES_USER: slices 9 POSTGRES_PASSWORD: slices 10 ports: 11 - "5432:5432" 12 volumes: 13 - postgres_data:/var/lib/postgresql/data 14 - ./schema.sql:/docker-entrypoint-initdb.d/01-schema.sql 15 healthcheck: 16 test: ["CMD-SHELL", "pg_isready -U slices -d slices"] 17 interval: 5s 18 timeout: 5s 19 retries: 5 20 21 cloudflared: 22 image: cloudflare/cloudflared:latest 23 command: tunnel --no-autoupdate run --token ${CLOUDFLARE_TUNNEL_TOKEN} 24 environment: 25 - TUNNEL_TOKEN=${CLOUDFLARE_TUNNEL_TOKEN} 26 depends_on: 27 - aip 28 networks: 29 - default 30 31 redis: 32 image: redis:7-alpine 33 ports: 34 - "6379:6379" 35 volumes: 36 - redis_data:/data 37 healthcheck: 38 test: ["CMD", "redis-cli", "ping"] 39 interval: 5s 40 timeout: 3s 41 retries: 5 42 43 aip: 44 image: ghcr.io/bigmoves/aip/aip-sqlite:main-e445b82 45 environment: 46 EXTERNAL_BASE: "${AIP_EXTERNAL_BASE:-http://localhost:8081}" 47 HTTP_PORT: "8081" 48 DATABASE_URL: "sqlite:///data/aip.db" 49 HTTP_CLIENT_TIMEOUT: "30" 50 OAUTH_SUPPORTED_SCOPES: "openid email profile atproto transition:generic account:email blob:image/* repo:network.slices.slice repo:network.slices.lexicon repo:network.slices.actor.profile repo:network.slices.waitlist.request" 51 ENABLE_CLIENT_API: "true" 52 ADMIN_DIDS: "did:plc:bcgltzqazw5tb6k2g3ttenbj" 53 DPOP_NONCE_SEED: "local-dev-nonce-seed" 54 RUST_LOG: "aip=trace,sqlx=debug,tower_http=debug,atproto_identity=debug,atproto_oauth=debug" 55 ATPROTO_OAUTH_SIGNING_KEYS: "z42tzC26Phdvnzmm7mVgLVgH6cDy3i1A2UcH8m6XbgKVJ4zk" 56 OAUTH_SIGNING_KEYS: "z42tzC26Phdvnzmm7mVgLVgH6cDy3i1A2UcH8m6XbgKVJ4zk" 57 ports: 58 - "8081:8081" 59 volumes: 60 - aip_data:/data 61 healthcheck: 62 test: ["CMD-SHELL", "curl -f http://localhost:8081/.well-known/oauth-authorization-server || exit 1"] 63 interval: 10s 64 timeout: 5s 65 retries: 3 66 67volumes: 68 postgres_data: 69 redis_data: 70 aip_data: