diff --git a/docker-compose.yml b/docker-compose.yml index ec4b69b..1255d3f 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,6 +3,7 @@ services: build: context: . dockerfile: Dockerfile + pull_policy: build ports: - "${APP_PORT:-3000}:3000" environment: @@ -34,10 +35,11 @@ services: build: context: . dockerfile: worker/Dockerfile + pull_policy: build environment: - DATABASE_URL=postgresql://${POSTGRES_USER:-dragons}:${POSTGRES_PASSWORD:-stash}@db:5432/${POSTGRES_DB:-dragonsstash} - - TELEGRAM_API_ID=${TELEGRAM_API_ID:?Set TELEGRAM_API_ID in .env} - - TELEGRAM_API_HASH=${TELEGRAM_API_HASH:?Set TELEGRAM_API_HASH in .env} + - TELEGRAM_API_ID=${TELEGRAM_API_ID:-} + - TELEGRAM_API_HASH=${TELEGRAM_API_HASH:-} - WORKER_INTERVAL_MINUTES=${WORKER_INTERVAL_MINUTES:-60} - WORKER_TEMP_DIR=/tmp/zips - TDLIB_STATE_DIR=/data/tdlib @@ -65,11 +67,12 @@ services: build: context: . dockerfile: bot/Dockerfile + pull_policy: build environment: - DATABASE_URL=postgresql://${POSTGRES_USER:-dragons}:${POSTGRES_PASSWORD:-stash}@db:5432/${POSTGRES_DB:-dragonsstash} - - BOT_TOKEN=${BOT_TOKEN:?Set BOT_TOKEN in .env} - - TELEGRAM_API_ID=${TELEGRAM_API_ID:?Set TELEGRAM_API_ID in .env} - - TELEGRAM_API_HASH=${TELEGRAM_API_HASH:?Set TELEGRAM_API_HASH in .env} + - BOT_TOKEN=${BOT_TOKEN:-} + - TELEGRAM_API_ID=${TELEGRAM_API_ID:-} + - TELEGRAM_API_HASH=${TELEGRAM_API_HASH:-} - LOG_LEVEL=${LOG_LEVEL:-info} volumes: - tdlib_bot_state:/data/tdlib diff --git a/worker/src/index.ts b/worker/src/index.ts index 1407f56..1bc1842 100644 --- a/worker/src/index.ts +++ b/worker/src/index.ts @@ -13,6 +13,11 @@ async function main(): Promise { log.info("DragonsStash Telegram Worker starting"); log.info({ config: { ...config, databaseUrl: "***" } }, "Configuration loaded"); + if (!config.telegramApiId || !config.telegramApiHash) { + log.fatal("TELEGRAM_API_ID and TELEGRAM_API_HASH are both required"); + process.exit(1); + } + // Ensure temp directory exists await mkdir(config.tempDir, { recursive: true }); await mkdir(config.tdlibStateDir, { recursive: true });