Open the server Apps tab
Select your VPS, open the Apps tab, and start a new app deployment. Keep sensitive server details hidden before capturing or sharing screenshots.


Self-hosted file sync and collaboration platform
Add your server credentials to Server Compass
Choose from our template library
Fill in settings and click Deploy
Use the Nextcloud template in Server Compass to deploy a self-hosted file sync and collaboration server backed by MySQL, then verify the Nextcloud login page in a browser.
Select your VPS, open the Apps tab, and start a new app deployment. Keep sensitive server details hidden before capturing or sharing screenshots.

Click New App and choose the template deployment path so Server Compass can load the built-in catalog.

Use the template picker search to find Nextcloud in the Server Compass template catalog.

Choose the Nextcloud template. Server Compass fills the Nextcloud app service, MySQL database service, persistent volumes, admin variables, and default web port.

Confirm the app name, Nextcloud image, MySQL companion service, persistent volume settings, and host port. In the pilot run, the app was named nextcloud-demo and used host port 8080.

Review the admin username, masked generated passwords, trusted domain value, and PORT value. When Server Compass confirms port 8080 is available, click Deploy Now.

Keep the deployment modal or activity panel open while Server Compass prepares the server, pulls the Nextcloud and MySQL images, starts the containers, and reports completion.

After deployment finishes, return to the Apps tab and confirm Nextcloud is marked Running. The app card keeps the application URL available for browser access.

Click Open Application or open the application URL in a browser. The Nextcloud login screen confirms the web app is reachable and the initial admin account was created from the generated setup variables.

The browser loaded Nextcloud successfully. The root URL returned HTTP 302 to /login, and the login page rendered with title Login - Nextcloud.
It deploys the official Nextcloud Docker image, a MySQL 8 database service, persistent volumes for app data and database data, generated admin credentials, and the default web port mapping.
The pilot used host port 8080, which maps to Nextcloud running on container port 80.
A fresh Nextcloud deployment creates the initial admin account from the generated setup variables and then serves the login screen. Seeing that page confirms the app is running and reachable from a browser.
A demo can run on an IP address and port, but production Nextcloud should use a domain, HTTPS, and a trusted domains value that matches the public hostname.
No. The deployment guide should live on the Nextcloud template detail page and be linked from the reusable template deployment docs page.
Learn how to self-host Nextcloud with this hands-on deployment guide.
Open your terminal and connect to your server. Replace the IP address with your VPS IP.
# SSH into your server
ssh root@your-server-ip
# Using a custom SSH key
ssh -i ~/.ssh/id_rsa root@your-server-ipFirst time? Need Docker? Install it: curl -fsSL https://get.docker.com | sh
Set up a clean directory for your application.
# Create and navigate to project directory
mkdir -p ~/apps/nextcloud
cd ~/apps/nextcloudSet up the container stack using this Docker Compose configuration:
services:
nextcloud:
image: nextcloud:latest
ports:
- "8080:80"
environment:
- MYSQL_HOST=db
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
- MYSQL_PASSWORD=<your-db-password>
- NEXTCLOUD_ADMIN_USER=admin
- NEXTCLOUD_ADMIN_PASSWORD=<your-admin-password>
- NEXTCLOUD_TRUSTED_DOMAINS=<your-trusted-domains>
volumes:
- nextcloud_data:/var/www/html
restart: unless-stopped
depends_on:
db:
condition: service_healthy
db:
image: mysql:8.0
environment:
- MYSQL_ROOT_PASSWORD=<your-db-root-password>
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
- MYSQL_PASSWORD=<your-db-password>
volumes:
- mysql_data:/var/lib/mysql
restart: unless-stopped
healthcheck:
test: ["CMD-SHELL", "mysqladmin ping -h localhost -u root -p$$MYSQL_ROOT_PASSWORD || exit 1"]
interval: 10s
timeout: 5s
retries: 5
start_period: 30s
volumes:
nextcloud_data:
mysql_data:
PORTHost port(default: 8080)ADMIN_USERAdmin user(default: admin)ADMIN_PASSWORDAdmin passwordDB_PASSWORDDB passwordDB_ROOT_PASSWORDRoot passwordTRUSTED_DOMAINSTrusted domainsLaunch your application stack in the background.
# Start the containers in detached mode
docker compose up -d
# Check if containers are running
docker compose ps
# View logs
docker compose logs -fConfigure your firewall to permit external connections.
# Allow the application port through firewall
sudo ufw allow 8080/tcp
sudo ufw reload
# Access your app at:
# http://your-server-ip:8080Let Server Compass handle the complexity. Deploy Nextcloud with a simple, intuitive interface.
After deploying Nextcloud with Server Compass, complete these steps to finish setup
Log in with admin credentials
Install recommended apps
Configure external storage
Need help? Check out our documentation for detailed guides.
Common questions about self-hosting Nextcloud
Simply download Server Compass, connect to your VPS, and select Nextcloud from the templates list. Fill in the required configuration and click Deploy. The entire process takes under 3 minutes.
Nextcloud requires a minimum of 1024MB RAM. We recommend a VPS with at least 2048MB RAM for optimal performance. Any modern Linux server with Docker support will work.
Yes! Server Compass provides volume mapping that allows you to import existing data. You can also use standard Nextcloud backup and restore procedures.
Server Compass makes updates easy. Simply click the Update button in your deployment dashboard, and the latest Nextcloud image will be pulled and deployed with zero downtime.
Nextcloud is open-source software. You only pay for your VPS hosting (typically $5-20/month) and optionally Server Compass ($29 one-time). No subscription fees or per-seat pricing.
Download Server Compass and deploy Nextcloud to your VPS in under 3 minutes. No Docker expertise required.
Download Server Compass