Deploy ai-native-callcenter
AI-native call center with embedded UI, PostgreSQL, and FreeSWITCH.
freeswitch
Just deployed
postgres
Just deployed
/var/lib/postgresql
Just deployed
Deploy and Host AI Native Call Center on Railway
AI Native Call Center is an open-source, AI-first contact-center platform with an embedded browser UI, REST API, live events, PostgreSQL-backed history, and FreeSWITCH telephony integration. The template provides a ready-to-use demo workspace with seeded users, queues, flows, and call records, while keeping provider credentials and persistent database state configurable.
About Hosting AI Native Call Center on Railway
Railway runs the application, PostgreSQL, and FreeSWITCH as separate Docker-image services connected over Railway private networking. The app exposes the browser UI and API on HTTPS; PostgreSQL state is persisted on a Railway volume. The default demo login is admin; its password is generated from AICC_SEED_PASSWORD.
Tech Stack
- Go 1.27 single-binary application
- Embedded React SPA
- PostgreSQL 18
- FreeSWITCH 1.11.3 with mod_audio_stream
- Railway private networking and persistent volumes
- Docker Hub images pinned to the v0.5.0 release
Why Deploy AI Native Call Center on Railway
Railway provisions the full service topology from pinned containers, supplies private service DNS automatically, provides HTTPS for the web interface, and keeps database data on a managed persistent volume. Environment references make the database and switch wiring reproducible without source builds or repository-connected deployments.
Common Use Cases
- Explore an AI-native call-center dashboard with seeded demo history
- Integrate the REST API and SSE event stream
- Prototype queues, agents, call flows, and reporting
- Connect an OpenAI-compatible voice provider after adding its API key
- Run FreeSWITCH and the application together for private-network telephony experiments
Deployment Notes
The app listens on container port 8080; Railway routes the generated HTTPS domain to that port. The initial administrator username is the fixed upstream seed username admin, and AICC_SEED_PASSWORD is generated per deployment. PostgreSQL persists /var/lib/postgresql. The demo seed is enabled and the AI path is disabled by default until a real provider key is supplied. Set AICC_PROVIDER and the matching provider key, then enable AICC_BOT_ENABLED for AI calls. The FreeSWITCH service is private because public SIP/RTP exposure requires a Railway networking arrangement that supports the required telephony transports; the web UI and API remain publicly reachable.
Dependencies for AI Native Call Center on Railway
The app depends on PostgreSQL for migrations, users, flows, call records, and the event ledger. It connects to FreeSWITCH over Railway private DNS for ESL control; FreeSWITCH reads the app database's luacc.* views and sends private bot traffic to the app. The app is the only HTTP service and the only service with a public domain.
Deployment Dependencies
| Service | Image | Port | Volume |
|---|---|---|---|
| app | rasonyang/ai-native-callcenter:v0.5.0 | 8080 | - |
| postgres | postgres:18 | 5432 | /var/lib/postgresql |
| freeswitch | rasonyang/freeswitch-aicc:v0.5.0 | 18021 | - |
Template Content
freeswitch
rasonyang/freeswitch-aicc:v0.5.0FS_DOMAIN
FS_ESL_PORT
AICC_BOT_HOST
AICC_BOT_PORT
FS_ESL_PASSWORD
FS_RTP_END_PORT
FS_ESL_LISTEN_IP
FS_RTP_START_PORT
AICC_TRANSCRIPTION_ENABLED
postgres
postgres:18POSTGRES_DB
POSTGRES_USER
POSTGRES_PASSWORD
PORT
AICC_ENV
AICC_SEED
AICC_ESL_ADDR
AICC_PROVIDER
AICC_HTTP_ADDR
AICC_BOT_ENABLED
AICC_METRICS_ADDR
AICC_SEED_PASSWORD
AICC_SECURE_COOKIES
