mirror of
https://github.com/aykhans/bsky-feedgen.git
synced 2025-06-01 19:07:34 +00:00
75 lines
2.3 KiB
YAML
75 lines
2.3 KiB
YAML
x-common-mongodb-environment: &common-mongodb-environment
|
|
MONGODB_HOST: mongodb
|
|
MONGODB_PORT: 27017
|
|
MONGODB_USERNAME: aykhan
|
|
MONGODB_PASSWORD: ch7278832gf99010hgbddewd2y28982v3dvbv28vv2dv2d2gbvby2
|
|
|
|
services:
|
|
mongodb:
|
|
image: mongo
|
|
restart: unless-stopped
|
|
ports:
|
|
- 27017:27017
|
|
volumes:
|
|
- mongodb_data:/data/db
|
|
environment:
|
|
MONGO_INITDB_ROOT_USERNAME: aykhan
|
|
MONGO_INITDB_ROOT_PASSWORD: ch7278832gf99010hgbddewd2y28982v3dvbv28vv2dv2d2gbvby2
|
|
healthcheck:
|
|
test: echo 'db.runCommand("ping").ok' | mongosh --quiet
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 5
|
|
start_period: 20s
|
|
|
|
consumer:
|
|
image: git.aykhans.me/bsky/feedgen-consumer:latest
|
|
restart: unless-stopped
|
|
environment:
|
|
<<: *common-mongodb-environment
|
|
POST_MAX_DATE: 720h # Save only posts created in the last month
|
|
POST_COLLECTION_CUTOFF_CRON_DELAY: 10m # 10 minutes
|
|
POST_COLLECTION_CUTOFF_CRON_MAX_DOCUMENT: 2900000 # Delete post documents after 4 million
|
|
depends_on:
|
|
mongodb:
|
|
condition: service_healthy
|
|
|
|
feedgen_az:
|
|
image: git.aykhans.me/bsky/feedgen-generator-az:latest
|
|
restart: unless-stopped
|
|
environment:
|
|
<<: *common-mongodb-environment
|
|
FEED_AZ_GENERATER_CRON_DELAY: 1m # 1 minute
|
|
FEED_AZ_COLLECTION_CUTOFF_CRON_DELAY: 30m # 30 minutes
|
|
FEED_AZ_COLLECTION_CUTOFF_CRON_MAX_DOCUMENT: 10000
|
|
depends_on:
|
|
mongodb:
|
|
condition: service_healthy
|
|
|
|
api:
|
|
image: git.aykhans.me/bsky/feedgen-api:latest
|
|
restart: unless-stopped
|
|
ports:
|
|
- 8421:8421
|
|
environment:
|
|
<<: *common-mongodb-environment
|
|
FEEDGEN_HOSTNAME: https://feeds.bsky.aykhans.me
|
|
FEEDGEN_PUBLISHER_DID: did:plc:cs2cbzojm6hmx5lfxiuft3mq
|
|
API_PORT: 8421
|
|
depends_on:
|
|
mongodb:
|
|
condition: service_healthy
|
|
|
|
caddy:
|
|
image: caddy:2.10.0-alpine
|
|
restart: unless-stopped
|
|
ports:
|
|
- 80:80
|
|
- 443:443
|
|
- 443:443/udp
|
|
volumes:
|
|
- ./Caddyfile:/etc/caddy/Caddyfile
|
|
|
|
volumes:
|
|
mongodb_data:
|