---
title: "Deploy OneUptime"
description: "Open-source monitoring, observability, incidents, and status pages"
category: "Observability"
url: https://railway.com/deploy/oneuptime
---

# Deploy OneUptime

Open-source monitoring, observability, incidents, and status pages

**[Deploy OneUptime on Railway](https://railway.com/template/oneuptime)**

- **Creator:** Hosmel Quintana's Projects
- **Category:** Observability

## Template content

### ai-agent https://raw.githubusercontent.com/OneUptime/oneuptime/release/MobileApp/assets/adaptive-icon.png

- **Image:** oneuptime/ai-agent:11.5.10
- **Health check:** /status/ready

### clickhouse https://devicons.railway.app/ClickHouse

- **Image:** clickhouse/clickhouse-server:25.7
- **Start command:** `sh -c 'printf "%s" "$ONEUPTIME_CLICKHOUSE_CONFIG_B64" | base64 -d | tar -xz -C / && exec /entrypoint.sh'`
- **Health check:** /ping

### probe https://raw.githubusercontent.com/OneUptime/oneuptime/release/MobileApp/assets/adaptive-icon.png

- **Image:** oneuptime/probe:11.5.10
- **Health check:** /status/ready

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

- **Image:** ghcr.io/railwayapp-templates/postgres-ssl:18

### Redis https://cdn.sanity.io/images/sy1jschh/production/0ce0bfdcfbdbf69662b1116671f97c2dd788b655-157x157.svg

- **Image:** redis:8.2.1
- **Start command:** `/bin/sh -c "rm -rf $RAILWAY_VOLUME_MOUNT_PATH/lost+found/ && exec docker-entrypoint.sh redis-server --requirepass $REDIS_PASSWORD --save 60 1 --dir $RAILWAY_VOLUME_MOUNT_PATH"`

### ingress https://devicons.railway.app/Nginx

- **Image:** oneuptime/nginx:11.5.10
- **Start command:** `bash -c "until curl -fsS \"http://${SERVER_APP_HOSTNAME}:${APP_PORT}/status/ready\" >/dev/null; do sleep 2; done && export NGINX_LISTEN_ADDRESS=\"${NGINX_LISTEN_ADDRESS:-}\" NGINX_LISTEN_OPTIONS=\"${NGINX_LISTEN_OPTIONS:-}\" PROVISION_SSL=\"${PROVISION_SSL:-}\" && cp run.sh /tmp/run-railway.sh && sed -i '/^NGINX_RESOLVER=/a [[ \"$NGINX_RESOLVER\" == *:* ]] && NGINX_RESOLVER=\"[$NGINX_RESOLVER]\"' /tmp/run-railway.sh && chmod +x /tmp/run-railway.sh && exec /tmp/run-railway.sh"`
- **Health check:** /status/ready
- **Public domain:** Yes

### app https://raw.githubusercontent.com/OneUptime/oneuptime/release/MobileApp/assets/adaptive-icon.png

- **Image:** oneuptime/app:11.5.10
- **Health check:** /status/ready

## Documentation

# Deploy and Host OneUptime on Railway

OneUptime is an open-source platform for monitoring, observability, and incident response. Monitor websites and APIs, manage incidents and on-call schedules, collect telemetry, and publish status pages from one place.

## About Hosting OneUptime

This template deploys OneUptime with its App, Gateway, Probe, and AI Agent services. PostgreSQL stores application data, Redis handles caching and background jobs, and ClickHouse stores observability data. Railway provides private networking, persistent storage, generated secrets, healthchecks, and a public HTTPS domain. After deployment, open the generated domain and create the first account.

## Common Use Cases

- Monitor websites and APIs
- Manage incidents and on-call schedules
- Collect logs, metrics, and traces
- Publish public status pages

## Dependencies for OneUptime Hosting

- PostgreSQL for application data
- Redis for caching and background jobs
- ClickHouse for observability data

### Deployment Dependencies

- [OneUptime](https://oneuptime.com/)
- [Documentation](https://oneuptime.com/docs/)
- [GitHub](https://github.com/OneUptime/oneuptime)

### Implementation Details

Railway exposes the OneUptime Gateway and keeps the remaining services on the private network. PostgreSQL, Redis, and ClickHouse use persistent volumes, while passwords and application secrets are generated automatically.

ICMP/ping monitors, Docker socket access, and inbound UDP collectors are not supported by Railway's normal runtime. Custom domains and notification providers require configuration after deployment. Outbound SMTP is only available on Railway's Pro plan and above; Free, Trial, and Hobby deployments can use a transactional email provider with an HTTPS API. See [Railway's outbound networking documentation](https://docs.railway.com/networking/outbound-networking#email-delivery).

## Why Deploy OneUptime 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 OneUptime on Railway, you are one step closer to supporting a complete full-stack application with minimal burden. Host your servers, databases, AI agents, and more on Railway.


## Similar templates

- [Pyroscope profiling](https://railway.com/deploy/pyroscope-profiling) — Protected continuous profiling with durable Pyroscope storage.
- [SigOnly](https://railway.com/deploy/sigonly) — Deploy SigNoz with a working demo app & config in one click
- [Unwrapped Spotify Music Stats](https://railway.com/deploy/wide-bold) — Unwrapped Spotify Music Stats, Estatísticas de músicas disponíveis

Open this page in a browser: https://railway.com/deploy/oneuptime
