Click the button below or follow manual steps:
arangodb/arangodb:3.12ARANGO_ROOT_PASSWORD: (choose a secure password)arangodb.railway.internal:8529picsumvision repositoryARANGO_DB_URL=http://arangodb.railway.internal:8529
ARANGO_USER=root
ARANGO_PASS=<your-password-from-step-A>
ARANGO_DB_NAME=picsumvision
FLASK_APP=server.server
FLASK_ENV=production
Procfile and deployAfter first deployment:
railway run python scripts/onboard.py
# Option A: Restore from backup
railway run python scripts/restore.py
# Option B: Populate fresh data (requires Google Vision API)
railway run python scripts/populate.py
ARANGO_DB_URL: Internal Railway URL to ArangoDBARANGO_USER: ArangoDB username (default: root)ARANGO_PASS: ArangoDB passwordARANGO_DB_NAME: Database name (default: picsumvision)FLASK_APP: server.serverFLASK_ENV: production (recommended)GOOGLE_APPLICATION_CREDENTIALS: Only needed for yarn db:populateThe project uses a multi-stage Dockerfile for building on Railway. Key files:
Dockerfile: Multi-stage build that compiles both backend (Python) and frontend (React)railway.json: Railway service configuration.dockerignore: Optimizes build by excluding unnecessary fileswsgi.py: WSGI entry point for GunicornBuild Process:
Note: The multi-stage build keeps the final image size small while ensuring both Python and Node.js dependencies are properly handled.
┌─────────────────────┐
│ Railway Project │
├─────────────────────┤
│ │
│ ┌───────────────┐ │
│ │ Web Service │ │ (Your App)
│ │ Port: $PORT │ │
│ └───────┬───────┘ │
│ │ │
│ │ Internal │
│ │ Network │
│ │ │
│ ┌───────▼───────┐ │
│ │ ArangoDB │ │ (Database)
│ │ Port: 8529 │ │
│ └───────────────┘ │
│ │
└─────────────────────┘
Railway provides $5 in free credits per month:
arangodb.railway.internalrailway logspyproject.tomlwsgi.py is presentrailway.json# Install Railway CLI
npm install -g @railway/cli
# Login
railway login
# Link to your project
railway link
# View logs
railway logs
# Run commands
railway run <command>
# Open dashboard
railway open
# Push to main branch
git push origin main
# Railway will automatically deploy
See main README.md for local setup instructions.