---
title: "Deploy Databasus"
description: "Databasus 3.60 scheduled backups for Postgres, MySQL and MongoDB with a UI."
category: "Storage"
url: https://railway.com/deploy/databasus-1
---

# Deploy Databasus

Databasus 3.60 scheduled backups for Postgres, MySQL and MongoDB with a UI.

**[Deploy Databasus on Railway](https://railway.com/template/databasus-1)**

Machine-readable deploy manifest (JSON, validated by TemplateCI): https://railway.com/deploy/databasus-1/manifest.json

- **Creator:** Agaz Self-Host
- **Category:** Storage

## Template content

### databasus https://raw.githubusercontent.com/databasus/databasus/v3.60.0/assets/logo-square.png

- **Image:** databasus/databasus:v3.60.0
- **Start command:** `bash -c '/app/start.sh & pid=$!; trap "kill -TERM $pid; wait $pid; exit 0" TERM INT; req(){ exec 3<>/dev/tcp/127.0.0.1/4005 || return 1; A=""; [ -n "$4" ] && A="Authorization: Bearer $4\r\n"; printf "%s /api/v1%s HTTP/1.0\r\nHost: localhost\r\nContent-Type: application/json\r\n%bContent-Length: %s\r\n\r\n%s" "$1" "$2" "$A" "${#3}" "$3" >&3; cat <&3; exec 3<&-; }; until req GET /system/version "" "" 2>/dev/null | grep -q " 200 "; do kill -0 $pid 2>/dev/null || exit 1; sleep 2; done; if req GET /users/is-any-user-exist "" "" | grep -q "\"isExist\":false"; then T=$(req POST /users/signup "{\"email\":\"$DATABASUS_ADMIN_EMAIL\",\"password\":\"$DATABASUS_ADMIN_PASSWORD\",\"name\":\"Admin\"}" "" | sed -n "s/.*\"token\":\"\([^\"]*\)\".*/\1/p"); if [ -n "$T" ] && req PUT /users/settings "{\"isAllowExternalRegistrations\":false,\"isAllowMemberInvitations\":false,\"isMemberAllowedToCreateWorkspaces\":false}" "$T" | grep -q " 200 "; then echo "databasus: admin $DATABASUS_ADMIN_EMAIL created, external sign-up closed"; else echo "databasus: admin bootstrap failed" >&2; fi; fi; wait $pid'`
- **Health check:** /api/v1/system/health
- **Public domain:** Yes

## Documentation

# Deploy and Host Databasus on Railway

Databasus is a database backup tool with a web UI. It schedules logical and physical backups of PostgreSQL, MySQL, MariaDB and MongoDB, keeps them with retention policies, verifies restores, and stores them locally or in S3, Google Drive, Azure, SFTP, FTP, NAS or any rclone remote, with notifications to Slack, Discord, Telegram and email.

## About Hosting Databasus

This template deploys Databasus v3.60.0 from the official image. Its own metadata lives in an internal Postgres on a Railway volume, together with local backups. On first start the admin account is created from environment variables and external sign-up, member invitations and member workspaces are turned off, so nobody else can register. Add your Railway databases over the private network, for example `postgres.railway.internal`, and choose a schedule. For off-site copies, add an S3 or other remote storage. Watch the volume size if backups stay local on the Hobby plan. Restore verification can test backups automatically.

## Common Use Cases

- Scheduled, verified backups of Railway Postgres, MySQL and MongoDB databases
- Sending database backups to S3-compatible storage with retention rules
- Restore drills and backup alerts for small teams

## Dependencies for Databasus Hosting

- `databasus/databasus:v3.60.0` (official image, includes its own Postgres 17)
- A Railway volume at `/databasus-data` for metadata and local backups

### Deployment Dependencies

- [Databasus documentation](https://databasus.com/)
- [Databasus v3.60.0 release](https://github.com/databasus/databasus/releases/tag/v3.60.0)
- [Databasus on GitHub](https://github.com/databasus/databasus)
- [Railway private networking](https://docs.railway.com/reference/private-networking)

### Implementation Details

| Service | Image | Networking | Storage |
| --- | --- | --- | --- |
| databasus | `databasus/databasus:v3.60.0` | public domain on 4005; private | volume at `/databasus-data` |

Sign in with `DATABASUS_ADMIN_EMAIL` and `DATABASUS_ADMIN_PASSWORD`, create a workspace, add a database with its private host (for example `${{Postgres.PGHOST}}`), choose a storage and enable backups.

| Variable | Default | Purpose |
| --- | --- | --- |
| `DATABASUS_ADMIN_EMAIL` / `DATABASUS_ADMIN_PASSWORD` | `admin@example.com` / generated | Admin, created on first start |
| `DATABASUS_URL` | `https://` | Public URL for links |
| `IS_DISABLE_ANONYMOUS_TELEMETRY` | `true` | Telemetry off |

Notes:

- The start command runs the image's `start.sh`, then creates the admin and closes sign-up through the API; keep it when editing the service.
- Local backups share the volume with Databasus itself; use remote storage for real off-site copies.

This is a community-maintained deployment package and does not imply affiliation with or endorsement by the Databasus project or its maintainers.

## Why Deploy Databasus 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 Databasus 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

- [Garage S3 Storage](https://railway.com/deploy/garage-s3-storage) — Ultra-light S3 server: fast, open-source, plug-and-play.
- [Redis](https://railway.com/deploy/redis-1) — Self Host Latest Redis with Railway
- [EasyImg](https://railway.com/deploy/easyimg) — Simple self-hostable Nuxt.js personal image hosting system.

Open this page in a browser: https://railway.com/deploy/databasus-1
