# Aven

> Aven is an open-source, self-hosted platform for apps, databases and background jobs. Connect a repository, get a domain with TLS, add Postgres in one click.

- Website: https://install.aven.turin.my (Korean: https://install.aven.turin.my/ko)
- Source: https://github.com/turin-dev/aven (AGPL-3.0)
- Latest release: v0.1.2
- Install: `curl -fsSL https://install.aven.turin.my | sudo sh`

## What Aven is

Connect a repository, get a domain with TLS, add Postgres in one click. Aven is open source and runs on any Linux server with Docker.

Aven is a self-hosted platform for apps, databases and background jobs. The dashboard has a canvas per environment, like Railway. Underneath it is one Go binary, `aven-server`, running next to Docker with its state in SQLite. More servers join with `aven-agent` over an mTLS mesh (Tailscale or WireGuard addresses). There is no Kubernetes. Aven is free, has no usage fees and no paid feature tier; you pay only for your own servers.

Aven is not a fork, clone or redistribution of Railway and contains no Railway code. It reads `railway.json` / `railway.toml` and answers Railway-shaped GraphQL queries so projects can move over.

## Features

### Push, and it is live

Point Aven at a GitHub repository. Every push builds with your Dockerfile or with Railpack, waits for the health check and switches traffic without downtime. Pull requests get their own preview environment.

- Dockerfile or Railpack, no config needed
- Zero-downtime switch and one-click rollback
- Preview environment per pull request

### Databases that look after themselves

Start PostgreSQL, MySQL, Redis or MongoDB next to your app. Aven wires the connection string into your variables and keeps backups on S3.

- Point-in-time recovery for Postgres and MySQL
- PgBouncer, major version upgrades, HA clusters
- S3-compatible buckets

### Domains, TLS and IPv6 handled

Add a domain and Aven issues the certificate. Every domain can have its own public IPv6 address, and services talk to each other over private DNS names.

- Automatic Let's Encrypt certificates
- A dedicated IPv6 address per domain
- TCP proxies, path rules, redirects

### One server today, ten tomorrow

Install the agent on another machine with one command. Place services where you want, spread replicas, autoscale, and move a service together with its volume.

- Encrypted mesh over Tailscale or WireGuard
- Autoscaling on CPU, memory or requests
- Move services with their data

### Also included

- Cron jobs
- Sleeping apps
- Sealed variables
- Logs and metrics
- OpenTelemetry traces
- Alerts to Slack and Discord
- Passkeys and 2FA
- SAML SSO
- Audit log
- REST and GraphQL API
- MCP server
- Infrastructure as code
- railway.json support
- Import from Dokploy

## Comparison with Railway, Coolify and Dokploy

Condensed from the comparison table in the Aven README. Competitor cells come from their official pages, checked on 2026-10-27. "Not documented" means those pages did not describe the feature, not that it is missing. Full table with footnotes: https://github.com/turin-dev/aven#comparison

| | Aven | Railway | Coolify | Dokploy |
| --- | --- | --- | --- | --- |
| Runs on your own servers | Yes. aven-server, plus aven-agent on more hosts ([source](https://github.com/turin-dev/aven/blob/main/docs/self-hosting.md)) | No. Hosted only. Enterprise gets dedicated Railway hosts ([source](https://docs.railway.com/maturity/enterprise)) | Yes. Self-hosted is the free edition ([source](https://coolify.io/pricing)) | Yes. Self-Hosted (OSS) ([source](https://docs.dokploy.com/docs/core/differences)) |
| Pricing | Yes. Free. You pay for your own machines ([source](https://github.com/turin-dev/aven)) | Partly. Per-second usage plus a plan fee ([source](https://railway.com/pricing)) | Yes. Self-hosted free. Cloud from $5/month ([source](https://coolify.io/pricing)) | Yes. OSS free. Cloud from $4.50/server/month ([source](https://docs.dokploy.com/docs/core/differences)) |
| License | Yes. AGPL-3.0 ([source](https://github.com/turin-dev/aven/blob/main/LICENSE)) | No. Platform closed source. CLI is open ([source](https://docs.railway.com/cli)) | Yes. Apache-2.0 ([source](https://github.com/coollabsio/coolify/blob/main/LICENSE)) | Partly. Apache-2.0, a /proprietary directory excepted ([source](https://github.com/Dokploy/dokploy/blob/canary/LICENSE.MD)) |
| SSO without paying | Yes. SAML SSO in the core ([source](https://github.com/turin-dev/aven/blob/main/docs/permissions.md)) | No. Enterprise and committed spend ([source](https://railway.com/pricing)) | Yes. Self-hosted, from v4.3.0 ([source](https://coolify.io/docs/core/security/authentication/sso/overview)) | No. Enterprise only ([source](https://docs.dokploy.com/docs/core/differences)) |
| Passkeys | Yes. WebAuthn sign-in ([source](https://github.com/turin-dev/aven)) | Yes. As account MFA ([source](https://docs.railway.com/access/multi-factor-authentication)) | Not documented. Not documented (2FA and SSO are) ([source](https://coolify.io/docs/troubleshoot/dashboard/disable-2fa-manually)) | Yes. Panel sign-in ([source](https://docs.dokploy.com/docs/core/account-security)) |
| Several servers | Yes. More servers join with aven-agent ([source](https://github.com/turin-dev/aven/blob/main/docs/self-hosting.md)) | Not documented. Railway regions and replicas. Your own servers not documented ([source](https://docs.railway.com/deployments)) | Yes. Unlimited servers ([source](https://coolify.io/pricing)) | Yes. Multi-server on OSS ([source](https://docs.dokploy.com/docs/core/differences)) |
| Preview environments | Yes. Per pull request ([source](https://github.com/turin-dev/aven)) | Yes. Per pull request ([source](https://docs.railway.com/guides/preview-deployments-with-pr-environments)) | Yes. Pull and merge requests ([source](https://coolify.io/docs/applications/deployments/preview-deployments)) | Yes. GitHub PRs, off by default ([source](https://docs.dokploy.com/docs/core/applications/preview-deployments)) |
| Databases | Yes. Postgres, MySQL, Redis, MongoDB, S3 bucket ([source](https://github.com/turin-dev/aven/blob/main/docs/cli.md)) | Yes. Postgres, MySQL, Redis, MongoDB ([source](https://docs.railway.com/databases/postgresql)) | Yes. Eight engines, incl. MariaDB and ClickHouse ([source](https://coolify.io/docs/databases)) | Yes. MySQL, Postgres, MongoDB, Redis, MariaDB ([source](https://docs.dokploy.com/docs/core/features)) |
| Point-in-time recovery | Yes. Postgres WAL and MySQL binlog ([source](https://github.com/turin-dev/aven/blob/main/docs/cli.md)) | Yes. Postgres and MySQL, opt-in ([source](https://docs.railway.com/volumes/point-in-time-recovery)) | Partly. Scheduled dumps. PITR set up separately ([source](https://coolify.io/self-host-postgres-with-backups)) | Partly. Scheduled backups. PITR not documented ([source](https://docs.dokploy.com/docs/core/features)) |
| Deploy on git push | Yes. GitHub ([source](https://github.com/turin-dev/aven/blob/main/docs/self-hosting.md)) | Yes. GitHub ([source](https://docs.railway.com/deployments/github-autodeploys)) | Yes. GitHub, GitLab, webhooks ([source](https://coolify.io/docs/applications/deployments/automatic-deployments)) | Yes. GitHub, GitLab, Bitbucket, Gitea ([source](https://docs.dokploy.com/docs/core/auto-deploy)) |
| Builds | Yes. Dockerfile, Railpack ([source](https://github.com/turin-dev/aven/blob/main/docs/self-hosting.md)) | Yes. Railpack, Dockerfile ([source](https://docs.railway.com/builds)) | Yes. Nixpacks, Dockerfile, Compose, static ([source](https://coolify.io/docs/applications/builds/nixpacks/deploy)) | Yes. Nixpacks, Railpack, Dockerfile, buildpacks ([source](https://docs.dokploy.com/docs/core/applications/build-type)) |
| CLI | Yes. aven ([source](https://github.com/turin-dev/aven/blob/main/docs/cli.md)) | Yes. railway ([source](https://docs.railway.com/cli)) | Yes. coolify ([source](https://coolify.io/docs/cli/command-reference/commands/app/create-deploy-key)) | Yes. @dokploy/cli ([source](https://docs.dokploy.com/docs/cli)) |

## Install

You need a Linux server (amd64 or arm64) with Docker and ports 80 and 443 free.

```sh
curl -fsSL https://install.aven.turin.my | sudo sh
```

1. **Run the installer.** It asks for your dashboard URL, a base domain for services, an email for Let's Encrypt and an admin password.
2. **Point your DNS.** The installer prints the records to create. Add a wildcard if you want generated service domains.
3. **Deploy something.** Sign in, press Add on the canvas and pick a repository, an image or a database.

Self-hosting guide: https://github.com/turin-dev/aven/blob/main/docs/self-hosting.md

## Questions

### Is Aven a Railway fork?

No. It is written from scratch and contains no Railway code. The dashboard follows Railway's layout because many people know it, and Aven reads railway.json and answers Railway-shaped GraphQL queries, so moving over is easy.

### Can I run production on it?

Its authors do. It is young, though: read the release notes before upgrading and back up /var/lib/aven, which holds the database and the key that encrypts secrets.

### Do I need GitHub?

Only for push-to-deploy and preview environments. Docker images, Compose files, templates and aven up work without it.

### I use Dokploy. Can I move?

aven import dokploy recreates services, variables, domains and volumes. Database contents move with your usual dump and restore.

### Why AGPL?

So that a modified Aven offered to others stays open. Running it for your own apps carries no obligations.

## 한국어 요약

Aven은 앱, 데이터베이스, 백그라운드 작업을 위한 오픈소스 셀프호스트 플랫폼입니다. 저장소를 연결하면 TLS 도메인이 붙고, Postgres는 클릭 한 번이면 됩니다.

**Railway 포크인가요?** 아닙니다. 처음부터 새로 작성했고 Railway 코드는 없습니다. 많은 사람이 익숙해서 대시보드 배치를 Railway에서 따왔고, railway.json을 읽고 Railway 형태의 GraphQL 질의에 답하기 때문에 옮겨오기 쉽습니다.

**프로덕션에 써도 되나요?** 만든 사람들은 쓰고 있습니다. 다만 아직 초기라서 업그레이드 전에 릴리스 노트를 읽고, 데이터베이스와 비밀값 암호화 키가 있는 /var/lib/aven을 백업하세요.

**GitHub가 있어야 하나요?** 푸시 배포와 미리보기 환경에만 필요합니다. Docker 이미지, Compose 파일, 템플릿, aven up은 GitHub 없이 됩니다.

**Dokploy를 쓰고 있는데 옮길 수 있나요?** aven import dokploy가 서비스, 변수, 도메인, 볼륨을 다시 만듭니다. 데이터베이스 내용은 평소처럼 덤프하고 복원하면 됩니다.

**왜 AGPL인가요?** 수정한 Aven을 남에게 제공할 때 그 코드가 공개되도록 하려고요. 내 앱을 위해 돌리는 데는 아무 의무가 없습니다.

