unoffical wafrn mirror wafrn.net
atproto social-network activitypub
at search-changes 159 lines 4.6 kB view raw
1services: 2 backend: &default_backend 3 build: 4 context: packages/backend 5 dockerfile: Dockerfile 6 # these args configure private env vars for the backend and public env vars for the frontend 7 args: 8 ADMIN_USER: ${ADMIN_USER} 9 ADMIN_EMAIL: ${ADMIN_EMAIL} 10 ADMIN_PASSWORD: ${ADMIN_PASSWORD} 11 JWT_SECRET: ${JWT_SECRET} 12 DOMAIN_NAME: ${DOMAIN_NAME} 13 14 CACHE_DOMAIN: ${CACHE_DOMAIN} 15 MEDIA_DOMAIN: ${MEDIA_DOMAIN} 16 17 SMTP_HOST: ${SMTP_HOST} 18 SMTP_USER: ${SMTP_USER} 19 SMTP_PORT: ${SMTP_PORT} 20 SMTP_PASSWORD: ${SMTP_PASSWORD} 21 SMTP_FROM: ${SMTP_FROM} 22 23 POSTGRES_USER: ${POSTGRES_USER} 24 POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} 25 POSTGRES_DBNAME: ${POSTGRES_DBNAME} 26 27 WEBPUSH_EMAIL: ${WEBPUSH_EMAIL} 28 WEBPUSH_PRIVATE: ${WEBPUSH_PRIVATE} 29 WEBPUSH_PUBLIC: ${WEBPUSH_PUBLIC} 30 31 ENABLE_BSKY: ${ENABLE_BSKY} 32 PDS_DOMAIN_NAME: ${PDS_DOMAIN_NAME} 33 PDS_JWT_SECRET: ${PDS_JWT_SECRET} 34 PDS_ADMIN_PASSWORD: ${PDS_ADMIN_PASSWORD} 35 36 USE_WORKERS: true 37 LOG_SQL_QUERIES: ${LOG_SQL_QUERIES:-} 38 UPLOAD_LIMIT: ${UPLOAD_LIMIT:-} 39 POSTS_PER_PAGE: ${POSTS_PER_PAGE:-} 40 LOG_LEVEL: ${LOG_LEVEL:-} 41 BLOCKLIST_URI: ${BLOCKLIST_URI:-} 42 FRONTEND_PATH: ${FRONTEND_PATH:-} 43 DISABLE_REQUIRE_SEND_EMAIL: ${DISABLE_REQUIRE_SEND_EMAIL:-} 44 BLOCKED_IPS: ${BLOCKED_IPS:-} 45 REVIEW_REGISTRATIONS: ${REVIEW_REGISTRATIONS:-} 46 IGNORE_BLOCK_HOSTS: ${IGNORE_BLOCK_HOSTS:-} 47 48 FRONTEND_LOGO: ${FRONTEND_LOGO:-} 49 FRONTEND_API_URL: ${FRONTEND_API_URL:-} 50 FRONTEND_MEDIA_URL: ${FRONTEND_MEDIA_URL:-} 51 FRONTEND_CACHE_URL: ${FRONTEND_CACHE_URL:-} 52 FRONTEND_CACHE_BACKUP_URLS: ${FRONTEND_CACHE_BACKUP_URLS:-} 53 FRONTEND_SHORTEN_POSTS: ${FRONTEND_SHORTEN_POSTS:-} 54 FRONTEND_DISABLE_PWA: ${FRONTEND_DISABLE_PWA:-} 55 FRONTEND_MAINTENANCE: ${FRONTEND_MAINTENANCE:-} 56 depends_on: 57 db: 58 condition: service_started 59 redis: 60 condition: service_started 61 frontend: 62 condition: service_started 63 migration: 64 condition: service_completed_successfully 65 restart: unless-stopped 66 environment: 67 - NODE_ENV=production 68 volumes: 69 - ./packages/backend/uploads:/wafrn/uploads 70 - ./packages/backend/cache:/wafrn/cache 71 - frontend:/wafrn/packages/frontend:ro 72 73 migration: 74 <<: *default_backend 75 depends_on: 76 db: 77 condition: service_started 78 redis: 79 condition: service_started 80 frontend: 81 condition: service_started 82 restart: no 83 command: "npm exec tsx migrate.ts init-container" 84 85 frontend: 86 restart: unless-stopped 87 build: 88 context: packages/frontend 89 dockerfile: Dockerfile 90 args: 91 DOMAIN_NAME: ${DOMAIN_NAME} 92 PDS_DOMAIN_NAME: ${PDS_DOMAIN_NAME} 93 CACHE_DOMAIN: ${CACHE_DOMAIN} 94 MEDIA_DOMAIN: ${MEDIA_DOMAIN} 95 ACME_EMAIL: ${ACME_EMAIL} 96 ports: 97 - 80:80 98 - 443:443 99 volumes: 100 - "caddy:/data" 101 - "frontend:/var/www/html/frontend" 102 - ./packages/backend/uploads:/var/www/html/uploads 103 104 db: 105 image: postgres:17 106 restart: unless-stopped 107 shm_size: '2gb' 108 environment: 109 POSTGRES_USER: ${POSTGRES_USER} 110 POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} 111 POSTGRES_DB: ${POSTGRES_DBNAME} 112 volumes: 113 - dbpg:/var/lib/postgresql/data 114 115 adminer: 116 image: adminer 117 restart: unless-stopped 118 119 redis: 120 image: redis:7.2.4 121 restart: unless-stopped 122 volumes: 123 - redis:/data 124 125 pds: 126 image: ghcr.io/bluesky-social/pds:0.4 127 restart: unless-stopped 128 profiles: 129 - bluesky 130 environment: 131 PDS_HOSTNAME: ${PDS_DOMAIN_NAME} 132 PDS_JWT_SECRET: ${PDS_JWT_SECRET} 133 PDS_ADMIN_PASSWORD: ${PDS_ADMIN_PASSWORD} 134 PDS_PLC_ROTATION_KEY_K256_PRIVATE_KEY_HEX: ${PDS_PLC_ROTATION_KEY_K256_PRIVATE_KEY_HEX} 135 PDS_DATA_DIRECTORY: /pds 136 PDS_BLOBSTORE_DISK_LOCATION: /pds/blocks 137 PDS_BLOB_UPLOAD_LIMIT: 52428800 138 PDS_DID_PLC_URL: "https://plc.directory" 139 PDS_BSKY_APP_VIEW_URL: "https://api.bsky.app" 140 PDS_BSKY_APP_VIEW_DID: "did:web:api.bsky.app" 141 PDS_REPORT_SERVICE_URL: "https://mod.bsky.app" 142 PDS_REPORT_SERVICE_DID: "did:plc:ar7c4by46qjdydhdevvrndac" 143 PDS_CRAWLERS: "https://bsky.network" 144 LOG_ENABLED: true 145 volumes: 146 - pds:/pds 147 148 pds_worker: 149 <<: *default_backend 150 profiles: 151 - bluesky 152 command: "npm exec tsx atproto.ts" 153 154volumes: 155 dbpg: 156 caddy: 157 pds: 158 frontend: 159 redis: