{ "$schema": "https://railway.app/railway.schema.json", "build": { "dockerfilePath": "deploy/Dockerfile" }, "deploy": { "startCommand": "python3 -m deploy.start", "healthcheckPath": "/status", "healthcheckTimeout": 30, "restartPolicyType": "ON_FAILURE", "restartPolicyMaxRetries": 5 }, "variables": { "AUTH_PASSWORD": { "description": "Password to access your archiver web interface", "required": true }, "GSHEET_URL": { "description": "Google Sheet URL to monitor for new URLs (leave empty to disable)", "required": false, "default": "" }, "GOOGLE_SERVICE_ACCOUNT_JSON": { "description": "Full JSON contents of your Google service account key (required for Sheets)", "required": false, "default": "" }, "POLL_INTERVAL": { "description": "Seconds between Google Sheet checks (min 60)", "required": false, "default": "300" }, "S3_BUCKET": { "description": "S3 bucket name for storage (leave empty for local-only)", "required": false, "default": "" }, "S3_KEY": { "description": "S3 access key ID", "required": false, "default": "" }, "S3_SECRET": { "description": "S3 secret access key", "required": false, "default": "" }, "S3_REGION": { "description": "S3 region (e.g. us-east-1, nyc3 for DO Spaces)", "required": false, "default": "us-east-1" }, "S3_ENDPOINT": { "description": "S3 endpoint URL template", "required": false, "default": "https://s3.{region}.amazonaws.com" }, "S3_CDN_URL": { "description": "Public CDN URL template for archived files", "required": false, "default": "https://{bucket}.s3.{region}.amazonaws.com/{key}" }, "TELEGRAM_API_ID": { "description": "Telegram API ID from https://my.telegram.org", "required": false, "default": "" }, "TELEGRAM_API_HASH": { "description": "Telegram API hash from https://my.telegram.org", "required": false, "default": "" }, "TELEGRAM_BOT_TOKEN": { "description": "Telegram bot token from @BotFather", "required": false, "default": "" }, "ENABLE_SCREENSHOTS": { "description": "Set to true to capture full-page screenshots", "required": false, "default": "false" }, "ENABLE_THUMBNAILS": { "description": "Set to true to generate video thumbnails", "required": false, "default": "false" }, "ENABLE_CSV_DB": { "description": "Set to true to save a CSV log of archived items", "required": false, "default": "false" }, "LOG_LEVEL": { "description": "Logging level: DEBUG, INFO, WARNING, ERROR", "required": false, "default": "INFO" } } }