A lexicon-driven AppView for ATProto. happyview.dev
backfill firehose jetstream atproto appview oauth lexicon
8
fork

Configure Feed

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

feat: consolidate docker compose to single postgres instance

Trezy 3f27acce 8b84e983

+26 -22
+19 -22
docker-compose.yml
··· 9 9 - "5432:5432" 10 10 volumes: 11 11 - pgdata:/var/lib/postgresql/data 12 + - ./docker/init-databases.sh:/docker-entrypoint-initdb.d/init-databases.sh 12 13 healthcheck: 13 14 test: ["CMD-SHELL", "pg_isready -U happyview"] 14 15 interval: 5s 15 16 timeout: 3s 16 17 retries: 5 17 18 18 - aip-postgres: 19 - image: postgres:17 20 - environment: 21 - POSTGRES_USER: aip 22 - POSTGRES_PASSWORD: aip 23 - POSTGRES_DB: aip 24 - volumes: 25 - - aip-pgdata:/var/lib/postgresql/data 26 - healthcheck: 27 - test: ["CMD-SHELL", "pg_isready -U aip"] 28 - interval: 5s 29 - timeout: 3s 30 - retries: 5 31 - 32 19 aip: 33 - image: atcr.io/gamesgamesgamesgames.games/aip:latest 20 + image: atcr.io/gamesgamesgamesgames.games/aip:2.2.4-dev.1 34 21 ports: 35 22 - "8080:8080" 36 23 environment: 37 - DATABASE_URL: postgres://aip:aip@aip-postgres/aip 24 + DATABASE_URL: postgres://aip:aip@postgres/aip 38 25 STORAGE_BACKEND: postgres 39 26 EXTERNAL_BASE: http://localhost:8080 40 27 DPOP_NONCE_SEED: ${DPOP_NONCE_SEED} 41 28 HTTP_PORT: 8080 42 29 depends_on: 43 - aip-postgres: 30 + postgres: 44 31 condition: service_healthy 45 32 46 33 happyview: 47 - build: . 34 + image: rust:1.93 35 + working_dir: /app 36 + command: cargo run 48 37 ports: 49 38 - "3000:3000" 39 + volumes: 40 + - .:/app 41 + - cargo-registry:/usr/local/cargo/registry 42 + - cargo-git:/usr/local/cargo/git 43 + - cargo-target:/app/target 50 44 environment: 51 45 DATABASE_URL: postgres://happyview:happyview@postgres/happyview 52 46 AIP_URL: http://aip:8080 ··· 57 51 condition: service_started 58 52 59 53 web: 60 - image: node:22-alpine 54 + image: node:24-alpine 61 55 working_dir: /app 62 - command: npm run dev 56 + command: sh -c "npm install && npm run dev" 63 57 ports: 64 58 - "3001:3001" 65 59 volumes: 66 60 - ./web:/app 67 - - /app/node_modules 61 + - web-node-modules:/app/node_modules 68 62 environment: 69 63 - HOSTNAME=0.0.0.0 70 64 71 65 volumes: 72 66 pgdata: 73 - aip-pgdata: 67 + cargo-registry: 68 + cargo-git: 69 + cargo-target: 70 + web-node-modules:
+7
docker/init-databases.sh
··· 1 + #!/bin/bash 2 + set -e 3 + 4 + psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL 5 + CREATE USER aip WITH PASSWORD 'aip'; 6 + CREATE DATABASE aip OWNER aip; 7 + EOSQL