-
Notifications
You must be signed in to change notification settings - Fork 1
Deployment
Three supported deployment targets: Railway (managed cloud), Docker Compose (self-hosted), and Windows Daemon (local service).
Merge a PR into develop to trigger a Railway staging deploy via GitHub Actions.
Requires:
RAILWAY_TOKENset in GitHub repository secrets.
npm install -g @railway/cli
railway login
railway link
railway upSet these in the Railway dashboard:
| Variable | Notes |
|---|---|
SECRET_KEY |
Generate with openssl rand -hex 32
|
GROQ_API_KEY |
Free — 14,400 req/day |
GEMINI_API_KEY |
Free — 1,500 req/day |
DATABASE_URL |
Use Railway PostgreSQL plugin |
REDIS_URL |
Use Railway Redis plugin |
ENV |
production |
DEBUG |
false |
The Dockerfile uses a 3-stage multi-stage build:
| Stage | Purpose |
|---|---|
builder |
Installs Python dependencies |
model_cache |
Pre-bakes faster-whisper small model (~460 MB) — eliminates cold-start |
runtime |
Minimal production image, non-root user amadeus
|
alembic upgrade head && uvicorn src.api.server:app --host 0.0.0.0 --port $PORTMigrations run automatically before each deploy.
docker-compose up --build
# API available at http://localhost:8000
# Interactive docs at http://localhost:8000/docs# Set POSTGRES_PASSWORD and SECRET_KEY in .env first
docker-compose --profile prod up --build -d
# View logs
docker-compose logs -f api-prod
# Stop
docker-compose --profile prod downThe production profile runs Gunicorn with 4 Uvicorn workers with resource limits:
- CPU: 2 cores
- Memory: 1 GB
Redis and PostgreSQL ports are not exposed to the host — internal network only.
amadeus-network (bridge)
├── api-prod (port 8000 exposed)
├── postgres (port 5432 — internal only)
└── redis (port 6379 — internal only)
python scripts/build_backend_binary.py
# or
python scripts/build_windows.pyRun PowerShell as Administrator:
powershell -ExecutionPolicy Bypass -File scripts\install_windows_service.ps1- Uses NSSM (auto-downloaded if not present)
- Service auto-starts on boot
- Logs written to
data\logs\
Start_Amadeus.batThe following tools require pywin32 and only function on Windows:
send_outlook_emailread_outlook_emailscreate_excel_spreadsheetcreate_word_document
Amadeus-AI · v6.0.0· Apache License 2.0 · Report a Bug
Getting Started
Architecture
Reference
Integrations
Operations
Development
Project
Links