Files
hashex/prod-compose.yml
ThaMunsta 9e93c3db57
Build Images and Deploy / Update-PROD-Stack (push) Successful in 1m28s
Update time references to Eastern Time and adjust maintenance job schedule
2026-03-27 22:01:53 -04:00

80 lines
2.6 KiB
YAML

services:
app:
image: reg.dev.nervesocket.com/hashex:latest
# Run migrations then start the web server
command: sh -c "npx prisma db push --accept-data-loss && npm start"
ports:
- "12131:3000"
- "12555:5555"
environment:
DATABASE_URL: "${DATABASE_URL}"
NEXTAUTH_SECRET: "${NEXTAUTH_SECRET}"
NEXTAUTH_URL: "${NEXTAUTH_URL}"
REDIS_URL: "${REDIS_URL}"
MASTODON_INSTANCE: "${MASTODON_INSTANCE}"
MASTODON_ACCESS_TOKEN: "${MASTODON_ACCESS_TOKEN}"
PRICE_UPDATE_INTERVAL_MINUTES: "${PRICE_UPDATE_INTERVAL_MINUTES:-15}"
ZOMBIE_ZERO_COUNT: "${ZOMBIE_ZERO_COUNT:-1000}"
HASHTAG_ACTIVE_HOURS: "${HASHTAG_ACTIVE_HOURS:-24}"
MAX_POSITION_SHARES: "${MAX_POSITION_SHARES:-100}"
MAX_POSITION_VALUE: "${MAX_POSITION_VALUE:-1000}"
FUND_MAX_POSITION_SHARES: "${FUND_MAX_POSITION_SHARES:-1000}"
FUND_MAX_POSITION_VALUE: "${FUND_MAX_POSITION_VALUE:-10000}"
TZ: "America/Toronto"
depends_on:
postgres:
condition: service_healthy
redis:
condition: service_started
restart: unless-stopped
worker:
image: reg.dev.nervesocket.com/hashex:latest
command: npm run worker:prod
environment:
DATABASE_URL: "${DATABASE_URL}"
REDIS_URL: "${REDIS_URL}"
MASTODON_INSTANCE: "${MASTODON_INSTANCE}"
MASTODON_ACCESS_TOKEN: "${MASTODON_ACCESS_TOKEN}"
WORKER_RATE_LIMIT_MS: "${WORKER_RATE_LIMIT_MS:-2000}"
PRICE_UPDATE_INTERVAL_MINUTES: "${PRICE_UPDATE_INTERVAL_MINUTES:-15}"
HASHTAG_ACTIVE_HOURS: "${HASHTAG_ACTIVE_HOURS:-24}"
MAX_PAGES_PER_HASHTAG: "${MAX_PAGES_PER_HASHTAG:-5}"
ZOMBIE_ZERO_COUNT: "${ZOMBIE_ZERO_COUNT:-1000}"
MASTODON_POST_LIMIT: "${MASTODON_POST_LIMIT:-20}"
PRICE_HISTORY_ACTIVE_DAYS: "${PRICE_HISTORY_ACTIVE_DAYS:-7}"
PRICE_HISTORY_INACTIVE_HOURS: "${PRICE_HISTORY_INACTIVE_HOURS:-24}"
TZ: "America/Toronto"
depends_on:
postgres:
condition: service_healthy
redis:
condition: service_started
restart: unless-stopped
postgres:
image: postgres:16-alpine
volumes:
- postgres_data:/var/lib/postgresql/data
environment:
POSTGRES_DB: "${POSTGRES_DB:-hashex}"
POSTGRES_USER: "${POSTGRES_USER:-hashex}"
POSTGRES_PASSWORD: "${POSTGRES_PASSWORD}"
healthcheck:
test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER:-hashex}"]
interval: 5s
timeout: 5s
retries: 10
restart: unless-stopped
redis:
image: redis:7-alpine
command: redis-server --appendonly yes
volumes:
- redis_data:/data
restart: unless-stopped
volumes:
postgres_data:
redis_data: