diff --git a/compose.prod.yml b/compose.prod.yml new file mode 100644 index 0000000..35b99e6 --- /dev/null +++ b/compose.prod.yml @@ -0,0 +1,74 @@ +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: diff --git a/pkg/consumer/base.go b/pkg/consumer/base.go index 2c2d9ce..b503f94 100644 --- a/pkg/consumer/base.go +++ b/pkg/consumer/base.go @@ -264,7 +264,7 @@ func ConsumeAndSaveToMongoDB( case <-ticker.C: if len(postBatch) > 0 { consumerLastFlushingTime = time.Now() - logger.Log.Info("flushing post batch", "count", len(postBatch)) + // logger.Log.Info("flushing post batch", "count", len(postBatch)) err := postCollection.Insert(ctx, true, postBatch...) if err != nil { return fmt.Errorf("mongodb post insert error: %v", err)