Skip to content

Commit 4ae44d2

Browse files
committed
chore(installtion): add cloudron, heroku, railway
1 parent 9bb0634 commit 4ae44d2

File tree

4 files changed

+294
-3
lines changed

4 files changed

+294
-3
lines changed
Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
1+
---
2+
title: 'Install on Cloudron'
3+
tags: ['cloudron', 'docker']
4+
keywords: ['NocoDB Railway', 'Install NocoDB', 'NocoDB Docker']
5+
---
6+
7+
[Cloudron](https://www.cloudron.io/) is a self-hosted platform that simplifies deploying and managing web applications. If you're using your own server and want to host **NocoDB** with auto-updates and domain management, Cloudron is a solid choice.
8+
9+
## Prerequisites
10+
11+
Before proceeding, ensure:
12+
13+
* You have a working Cloudron instance set up on your server.
14+
* You’ve signed into the Cloudron App Store.
15+
* You’re comfortable using the command line and basic Cloudron CLI commands.
16+
17+
If Cloudron is not yet installed, follow their [official installation guide](https://docs.cloudron.io/installation/) first.
18+
19+
## Step 1: Install the Cloudron CLI
20+
21+
The Cloudron CLI allows you to interact with your instance from your local machine.
22+
23+
```bash
24+
# Run this on your local computer (not the server)
25+
npm install -g cloudron
26+
```
27+
28+
More info: [Cloudron CLI Docs](https://docs.cloudron.io/custom-apps/cli/)
29+
30+
## Step 2: Log in to Your Cloudron Instance
31+
32+
```bash
33+
cloudron login my.yourdomain.com
34+
```
35+
36+
Replace `my.yourdomain.com` with your actual Cloudron domain.
37+
38+
## Step 3: Clone the NocoDB App Template
39+
40+
Clone the Cloudron-specific deployment setup for NocoDB:
41+
42+
```bash
43+
git clone https://github.com/nocodb/cloudron-app-template.git
44+
cd cloudron-app-template
45+
```
46+
47+
This repo includes the necessary manifest and Docker configuration tailored for Cloudron.
48+
49+
## Step 4: Deploy NocoDB
50+
51+
Use the CLI to install NocoDB:
52+
53+
```bash
54+
cloudron install --image nocodb/cloudron:latest -l nocodb.yourdomain.com
55+
```
56+
57+
Once deployed, NocoDB will be accessible at `https://nocodb.yourdomain.com`.
58+
59+
📌 You can browse available images here:
60+
[https://hub.docker.com/r/nocodb/cloudron](https://hub.docker.com/r/nocodb/cloudron)
61+
62+
If you encounter a `402: Missing token` error, ensure that your Cloudron server is fully registered and logged into the App Store via the web UI.
63+
64+
## Updating to a New Version
65+
66+
1. Determine your app’s ID:
67+
68+
```bash
69+
cloudron list
70+
```
71+
72+
2. Pull the latest app definition:
73+
74+
```bash
75+
git pull origin main
76+
```
77+
78+
3. Upgrade your app:
79+
80+
```bash
81+
cloudron update --app your-app-id --image nocodb/cloudron:latest
82+
```
83+
84+
Always make sure to reference the latest available NocoDB Cloudron image from [Docker Hub](https://hub.docker.com/r/nocodb/cloudron).
85+
86+
## Custom Domains and Aliases
87+
88+
To serve NocoDB on a different domain:
89+
90+
1. Go to the **Cloudron Dashboard**.
91+
2. Open your NocoDB app settings.
92+
3. Click **Location → Add alias**.
93+
4. Enter your preferred domain or subdomain (must match the domain configured in NocoDB if used internally).
94+
5. Cloudron will automatically provision an SSL certificate.
95+
96+
Wildcard domains are supported but may need additional configuration for SSL to function correctly.
Lines changed: 150 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,150 @@
1+
---
2+
title: 'Install on Heroku'
3+
tags: ['heroku', 'docker']
4+
keywords: ['NocoDB Heroku', 'Install NocoDB', 'NocoDB Docker']
5+
---
6+
7+
Heroku is a cloud platform that makes it easy to deploy and scale applications. This guide shows how to get **NocoDB** running on Heroku using a pre-configured template with minimal setup.
8+
9+
## Quick Deploy Button
10+
11+
[![Deploy to Heroku](https://www.herokucdn.com/deploy/button.svg)](https://www.heroku.com/deploy/?template=https://github.com/nocodb/nocodb)
12+
13+
Click the button above to spin up NocoDB on Heroku instantly. Just follow the guided setup. Once finished, your instance will be live at a Heroku-generated URL.
14+
15+
## Pricing & Requirements
16+
17+
Since Heroku retired its free plans in 2022, deploying NocoDB now incurs minimal costs:
18+
19+
| Component | Plan | Estimated Cost |
20+
| ------------------- | ------------------- | -------------- |
21+
| App Server (`web`) | Basic Dyno | \$7/month |
22+
| Database (Postgres) | `heroku-postgresql` | \$5/month |
23+
| Cache (Redis) | `heroku-redis` | \$3/month |
24+
25+
You can scale up these resources based on usage. See [Scaling](#scaling) for details.
26+
27+
## Connecting External Storage (Optional)
28+
29+
By default, uploaded files are stored temporarily in the dyno and are lost on restart. To retain files across restarts, configure NocoDB to use an S3-compatible bucket.
30+
31+
Go to **Settings → Reveal Config Vars** in the Heroku dashboard and add:
32+
33+
```
34+
NC_AWS_ACCESS_KEY_ID=your-access-key
35+
NC_AWS_SECRET_ACCESS_KEY=your-secret-key
36+
NC_AWS_BUCKET=your-bucket-name
37+
NC_AWS_REGION=us-east-1
38+
NC_AWS_ENDPOINT=https://s3.amazonaws.com
39+
NC_AWS_CUSTOM_DOMAIN=your.custom.domain (optional)
40+
```
41+
42+
### Using DigitalOcean Spaces or Others
43+
44+
You can use any S3-compatible provider (e.g., DigitalOcean, Wasabi):
45+
46+
```
47+
NC_AWS_ENDPOINT=https://ams3.digitaloceanspaces.com
48+
NC_AWS_REGION=ams3
49+
NC_AWS_CUSTOM_DOMAIN=your-space-name.ams3.digitaloceanspaces.com
50+
```
51+
52+
## Fixing Common Login Errors
53+
54+
If you receive a “Could not connect to the API server” error, you probably need to set the public URL.
55+
56+
1. Go to **Settings → Reveal Config Vars** in your Heroku app.
57+
2. Add or edit the `NC_PUBLIC_URL` variable:
58+
59+
```
60+
NC_PUBLIC_URL=https://your-app-name.herokuapp.com
61+
```
62+
63+
Replace `your-app-name` with the actual name of your Heroku app.
64+
65+
## Scaling
66+
67+
Heroku starts you off with a basic dyno and minimal add-ons. You can improve performance by scaling up your dyno type or increasing worker count.
68+
69+
### Adjusting Worker Count
70+
71+
NocoDB can handle more load with multiple workers. Each worker needs \~512MB RAM.
72+
73+
To increase:
74+
75+
1. Go to **Settings → Reveal Config Vars**.
76+
2. Add or update:
77+
78+
```
79+
NC_WORKER_COUNT=2
80+
```
81+
82+
### Postgres Add-on
83+
84+
The default `heroku-postgresql:mini` tier supports up to 10,000 rows. For larger datasets, upgrade to a higher-tier plan.
85+
86+
### Redis Add-on
87+
88+
Likewise, `heroku-redis:mini` supports 20 connections. Estimate needed connections using:
89+
90+
```
91+
DYNO_COUNT * WORKER_COUNT * 15
92+
```
93+
94+
Then upgrade accordingly.
95+
96+
## Custom Domains
97+
98+
To run NocoDB under your own domain:
99+
100+
1. Add your domain via **Settings → Domains** in Heroku.
101+
2. Update your `NC_PUBLIC_URL` variable:
102+
103+
```
104+
NC_PUBLIC_URL=https://yourdomain.com
105+
```
106+
107+
## Required Environment Variables
108+
109+
| Variable Name | Description |
110+
| -------------------------- | -------------------------------------------------------------------- |
111+
| `SECRET_KEY` | Secret string for securing sessions |
112+
| `NC_JWT_SECRET` | Secret used to sign JWT tokens |
113+
| `NC_PUBLIC_URL` | Public-facing URL (e.g., [https://example.com](https://example.com)) |
114+
| `NC_WORKER_COUNT` | Number of workers to run |
115+
| `NC_AWS_ACCESS_KEY_ID` | S3 access key |
116+
| `NC_AWS_SECRET_ACCESS_KEY` | S3 secret key |
117+
| `NC_AWS_BUCKET` | Name of your S3 bucket |
118+
| `NC_AWS_REGION` | (Optional) AWS region or equivalent |
119+
| `NC_AWS_ENDPOINT` | (Optional) Custom endpoint URL |
120+
| `NC_AWS_CUSTOM_DOMAIN` | (Optional) Custom domain for static file hosting |
121+
122+
## Updating NocoDB on Heroku
123+
124+
To pull the latest version of NocoDB:
125+
126+
1. Install the [Heroku CLI](https://devcenter.heroku.com/articles/heroku-cli)
127+
2. Authenticate:
128+
129+
```
130+
heroku login
131+
```
132+
3. Deploy from source:
133+
134+
```bash
135+
git clone https://github.com/nocodb/nocodb.git
136+
cd nocodb
137+
heroku git:remote -a YOUR_APP_NAME
138+
git push heroku master
139+
```
140+
141+
> Replace `YOUR_APP_NAME` with your actual Heroku app name.
142+
143+
## Cleaning Up (Optional)
144+
145+
If you cloned the repo just for updating, you can clean up afterward:
146+
147+
```bash
148+
cd ..
149+
rm -rf nocodb
150+
```

content/self-hosting/installation/meta.json

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,15 @@
99

1010
"nixos",
1111
"ubuntu",
12-
"aws-ecs",
13-
"gcp-cloud-run",
14-
"digital-ocean",
1512
"k8s",
13+
1614
"render",
15+
"digital-ocean",
16+
"aws-ecs",
17+
"gcp-cloud-run",
18+
"railway",
19+
"cloudron",
20+
"heroku",
1721

1822
"nginx",
1923
"apache",
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
---
2+
title: 'Install on Railway'
3+
tags: ['railway', 'docker']
4+
keywords: ['NocoDB Railway', 'Install NocoDB', 'NocoDB Docker']
5+
---
6+
7+
[Railway](https://railway.app) is a developer-friendly platform that lets you launch full-stack applications with minimal configuration. NocoDB can be deployed on Railway using a prebuilt template, making it easy to get started.
8+
9+
## Step 1: Sign Up for Railway
10+
11+
If you’re new to Railway, head over to [railway.app](https://railway.app) and create an account. You can sign in using GitHub, GitLab, or an email address.
12+
13+
## Step 2: Start a New Project
14+
15+
1. Once logged in, click **“New Project.”**
16+
2. In the template search bar, type **“NocoDB”**.
17+
3. Select the **NocoDB** template.
18+
4. Review the configuration, then click **Deploy Project**.
19+
20+
Railway will automatically provision and start the necessary services (like the container and database).
21+
22+
## Step 3: Access Your NocoDB Instance
23+
24+
After deployment:
25+
26+
* Go to your Railway dashboard.
27+
* Click on the NocoDB service.
28+
* Open the generated URL (usually something like `your-project-name.up.railway.app`) to start using NocoDB.
29+
30+
## ⚠️ Memory Requirement Notice
31+
32+
The Railway **Trial plan** includes only 512 MB of RAM, which is not sufficient to run NocoDB even in minimal mode.
33+
34+
To run NocoDB reliably:
35+
36+
* Upgrade to the **Hobby plan** or higher.
37+
* Plans with at least **1 GB RAM** are recommended for stable performance.
38+
39+
## You're Live 🎉
40+
41+
That’s it! NocoDB should now be running on Railway. You can begin creating APIs from your database, importing spreadsheets, or managing data collaboratively.

0 commit comments

Comments
 (0)