a love letter to tangled (android, iOS, and a search API)
19
fork

Configure Feed

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

at main 127 lines 4.2 kB view raw
1services: 2 postgres: 3 image: pgvector/pgvector:pg17 4 restart: unless-stopped 5 environment: 6 POSTGRES_USER: ${POSTGRES_USER:-twisted} 7 POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-twisted} 8 POSTGRES_DB: ${POSTGRES_DB:-twisted} 9 volumes: 10 - twisted-postgres:/var/lib/postgresql/data 11 healthcheck: 12 test: 13 [ 14 "CMD-SHELL", 15 "pg_isready -h localhost -p 5432 -U ${POSTGRES_USER:-twisted} -d ${POSTGRES_DB:-twisted}", 16 ] 17 interval: 10s 18 timeout: 5s 19 retries: 5 20 expose: 21 - "5432" 22 23 migrate: 24 image: ${TWISTER_IMAGE:-twisted-api:latest} 25 command: ["twister", "migrate"] 26 restart: "no" 27 environment: 28 DATABASE_URL: ${DATABASE_URL:-postgresql://${POSTGRES_USER:-twisted}:${POSTGRES_PASSWORD:-twisted}@postgres:5432/${POSTGRES_DB:-twisted}?sslmode=disable} 29 LOG_LEVEL: ${LOG_LEVEL:-info} 30 LOG_FORMAT: ${LOG_FORMAT:-json} 31 depends_on: 32 postgres: 33 condition: service_healthy 34 35 api: 36 image: ${TWISTER_IMAGE:-twisted-api:latest} 37 build: 38 context: ./packages/api 39 dockerfile: Dockerfile 40 command: ["twister", "api"] 41 restart: unless-stopped 42 environment: 43 DATABASE_URL: ${DATABASE_URL:-postgresql://${POSTGRES_USER:-twisted}:${POSTGRES_PASSWORD:-twisted}@postgres:5432/${POSTGRES_DB:-twisted}?sslmode=disable} 44 HTTP_BIND_ADDR: ${HTTP_BIND_ADDR:-:8080} 45 LOG_LEVEL: ${LOG_LEVEL:-info} 46 LOG_FORMAT: ${LOG_FORMAT:-json} 47 SEARCH_DEFAULT_LIMIT: ${SEARCH_DEFAULT_LIMIT:-20} 48 SEARCH_MAX_LIMIT: ${SEARCH_MAX_LIMIT:-100} 49 SEARCH_DEFAULT_MODE: ${SEARCH_DEFAULT_MODE:-keyword} 50 READ_THROUGH_MODE: ${READ_THROUGH_MODE:-missing} 51 READ_THROUGH_COLLECTIONS: ${READ_THROUGH_COLLECTIONS:-} 52 READ_THROUGH_MAX_ATTEMPTS: ${READ_THROUGH_MAX_ATTEMPTS:-5} 53 INDEXED_COLLECTIONS: ${INDEXED_COLLECTIONS:-} 54 ENABLE_ADMIN_ENDPOINTS: ${ENABLE_ADMIN_ENDPOINTS:-false} 55 ADMIN_AUTH_TOKEN: ${ADMIN_AUTH_TOKEN:-} 56 OAUTH_CLIENT_ID: ${OAUTH_CLIENT_ID:-} 57 OAUTH_REDIRECT_URIS: ${OAUTH_REDIRECT_URIS:-} 58 depends_on: 59 migrate: 60 condition: service_completed_successfully 61 expose: 62 - "8080" 63 64 indexer: 65 image: ${TWISTER_IMAGE:-twisted-api:latest} 66 command: ["twister", "indexer"] 67 restart: unless-stopped 68 environment: 69 DATABASE_URL: ${DATABASE_URL:-postgresql://${POSTGRES_USER:-twisted}:${POSTGRES_PASSWORD:-twisted}@postgres:5432/${POSTGRES_DB:-twisted}?sslmode=disable} 70 INDEXER_HEALTH_ADDR: ${INDEXER_HEALTH_ADDR:-:9090} 71 LOG_LEVEL: ${LOG_LEVEL:-info} 72 LOG_FORMAT: ${LOG_FORMAT:-json} 73 TAP_URL: ${TAP_URL:-ws://tap:2480/channel} 74 TAP_AUTH_PASSWORD: ${TAP_AUTH_PASSWORD:?TAP_AUTH_PASSWORD is required} 75 INDEXED_COLLECTIONS: ${INDEXED_COLLECTIONS:?INDEXED_COLLECTIONS is required} 76 ENABLE_INGEST_ENRICHMENT: ${ENABLE_INGEST_ENRICHMENT:-true} 77 depends_on: 78 migrate: 79 condition: service_completed_successfully 80 tap: 81 condition: service_started 82 expose: 83 - "9090" 84 85 tap: 86 image: ghcr.io/bluesky-social/indigo/tap:sha-4f47add43060c27e8a37d9d76482ecddf001fcd8 87 restart: unless-stopped 88 environment: 89 TAP_BIND: :2480 90 TAP_DATABASE_URL: ${TAP_DATABASE_URL:-sqlite:///data/tap.db} 91 TAP_ADMIN_PASSWORD: ${TAP_AUTH_PASSWORD:?TAP_AUTH_PASSWORD is required} 92 TAP_LOG_LEVEL: ${TAP_LOG_LEVEL:-info} 93 TAP_COLLECTION_FILTERS: ${TAP_COLLECTION_FILTERS:-} 94 volumes: 95 - tap-data:/data 96 expose: 97 - "2480" 98 99 llama-embeddings: 100 image: ghcr.io/ggml-org/llama.cpp:server 101 restart: unless-stopped 102 environment: 103 HF_HOME: /models/hf-cache 104 LLAMA_CACHE: /models 105 command: 106 - --hf-repo 107 - ${LLAMA_MODEL_REPO:-nomic-ai/nomic-embed-text-v1.5-GGUF} 108 - --hf-file 109 - ${LLAMA_MODEL_FILE:-nomic-embed-text-v1.5.Q8_0.gguf} 110 - --embeddings 111 - --pooling 112 - mean 113 - --ctx-size 114 - ${LLAMA_CONTEXT_SIZE:-2048} 115 - --host 116 - 0.0.0.0 117 - --port 118 - "8080" 119 volumes: 120 - twisted-llama:/models 121 expose: 122 - "8080" 123 124volumes: 125 twisted-postgres: 126 tap-data: 127 twisted-llama: