---
title: "Deploy Agenta Prompt Management + Evals"
description: "Agenta prompt management, evals and tracing, with owner-only org creation"
category: "AI/ML"
url: https://railway.com/deploy/agenta-prompt-management-evals
---

# Deploy Agenta Prompt Management + Evals

Agenta prompt management, evals and tracing, with owner-only org creation

**[Deploy Agenta Prompt Management + Evals on Railway](https://railway.com/template/agenta-prompt-management-evals)**

Machine-readable deploy manifest (JSON, validated by TemplateCI): https://railway.com/deploy/agenta-prompt-management-evals/manifest.json

- **Creator:** Protemplate
- **Category:** AI/ML
- **Total deploys:** 2

## Template content

### seaweedfs https://raw.githubusercontent.com/seaweedfs/seaweedfs/4.47/note/seaweedfs.png

- **Image:** chrislusf/seaweedfs:4.47
- **Start command:** `sh -c 'echo IyEvYmluL3NoCiMgUmFpbHdheSBzdGFydCBjb21tYW5kIGZvciBTZWF3ZWVkRlMgKGJhc2U2NC1lbWJlZGRlZCkuIFNhbWUgY29udGVudCBhcyB1cHN0cmVhbSdzCiMgaG9zdGluZy9yYWlsd2F5L29zcy9pbWFnZXMvc2Vhd2VlZGZzL2VudHJ5cG9pbnQuc2g6IHdyaXRlIHMzLmpzb24gKyB0aGUgYWR2YW5jZWQgSUFNIGNvbmZpZwojIChTVFMgQXNzdW1lUm9sZVdpdGhXZWJJZGVudGl0eSBhZ2FpbnN0IHRoZSBBUEkncyBKV0tTKSwgdGhlbiBzdGFydCB3ZWVkIHNlcnZlciB3aXRoIFMzIG9uIDgzMzMuCnNldCAtZXUKbWtkaXIgLXAgL2V0Yy9zZWF3ZWVkZnMgL2RhdGEKY2F0ID4gL2V0Yy9zZWF3ZWVkZnMvczMuanNvbiA8PEpTT04KeyJpZGVudGl0aWVzIjpbeyJuYW1lIjoiYWdlbnRhIiwiY3JlZGVudGlhbHMiOlt7ImFjY2Vzc0tleSI6IiR7QUdFTlRBX1NUT1JFX0FDQ0VTU19LRVl9Iiwic2VjcmV0S2V5IjoiJHtBR0VOVEFfU1RPUkVfU0VDUkVUX0tFWX0ifV0sImFjdGlvbnMiOlsiQWRtaW4iLCJSZWFkIiwiV3JpdGUiLCJMaXN0IiwiVGFnZ2luZyJdfV19CkpTT04KY2F0ID4gL2V0Yy9zZWF3ZWVkZnMvaWFtLmpzb24gPDxKU09OCnsic3RzIjp7InRva2VuRHVyYXRpb24iOiIxaCIsIm1heFNlc3Npb25MZW5ndGgiOiIxMmgiLCJpc3N1ZXIiOiJzZWF3ZWVkZnMtc3RzIiwic2lnbmluZ0tleSI6IiR7QUdFTlRBX1NUT1JFX1NJR05JTkdfS0VZfSJ9LCJwcm92aWRlcnMiOlt7Im5hbWUiOiJhZ2VudGEiLCJ0eXBlIjoib2lkYyIsImVuYWJsZWQiOnRydWUsImNvbmZpZyI6eyJpc3N1ZXIiOiIke0FHRU5UQV9TVE9SRV9KV1RfSVNTVUVSfSIsImNsaWVudElkIjoiYWdlbnRhLXN0b3JlIiwiandrc1VyaSI6IiR7QUdFTlRBX1NUT1JFX0pXVF9JU1NVRVJ9Ly53ZWxsLWtub3duL2p3a3MuanNvbiJ9fV0sInBvbGljaWVzIjpbeyJuYW1lIjoic3RvcmUtcnciLCJkb2N1bWVudCI6eyJWZXJzaW9uIjoiMjAxMi0xMC0xNyIsIlN0YXRlbWVudCI6W3siRWZmZWN0IjoiQWxsb3ciLCJBY3Rpb24iOlsiczM6KiJdLCJSZXNvdXJjZSI6WyJhcm46YXdzOnMzOjo6JHtBR0VOVEFfU1RPUkVfQlVDS0VUfSIsImFybjphd3M6czM6Ojoke0FHRU5UQV9TVE9SRV9CVUNLRVR9LyoiXX1dfX1dLCJyb2xlcyI6W3sicm9sZU5hbWUiOiJhZ2VudGEtc3RvcmUiLCJyb2xlQXJuIjoiYXJuOmF3czppYW06OnJvbGUvYWdlbnRhLXN0b3JlIiwiYXR0YWNoZWRQb2xpY2llcyI6WyJzdG9yZS1ydyJdLCJ0cnVzdFBvbGljeSI6eyJWZXJzaW9uIjoiMjAxMi0xMC0xNyIsIlN0YXRlbWVudCI6W3siRWZmZWN0IjoiQWxsb3ciLCJQcmluY2lwYWwiOnsiRmVkZXJhdGVkIjoiYWdlbnRhIn0sIkFjdGlvbiI6WyJzdHM6QXNzdW1lUm9sZVdpdGhXZWJJZGVudGl0eSJdfV19fV19CkpTT04KZXhlYyB3ZWVkIHNlcnZlciAtZGlyPS9kYXRhIC1pcD0iJChob3N0bmFtZSAtaSkiIC12b2x1bWUubWF4PTY0IC1zMyAtczMucG9ydD04MzMzIC1zMy5jb25maWc9L2V0Yy9zZWF3ZWVkZnMvczMuanNvbiAtczMuaWFtLmNvbmZpZz0vZXRjL3NlYXdlZWRmcy9pYW0uanNvbgo= | base64 -d > /tmp/seaweedfs-start.sh && exec sh /tmp/seaweedfs-start.sh'`

### api https://raw.githubusercontent.com/Agenta-AI/agenta/v0.128.7/web/oss/public/assets/logos/Agenta-symbol-dark-accent.svg

- **Image:** ghcr.io/agenta-ai/agenta-api:v0.128.7
- **Start command:** `sh -c 'echo IyEvYmluL3NoCiMgUmFpbHdheSBzdGFydCBjb21tYW5kIGZvciB0aGUgQWdlbnRhIEFQSSAoYmFzZTY0LWVtYmVkZGVkIGluIHNlcmlhbGl6ZWQtY29uZmlnLmpzb24pLgojIEZvbGRzIHVwc3RyZWFtJ3Mgb25lLXNob3QgYGFsZW1iaWNgIGNvbnRhaW5lciBpbnRvIHRoZSBBUEkgYm9vdDogd2FpdCBmb3IgUG9zdGdyZXMsCiMgY3JlYXRlIHRoZSB0aHJlZSBkYXRhYmFzZXMsIHJ1biBtaWdyYXRpb25zLCB0aGVuIHN0YXJ0IGd1bmljb3JuLiBUaGUgQVBJIG9ubHkgbGlzdGVucwojIGFmdGVyIG1pZ3JhdGlvbnMgZmluaXNoLCBzbyB0aGUgd29ya2VycyBhbmQgY3JvbiB3YWl0IG9uIGl0cyAvaGVhbHRoLgpzZXQgLWUKdW50aWwgcHNxbCAtdEFjICdTRUxFQ1QgMScgPi9kZXYvbnVsbCAyPiYxOyBkbyBlY2hvICJ3YWl0aW5nIGZvciBQb3N0Z3JlcyBhdCAkUEdIT1NUOiRQR1BPUlQiOyBzbGVlcCAyOyBkb25lCmZvciBkYiBpbiBhZ2VudGFfb3NzX2NvcmUgYWdlbnRhX29zc190cmFjaW5nIGFnZW50YV9vc3Nfc3VwZXJ0b2tlbnM7IGRvCiAgaWYgWyAiJChwc3FsIC10QWMgIlNFTEVDVCAxIEZST00gcGdfZGF0YWJhc2UgV0hFUkUgZGF0bmFtZSA9ICckZGInIikiICE9ICIxIiBdOyB0aGVuCiAgICBlY2hvICJjcmVhdGluZyBkYXRhYmFzZSAkZGIiCiAgICBwc3FsIC1xYyAiQ1JFQVRFIERBVEFCQVNFIFwiJGRiXCIiCiAgZmkKZG9uZQplY2hvICJydW5uaW5nIGRhdGFiYXNlIG1pZ3JhdGlvbnMiCnB5dGhvbiAtbSBvc3MuZGF0YWJhc2VzLnBvc3RncmVzLm1pZ3JhdGlvbnMucnVubmVyCmVjaG8gIm1pZ3JhdGlvbnMgZG9uZSwgc3RhcnRpbmcgZ3VuaWNvcm4gb24gWzo6XToke1BPUlQ6LTgwMDB9IgpleGVjIGd1bmljb3JuIGVudHJ5cG9pbnRzLnJvdXRlcnM6YXBwIFwKICAtLWJpbmQgIls6Ol06JHtQT1JUOi04MDAwfSIgXAogIC0td29ya2VyLWNsYXNzIGVudHJ5cG9pbnRzLnV2aWNvcm5fd29ya2VyLkRyYWluaW5nVXZpY29ybldvcmtlciBcCiAgLS13b3JrZXJzIDIgLS13b3JrZXItY29ubmVjdGlvbnMgMTAwMCAtLWJhY2tsb2cgMjA0OCAtLWtlZXAtYWxpdmUgNjIwIFwKICAtLW1heC1yZXF1ZXN0cyAxMDAwMDAgLS1tYXgtcmVxdWVzdHMtaml0dGVyIDEwMDAwIFwKICAtLXRpbWVvdXQgNjAgLS1ncmFjZWZ1bC10aW1lb3V0IDkwMCBcCiAgLS1sb2ctbGV2ZWwgaW5mbyAtLWFjY2Vzcy1sb2dmaWxlIC0gLS1lcnJvci1sb2dmaWxlIC0K | base64 -d > /tmp/api-start.sh && exec sh /tmp/api-start.sh'`
- **Health check:** /health

### services https://raw.githubusercontent.com/Agenta-AI/agenta/v0.128.7/web/oss/public/assets/logos/Agenta-symbol-dark-accent.svg

- **Image:** ghcr.io/agenta-ai/agenta-services:v0.128.7
- **Start command:** `gunicorn entrypoints.main:app --bind [::]:8080 --worker-class uvicorn.workers.UvicornWorker --workers 2 --worker-connections 1000 --backlog 2048 --keep-alive 620 --max-requests 10000 --max-requests-jitter 1000 --timeout 60 --graceful-timeout 60 --log-level info --access-logfile - --error-logfile -`
- **Health check:** /health

### cron https://raw.githubusercontent.com/Agenta-AI/agenta/v0.128.7/web/oss/public/assets/logos/Agenta-symbol-dark-accent.svg

- **Image:** ghcr.io/agenta-ai/agenta-api:v0.128.7
- **Start command:** `sh -c 'echo IyEvYmluL3NoCiMgUmFpbHdheSBzdGFydCBjb21tYW5kIGZvciB0aGUgQWdlbnRhIGNyb24gc2VydmljZSAoYmFzZTY0LWVtYmVkZGVkKS4KIyBVcHN0cmVhbSBjcm9uIHNjcmlwdHMgY2FsbCB0aGUgY29tcG9zZSBob3N0bmFtZSBodHRwOi8vYXBpOjgwMDAuIENvcHkgdGhlbSB0byAvdG1wIHdpdGgKIyB0aGUgQVBJJ3MgUmFpbHdheSBwcml2YXRlIGhvc3RuYW1lIGluc3RlYWQsIHRoZW4gcnVuIHN1cGVyY3JvbmljIG9uIHRoZSByZXdyaXR0ZW4gY3JvbnRhYi4Kc2V0IC1lCjogIiR7QVBJX0hPU1Q6P0FQSV9IT1NUIGlzIHJlcXVpcmVkfSIKdW50aWwgcHl0aG9uIC1jICdpbXBvcnQgb3MsdXJsbGliLnJlcXVlc3Q7IHVybGxpYi5yZXF1ZXN0LnVybG9wZW4oImh0dHA6Ly8lczo4MDAwL2hlYWx0aCIgJSBvcy5lbnZpcm9uWyJBUElfSE9TVCJdLCB0aW1lb3V0PTUpJyA+L2Rldi9udWxsIDI+JjE7IGRvCiAgZWNobyAid2FpdGluZyBmb3IgdGhlIEFnZW50YSBBUEkgYXQgJEFQSV9IT1NUOjgwMDAgKG1pZ3JhdGlvbnMpIjsgc2xlZXAgNQpkb25lCm1rZGlyIC1wIC90bXAvY3Jvbgpmb3IgZiBpbiBxdWVyaWVzIHRyaWdnZXJzIGdhdGV3YXlzOyBkbwogIHNlZCAicyNodHRwOi8vYXBpOjgwMDAjaHR0cDovLyRBUElfSE9TVDo4MDAwI2ciICIvJGYuc2giID4gIi90bXAvY3Jvbi8kZi5zaCIKZG9uZQpzZWQgLUUgJ3MjIC8ocXVlcmllc3x0cmlnZ2Vyc3xnYXRld2F5cylcLnNoIyAvdG1wL2Nyb24vXDEuc2gjJyAvYXBwL2Nyb250YWIgPiAvdG1wL2Nyb24vY3JvbnRhYgpleGVjIC91c3IvbG9jYWwvYmluL3N1cGVyY3JvbmljIC90bXAvY3Jvbi9jcm9udGFiCg== | base64 -d > /tmp/cron-start.sh && exec sh /tmp/cron-start.sh'`

### worker-streams https://raw.githubusercontent.com/Agenta-AI/agenta/v0.128.7/web/oss/public/assets/logos/Agenta-symbol-dark-accent.svg

- **Image:** ghcr.io/agenta-ai/agenta-api:v0.128.7
- **Start command:** `sh -c 'echo IyEvYmluL3NoCiMgUmFpbHdheSBzdGFydCB3cmFwcGVyIGZvciB3b3JrZXItc3RyZWFtcyAvIHdvcmtlci1xdWV1ZXMgKGJhc2U2NC1lbWJlZGRlZCkuCiMgVGhlIEFQSSBydW5zIG1pZ3JhdGlvbnMgYmVmb3JlIGl0IGxpc3RlbnMsIHNvIGEgMjAwIGZyb20gaXRzIC9oZWFsdGggbWVhbnMgdGhlIHNjaGVtYSBleGlzdHMuCnNldCAtZQo6ICIke0FQSV9IT1NUOj9BUElfSE9TVCBpcyByZXF1aXJlZH0iCnVudGlsIHB5dGhvbiAtYyAnaW1wb3J0IG9zLHVybGxpYi5yZXF1ZXN0OyB1cmxsaWIucmVxdWVzdC51cmxvcGVuKCJodHRwOi8vJXM6ODAwMC9oZWFsdGgiICUgb3MuZW52aXJvblsiQVBJX0hPU1QiXSwgdGltZW91dD01KScgPi9kZXYvbnVsbCAyPiYxOyBkbwogIGVjaG8gIndhaXRpbmcgZm9yIHRoZSBBZ2VudGEgQVBJIGF0ICRBUElfSE9TVDo4MDAwIChtaWdyYXRpb25zKSI7IHNsZWVwIDUKZG9uZQpleGVjICIkQCIK | base64 -d > /tmp/wait-api.sh && exec sh /tmp/wait-api.sh python -m entrypoints.worker_streams'`

### supertokens https://avatars.githubusercontent.com/u/50478857?v=4

- **Image:** supertokens/supertokens-postgresql:11.4.8
- **Start command:** `bash -c 'until (exec 3<>"/dev/tcp/$DB_HOST/5432") 2>/dev/null; do echo "waiting for Postgres"; sleep 2; done; exec docker-entrypoint.sh supertokens start'`
- **Health check:** /hello

### Postgres https://devicons.railway.app/i/postgresql.svg

- **Image:** ghcr.io/railwayapp-templates/postgres-ssl:17
- **Start command:** `/usr/bin/tini -g -- /usr/local/bin/wrapper.sh postgres -p 5432 -c listen_addresses=* -c max_connections=400`

### worker-queues https://raw.githubusercontent.com/Agenta-AI/agenta/v0.128.7/web/oss/public/assets/logos/Agenta-symbol-dark-accent.svg

- **Image:** ghcr.io/agenta-ai/agenta-api:v0.128.7
- **Start command:** `sh -c 'echo IyEvYmluL3NoCiMgUmFpbHdheSBzdGFydCB3cmFwcGVyIGZvciB3b3JrZXItc3RyZWFtcyAvIHdvcmtlci1xdWV1ZXMgKGJhc2U2NC1lbWJlZGRlZCkuCiMgVGhlIEFQSSBydW5zIG1pZ3JhdGlvbnMgYmVmb3JlIGl0IGxpc3RlbnMsIHNvIGEgMjAwIGZyb20gaXRzIC9oZWFsdGggbWVhbnMgdGhlIHNjaGVtYSBleGlzdHMuCnNldCAtZQo6ICIke0FQSV9IT1NUOj9BUElfSE9TVCBpcyByZXF1aXJlZH0iCnVudGlsIHB5dGhvbiAtYyAnaW1wb3J0IG9zLHVybGxpYi5yZXF1ZXN0OyB1cmxsaWIucmVxdWVzdC51cmxvcGVuKCJodHRwOi8vJXM6ODAwMC9oZWFsdGgiICUgb3MuZW52aXJvblsiQVBJX0hPU1QiXSwgdGltZW91dD01KScgPi9kZXYvbnVsbCAyPiYxOyBkbwogIGVjaG8gIndhaXRpbmcgZm9yIHRoZSBBZ2VudGEgQVBJIGF0ICRBUElfSE9TVDo4MDAwIChtaWdyYXRpb25zKSI7IHNsZWVwIDUKZG9uZQpleGVjICIkQCIK | base64 -d > /tmp/wait-api.sh && exec sh /tmp/wait-api.sh python -m entrypoints.worker_queues'`

### Redis https://devicons.railway.app/i/redis.svg

- **Image:** redis:7.4.6-alpine
- **Start command:** `sh -c 'exec docker-entrypoint.sh redis-server --requirepass "$REDIS_PASSWORD" --appendonly yes --dir /data --port 6379 --bind :: 0.0.0.0'`

### Agenta https://raw.githubusercontent.com/Agenta-AI/agenta/v0.128.7/web/oss/public/assets/logos/Agenta-symbol-dark-accent.svg

- **Image:** caddy:2.11.8-alpine
- **Start command:** `sh -c 'echo IyBBZ2VudGEgZ2F0ZXdheSAocmVwbGFjZXMgdXBzdHJlYW0ncyBUcmFlZmlrL25naW54KS4gT25lIHB1YmxpYyBkb21haW4sIHBhdGggcm91dGluZzoKIyAgIC9hcGkvKiAgICAgIC0+IGFwaSAgICAgICAgKHByZWZpeCBrZXB0OiB0aGUgQVBJIHN0cmlwcyAvYXBpIGl0c2VsZiwgbGlrZSBjb21wb3NlIFRyYWVmaWspCiMgICAvc2VydmljZXMvKiAtPiBzZXJ2aWNlcyAgIChwcmVmaXggc3RyaXBwZWQsIGxpa2UgY29tcG9zZSBUcmFlZmlrIGFuZCB1cHN0cmVhbSdzIFJhaWx3YXkgbmdpbngpCiMgICAvbSwgL20vKiAgICAtPiB3ZWItbW9iaWxlIChubyBzdHJpcDogdGhlIGFwcCBpcyBidWlsdCB3aXRoIGJhc2VQYXRoIC9tKQojICAgZXZlcnl0aGluZyBlbHNlIC0+IHdlYgojIENhZGR5IHJlLXJlc29sdmVzIHVwc3RyZWFtIGhvc3RuYW1lcyBwZXIgY29ubmVjdGlvbiwgc28gYSByZWRlcGxveSAobmV3IHByaXZhdGUgSVApCiMgZG9lcyBub3Qgc3RyYW5kIHRoZSBnYXRld2F5IHRoZSB3YXkgYSBsaXRlcmFsIG5naW54IHByb3h5X3Bhc3MgZG9lcy4KewoJYXV0b19odHRwcyBvZmYKCWFkbWluIG9mZgoJc2VydmVycyB7CgkJcHJvdG9jb2xzIGgxIGgyYwoJCXRydXN0ZWRfcHJveGllcyBzdGF0aWMgcHJpdmF0ZV9yYW5nZXMgMTAwLjY0LjAuMC8xMAoJfQp9Cgo6eyRQT1JUfSB7CgloYW5kbGUgL2dhdGV3YXktaGVhbHRoIHsKCQlyZXNwb25kICJvayIgMjAwCgl9CgloYW5kbGUgL2FwaS8qIHsKCQlyZXZlcnNlX3Byb3h5IHskQVBJX1VQU1RSRUFNfQoJfQoJaGFuZGxlX3BhdGggL3NlcnZpY2VzLyogewoJCXJldmVyc2VfcHJveHkgeyRTRVJWSUNFU19VUFNUUkVBTX0KCX0KCUBtb2JpbGUgcGF0aCAvbSAvbS8qCgloYW5kbGUgQG1vYmlsZSB7CgkJcmV2ZXJzZV9wcm94eSB7JFdFQl9NT0JJTEVfVVBTVFJFQU19Cgl9CgloYW5kbGUgewoJCXJldmVyc2VfcHJveHkgeyRXRUJfVVBTVFJFQU19Cgl9Cn0K | base64 -d > /etc/caddy/Caddyfile && exec caddy run --config /etc/caddy/Caddyfile --adapter caddyfile'`
- **Health check:** /gateway-health
- **Public domain:** Yes

### web-mobile https://raw.githubusercontent.com/Agenta-AI/agenta/v0.128.7/web/oss/public/assets/logos/Agenta-symbol-dark-accent.svg

- **Image:** ghcr.io/agenta-ai/agenta-web-mobile:v0.128.7

### runner https://raw.githubusercontent.com/Agenta-AI/agenta/v0.128.7/web/oss/public/assets/logos/Agenta-symbol-dark-accent.svg

- **Image:** ghcr.io/agenta-ai/agenta-runner:v0.128.7
- **Health check:** /health

### web https://raw.githubusercontent.com/Agenta-AI/agenta/v0.128.7/web/oss/public/assets/logos/Agenta-symbol-dark-accent.svg

- **Image:** ghcr.io/agenta-ai/agenta-web:v0.128.7
- **Start command:** `/app/entrypoint.sh node /app/oss/server.js`

## Documentation

# Deploy and Host Agenta Prompt Management + Evals on Railway

Agenta is an open source LLMOps platform. Teams use it to version and deploy prompts, compare models side by side in a playground, run evaluations against test sets with built in or custom evaluators, collect human annotations, and trace LLM calls in production. Developers and product people work on the same prompts, and applications fetch the deployed version through the API or SDK.

## About Hosting Agenta

Agenta's self host stack is not a single container. Upstream's compose runs a web app, a mobile web app, the API, a workflow services backend, an agent runner, stream and queue workers, a cron service, a migration job, SuperTokens for auth, PostgreSQL, Redis, a SeaweedFS object store and a Traefik proxy.

This template deploys that stack on Railway, pinned to v0.128.7, behind one public domain. A Caddy gateway does the path routing upstream's Traefik does (`/api`, `/services`, `/m`, and the web app). The API creates its three databases and runs migrations on boot, so there is no separate migration job to sequence, and the workers wait for it. Every secret is generated at deploy time and shared between services through references.

## Common Use Cases

- **Prompt management**: version prompts, deploy them to environments, and fetch the live version from your app
- **Prompt playground**: compare prompts and models side by side before shipping a change
- **Evaluations**: run test sets through LLM as a judge, code and built in evaluators, or human review
- **Observability**: trace LLM calls (OpenTelemetry compatible) and turn production traces into test cases

## Dependencies for Agenta Hosting

- **PostgreSQL**: included (three databases: core, tracing, SuperTokens)
- **Redis**: included (cache, streams and task queues)
- **SeaweedFS**: included (object store for agent files)
- **SuperTokens**: included (authentication)
- **An LLM provider key**: not needed to boot; add it per project in the UI

### Deployment Dependencies

- [Agenta self hosting quick start](https://docs.agenta.ai/self-host/quick-start)
- [Agenta configuration reference](https://docs.agenta.ai/self-host/configuration)
- [Restrict sign ups and organization creation](https://docs.agenta.ai/self-host/guides/restrict-organization-creation)
- [Agenta GitHub repository](https://github.com/Agenta-AI/agenta)

### Implementation Details

13 services, one public domain (the **Agenta** gateway).

```env
# api (generated unless noted)
AGENTA_ACCESS_ALLOWED_OWNER_EMAILS=you@yourcompany.com   # required, you set it
AGENTA_AUTH_KEY=${{secret(64,"abcdef0123456789")}}
AGENTA_CRYPT_KEY=${{secret(64,"abcdef0123456789")}}
AGENTA_SERVICES_INTERNAL_KEY=${{secret(64,"abcdef0123456789")}}
AGENTA_RUNNER_TOKEN=${{secret(64,"abcdef0123456789")}}
POSTGRES_URI_CORE=postgresql+asyncpg://${{Postgres.POSTGRES_USER}}:${{Postgres.POSTGRES_PASSWORD}}@${{Postgres.RAILWAY_PRIVATE_DOMAIN}}:5432/agenta_oss_core
REDIS_URI=redis://default:${{Redis.REDIS_PASSWORD}}@${{Redis.RAILWAY_PRIVATE_DOMAIN}}:6379/0
SUPERTOKENS_URI_CORE=http://${{supertokens.RAILWAY_PRIVATE_DOMAIN}}:3567

# Agenta (gateway)
AGENTA_PUBLIC_URL=https://${{RAILWAY_PUBLIC_DOMAIN}}
```

The first deploy takes a few minutes while the API runs migrations on an empty database.

## First Steps After Deploy

1. Open the **Agenta** service domain and **sign up with the email you put in `AGENTA_ACCESS_ALLOWED_OWNER_EMAILS`**. Only listed emails get an organization. Anyone else who signs up gets no organization and no access until you invite them, so a stranger who finds the URL cannot claim the instance. To block outside sign ups entirely, also set `AGENTA_ACCESS_ALLOWED_DOMAINS` on the api service.
2. Add a model provider key (OpenAI, Anthropic, and others) in your project settings.
3. Create a prompt in the playground, commit a variant, and deploy it to an environment.
4. Create an API key and fetch the deployed prompt from your app with the SDK (`AGENTA_HOST` = your domain) or `https:///api` with `Authorization: ApiKey `.
5. Invite teammates from Settings &gt; Workspace &gt; Members.

Notes: the agent runner runs without FUSE mounts on Railway (prompt management, evaluations and tracing are unaffected; use the Daytona sandbox provider for agents). Telemetry to Agenta is off. The stack needs the Hobby plan or above.

## Why Deploy Agenta on Railway?

Railway is a singular platform to deploy your infrastructure stack. Railway will host your infrastructure so you don't have to deal with configuration, while allowing you to vertically and horizontally scale it.

By deploying Agenta on Railway, you get the full open source LLMOps stack with generated secrets, managed PostgreSQL and Redis volumes, private networking between every service, health checks, and managed SSL on a single domain.


## Similar templates

- [Chat Chat](https://railway.com/deploy/-WWW5r) — Chat Chat, your own unified chat and search to AI platform.
- [Weaviate](https://railway.com/deploy/weaviate-1) — Vector database with hybrid search and an API key-protected API
- [Möbius v0.1 Personal AI OS](https://railway.com/deploy/mobius-v01-personal-ai-os) — Self-hosted AI agent that builds and runs apps for you, with memory.

Open this page in a browser: https://railway.com/deploy/agenta-prompt-management-evals
