Deploy Outerbase Studio
Browser-based GUI for Postgres, MySQL, and SQLite databases
Outerbase Studio
Just deployed
/app/data
Outerbase Studio for railway.app
Deploy Outerbase Studio on Railway with one click.
Deploy and Host Outerbase Studio on Railway
Outerbase Studio is a lightweight, open-source database GUI that runs in your browser and connects
to Postgres, MySQL, and SQLite. This template packages the community-maintained
chewcw/outerbase-studio Docker image so you can deploy a working instance on Railway in a single
click, without installing a desktop database client or managing a server yourself.
About Hosting Outerbase Studio
Outerbase Studio serves its UI from a single container and connects to your databases directly from the browser session. Hosting it on Railway means Railway builds the Docker image, terminates TLS on a public domain, and keeps the container restarted and healthy — you only manage the database connections you add inside the app.
Why Deploy Outerbase Studio on Railway
- Zero infrastructure management — no VM or Docker host to patch or size
- Instant HTTPS — Railway issues a public domain with TLS out of the box
- Basic-auth gate included —
STUDIO_USER/STUDIO_PASSWORDkeep the public domain from being wide open - Automatic rebuilds — Renovate keeps the pinned upstream image current, Railway redeploys on push
- Team access — invite teammates to the same Railway project instead of sharing local installs
Common Use Cases
- A lightweight, browser-based SQL client for a database already running on Railway
- Giving a small team shared query access without installing a desktop SQL client each
- Ad-hoc data exploration and debugging against Postgres, MySQL, or SQLite
- A disposable database GUI you can spin up per project instead of a shared, long-lived instance
Dependencies for Outerbase Studio
- The community
chewcw/outerbase-studioDocker image (pinned tag, seeDockerfile) STUDIO_USERandSTUDIO_PASSWORDenvironment variables for basic auth- Network access to whichever databases you connect to from within the app
✨ Features
- Outerbase Studio on Railway with a Dockerfile build
- Pinned upstream image so Renovate can raise update PRs
- Healthcheck and restart policy preconfigured
- Persistent volume mount path declared
🚀 Quick Start
- Click "Deploy on Railway"
- Set the environment variables listed below
- Attach a volume at
/app/databefore sending production traffic - Wait for the build and open the generated URL
⚙️ Configuration
Environment variables
STUDIO_USER=admin
STUDIO_PASSWORD=changeme
Set real credentials as Railway variables, never in a file inside this repository. Confirmed on a live deployment: the container refuses to start (or crash-loops) without these two set.
💾 Persistence
railway.toml declares requiredMountPath = "/app/data". Attach a Railway volume to that
path before production traffic, otherwise all data is lost on every redeploy.
⚠️ Known limitations
This template uses the community-maintained chewcw/outerbase-studio
image (pinned at v0.9.2), because the upstream outerbase/studio
project has no official Docker image yet (tracking discussion).
- The image ignores
$PORTand always binds to8080internally, regardless of what Railway sets — confirmed on a live deployment. This is harmless: Railway's proxy auto-detects the listening port, so the generated domain still routes correctly with nostartCommandneeded. /app/datais a precautionary mount path; it is not confirmed that the image persists anything there, since Outerbase Studio normally keeps connections in the browser rather than server-side.
🐳 Local Development
git clone https://github.com/vergissberlin/railwayapp-outerbase-studio.git
cd railwayapp-outerbase-studio
cp .env.example .env
docker compose up -d
Then open http://localhost:3000 (mapped to the container's internal port 8080).
🪲 Bug Reporting
Found a bug? Create an issue or open a pull request with a fix.
🤝 Contributing
See CONTRIBUTING.md.
📝 License
MIT — see LICENSE.
🔒 Security
- All credentials are supplied as environment variables, never committed
- Railway terminates TLS for the generated domain
- Renovate keeps the pinned upstream image up to date
Railway runtime defaults
railway.toml ships these defaults:
- Healthcheck path:
/ - Restart policy:
ON_FAILUREwith up to 10 retries - Dockerfile-based build
Outerbase Studio ignores $PORT and always listens on 8080; Railway's proxy auto-detects this,
so no start command is configured.
📚 Resources
Template Content
Outerbase Studio
vergissberlin/railwayapp-outerbase-studioSTUDIO_USER
STUDIO_PASSWORD
