n8n on Cloudesta: First Login and Initial Setup
To set up n8n on Cloudesta for the first time, open the n8n URL from your welcome email in a browser and create the owner account. Then set your timezone and execution data retention in the Docker Compose file on the server, and run a small test workflow. Your n8n plan is a Cloud VPS with Docker and n8n already installed and running. This guide applies right after delivery, and again whenever you need to find your data, restart n8n or check its version.
Prerequisites
- An active Cloudesta n8n hosting service.
- The welcome email, which contains the server IP, SSH login, n8n URL and Docker Compose folder.
- An SSH client (Terminal on macOS/Linux, or Windows Terminal/PowerShell on Windows).
- A strong, unique password ready for the n8n owner account.
1. What does the Cloudesta n8n plan include?
The plan is a full Cloud VPS running Ubuntu, with root SSH access and a dedicated IPv4 address. Docker and Docker Compose are installed, and n8n runs as a container. The welcome email lists the details you need:
- The server IP (for example
203.0.113.10) and the SSH username and password. - The n8n URL (for example
https://n8n.example.com). - The folder that holds the Docker Compose file. This is typically
/opt/n8n, but always use the path given in your email.
2. How do I log in to the n8n server over SSH?
Connect as root, change the password you received, and move into the Compose folder:
ssh root@203.0.113.10
passwd
cd /opt/n8n
ls -la
The folder should contain docker-compose.yml or compose.yaml, and possibly a .env file. The commands in this guide assume the n8n service is named n8n. You can confirm the service names with docker compose ps --services.
3. How do I create the n8n owner account?
Open the n8n URL from your email in a browser. On the first visit, n8n shows the Set up owner account form. Enter your email, first name, last name and a password, then click Next. n8n requires the password to have at least 8 characters, one number and one capital letter, but you should use a much longer one.
4. How do I set the n8n timezone and execution data retention?
n8n reads both settings from environment variables. The timezone controls when Schedule Trigger nodes fire. Retention controls how long execution history is kept, which stops the database from growing without limit. First back up the Compose file:
cd /opt/n8n
cp docker-compose.yml docker-compose.yml.bak
nano docker-compose.yml
Under the n8n service's environment: section, add or adjust these lines. Change the timezone to your own. EXECUTIONS_DATA_MAX_AGE is in hours, so 168 equals 7 days.
environment:
- GENERIC_TIMEZONE=Africa/Cairo
- TZ=Africa/Cairo
- EXECUTIONS_DATA_PRUNE=true
- EXECUTIONS_DATA_MAX_AGE=168
- EXECUTIONS_DATA_PRUNE_MAX_COUNT=10000
If your setup keeps variables in .env, add them there as plain KEY=value lines instead. Apply the changes with:
docker compose up -d
Use up -d here, not restart. A restart does not pick up changed environment variables. You can also override the timezone for a single workflow under the workflow's Settings.
5. Where does n8n store its data?
Inside the container, n8n keeps its data in /home/node/.n8n. That folder is mapped to the host in one of two ways: a Docker volume (for example n8n_data) or a bind mount (for example ./n8n_data). Check the volumes: section of the Compose file to see which one your server uses. You can list volumes and find their location on disk with:
docker volume ls
docker volume inspect n8n_data
Where the database lives depends on the database type:
- If
DB_TYPEis not set, n8n uses SQLite, stored indatabase.sqliteinside the.n8nfolder. - If
DB_TYPE=postgresdbis set, workflows and executions live in a Postgres container. That container has its own volume.
.n8n/config file holds the encryption key for your saved credentials. Back it up together with the database. Without that key, restored credentials cannot be decrypted.6. How do I start, stop and view n8n logs with Docker Compose?
Run these commands from the Compose folder:
docker compose ps # status of all containers
docker compose up -d # start (or apply changes)
docker compose stop # stop without removing containers
docker compose restart n8n # restart n8n only
docker compose logs -f --tail=100 n8n # follow the last 100 log lines (Ctrl+C to exit)
docker compose down removes the containers but keeps named volumes, so your data is safe. Never add -v to that command, because -v deletes the volumes and your data with them.
7. How do I check which n8n version is running?
In the web interface, open Help > About n8n in the left sidebar. From SSH, run:
docker compose exec n8n n8n --version
8. How do I run a first test workflow?
This test confirms that workflows run and that the timezone is correct:
- Create a new workflow and add the Manual Trigger node ("Trigger manually").
- Add an Edit Fields (Set) node. Create a field named
nowwith the expression{{ $now.toISO() }}. - Click Test workflow. Newer releases call this button Execute workflow.
The output should show the current time with your timezone offset, for example +03:00.
9. How do I keep n8n secure?
- Use a long, unique owner password. Use SSH keys instead of passwords for root.
- Always reach n8n over HTTPS through its domain. Never use
http://203.0.113.10:5678. - Do not publish extra ports. Docker-published ports bypass
ufw, so check thatdocker compose psdoes not show0.0.0.0:5678->5678. If it does and your reverse proxy runs on the host, change the mapping to"127.0.0.1:5678:5678". - Keep Ubuntu updated with
apt update && apt upgrade.
For hardening beyond these basics, see Cloudesta's cyber security services.
Verify it works
docker compose ps
curl -s https://n8n.example.com/healthz
Everything is working if all of these are true:
- The containers show as
running(orUp). - The health check returns
{"status":"ok"}. - You can log in as owner and the test workflow runs successfully.
Common problems
The n8n page does not load
Work through these checks in order:
- Run
docker compose ps. If n8n or the proxy container is stopped, start it withdocker compose up -dand checkdocker compose logs n8nfor errors. - Check the firewall with
ufw status. If it is active, allow the web ports withufw allow 80/tcpandufw allow 443/tcp. Do not enableufwbefore allowingOpenSSH, or you will lock yourself out of SSH. - Confirm that your domain's DNS A record points to the server IP.
"Your n8n server is configured to use a secure cookie" warning
You are opening n8n over plain HTTP. Use the https:// domain URL from your email instead. Setting N8N_SECURE_COOKIE=false hides the warning, but it leaves your login session unprotected, so only use it for brief local testing.
Forgot the owner password
If SMTP is configured, use Forgot my password on the login page. Without SMTP, reset user management with the commands below, then create the owner again. This removes all user accounts, but workflows and credentials are kept.
docker compose exec n8n n8n user-management:reset
docker compose restart n8n
Schedules fire at the wrong time
Set GENERIC_TIMEZONE as described in section 4, run docker compose up -d, and check each workflow's own timezone setting.
Frequently asked questions
Can I install other software on my n8n server?
Yes. It is a regular Cloud VPS with root access, but avoid anything that uses ports 80/443 or competes with n8n for memory.
How do I get more CPU, RAM or disk for n8n?
Plan upgrades are handled by Cloudesta, so open a support ticket requesting the upgrade. Rescue mode, OS reinstalls and IP changes are also requested by ticket.
What should I back up?
Back up the .n8n folder (including config with the encryption key), the Postgres volume if you use Postgres, and your Compose and .env files. More guides are available in the Cloudesta knowledgebase.
Need help? Open a support ticket at https://cloudesta.com/submitticket.php and include your server IP and the output of docker compose ps.