Back to all templates
Nextcloud logo

Nextcloud

Infrastructure1024MB+ RAM

Self-hosted file sync and collaboration platform

storagefilescollaborationgoogle-drive-alternative

Deploy Nextcloud in 3 Steps

1

Connect Your VPS

Add your server credentials to Server Compass

2

Select Nextcloud

Choose from our template library

3

Deploy & Configure

Fill in settings and click Deploy

No Docker knowledge required
Step-by-step deployment guide

Self-Host Nextcloud on a VPS with Server Compass

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.

About 8 minutesBrowser verified
1
Step 1

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.

Server Compass Apps tab before creating a Nextcloud app
2
Step 2

Choose an app template

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

Choosing to deploy an app from a Server Compass template
3
Step 3

Search for Nextcloud

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

Searching for Nextcloud in the Server Compass template picker
4
Step 4

Select the Nextcloud template

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

Nextcloud template selected in Server Compass
5
Step 5

Review the Nextcloud settings

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.

Reviewing generated Nextcloud and MySQL service settings
6
Step 6

Deploy Nextcloud

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

Reviewing Nextcloud admin variables and host port before deployment
7
Step 7

Watch the deployment finish

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.

Server Compass deployment activity for the Nextcloud template
8
Step 8

Confirm Nextcloud is running

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.

Nextcloud template running in the Server Compass Apps tab
9
Step 9

Open Nextcloud in the browser

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 deployed Nextcloud login page loaded in a browser

After Nextcloud Opens

  • Log in with the generated admin username and password from Server Compass.
  • Change or store the generated admin password in your team password manager before inviting other users.
  • Add a real domain to the trusted domains list before moving beyond the demo IP-and-port URL.
  • Put Nextcloud behind HTTPS before production use.
  • Plan backups for both the Nextcloud data volume and the MySQL data volume.

Verified Result

The browser loaded Nextcloud successfully. The root URL returned HTTP 302 to /login, and the login page rendered with title Login - Nextcloud.

Nextcloud deployment questions

What does the Nextcloud template deploy?

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.

Which port did the pilot use?

The pilot used host port 8080, which maps to Nextcloud running on container port 80.

Why does the final screenshot show the login page?

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.

Do I need a domain for Nextcloud?

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.

Should this become a blog post?

No. The deployment guide should live on the Nextcloud template detail page and be linked from the reusable template deployment docs page.

Self-Deploy Guide

DIY Nextcloud Deployment

Learn how to self-host Nextcloud with this hands-on deployment guide.

1

Start a Secure Shell Session

Open your terminal and connect to your server. Replace the IP address with your VPS IP.

terminal
# SSH into your server
ssh root@your-server-ip

# Using a custom SSH key
ssh -i ~/.ssh/id_rsa root@your-server-ip

First time? Need Docker? Install it: curl -fsSL https://get.docker.com | sh

2

Prepare Your Workspace

Set up a clean directory for your application.

terminal
# Create and navigate to project directory
mkdir -p ~/apps/nextcloud
cd ~/apps/nextcloud
3

Set Up Container Configuration

Set up the container stack using this Docker Compose configuration:

docker-compose.yml
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:
Setup Variables
PORTHost port(default: 8080)
ADMIN_USERAdmin user(default: admin)
ADMIN_PASSWORDAdmin password
DB_PASSWORDDB password
DB_ROOT_PASSWORDRoot password
TRUSTED_DOMAINSTrusted domains
4

Bring Up the Application

Launch your application stack in the background.

terminal
# Start the containers in detached mode
docker compose up -d

# Check if containers are running
docker compose ps

# View logs
docker compose logs -f
5

Configure Firewall

Configure your firewall to permit external connections.

terminal
# Allow the application port through firewall
sudo ufw allow 8080/tcp
sudo ufw reload

# Access your app at:
# http://your-server-ip:8080
Skip the Terminal

Prefer a visual interface? Use Server Compass.

Let Server Compass handle the complexity. Deploy Nextcloud with a simple, intuitive interface.

  • Visual configuration UI
  • One-click deployment
  • Automatic SSL setup
  • Zero-downtime updates
  • Built-in monitoring
  • One-click rollbacks
Download Server Compass$29 one-time • Lifetime license

After Deployment

After deploying Nextcloud with Server Compass, complete these steps to finish setup

1

Log in with admin credentials

2

Install recommended apps

3

Configure external storage

Need help? Check out our documentation for detailed guides.

Nextcloud FAQ

Common questions about self-hosting Nextcloud

How do I deploy Nextcloud with Server Compass?

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.

What are the system requirements for Nextcloud?

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.

Can I migrate my existing Nextcloud data?

Yes! Server Compass provides volume mapping that allows you to import existing data. You can also use standard Nextcloud backup and restore procedures.

How do I update Nextcloud to the latest version?

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.

Is Nextcloud free to self-host?

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.

Ready to Self-Host Nextcloud?

Download Server Compass and deploy Nextcloud to your VPS in under 3 minutes. No Docker expertise required.

Download Server Compass