Back to Apps
Nextcloud

Deploy Nextcloud on Your Own Server

Nextcloud is a suite of client-server software for creating and using file hosting services

💾 Storage

Want to deploy Nextcloud on your server faster? Try Senate with one-command setup, automatic HTTPS and monitoring.

Get Started

What is Nextcloud?

A safe home for all your data. Access & share your files, calendars, contacts, mail & more from any device, on your terms. http://Nextcloud.com

Self-Host Nextcloud

Follow these steps to deploy on your own server.

1

Install Docker

Skip this step if Docker is already installed on your server.

curl -fsSL https://get.docker.com | sh
2

Configure

Customize the settings below. Defaults work for most cases.

General
3

Deploy

Copy the configuration and run it on your server.

services:
  nextcloud:
    image: nextcloud:29.0.14
    environment:
      MYSQL_DATABASE: nextcloud
      MYSQL_HOST: nextcloud-db
      MYSQL_PASSWORD: c4b95b0f4067323420488f2c722a942f
      MYSQL_USER: nextcloud
      NEXTCLOUD_ADMIN_PASSWORD: a531f4ec45
      NEXTCLOUD_ADMIN_USER: admin
      NEXTCLOUD_TRUSTED_DOMAINS: "nextcloud.your-domain.com "
      OVERWRITEPROTOCOL: https
      PHP_MEMORY_LIMIT: 512M
      PHP_UPLOAD_LIMIT: 512M
      REDIS_HOST: nextcloud-redis
    volumes:
      - nextcloud-data:/var/www/html
      - nextcloud-conf:/usr/local/etc/php/conf.d
    depends_on:
      - nextcloud-db
      - nextcloud-redis
  nextcloud-cron:
    image: nextcloud:29.0.14
    volumes:
      - nextcloud-data:/var/www/html
    depends_on:
      - nextcloud-db
      - nextcloud-redis
      - nextcloud
  nextcloud-db:
    image: mariadb:10.11.11
    environment:
      MYSQL_DATABASE: nextcloud
      MYSQL_PASSWORD: c4b95b0f4067323420488f2c722a942f
      MYSQL_ROOT_PASSWORD: c4b95b0f4067323420488f2c722a942f
      MYSQL_USER: nextcloud
    volumes:
      - nextcloud-db-data:/var/lib/mysql
  nextcloud-redis:
    image: redis:7.2.7
    volumes:
      - nextcloud-redis-data:/data
volumes:
  nextcloud-data: {}
  nextcloud-conf: {}
  nextcloud-db-data: {}
  nextcloud-redis-data: {}

Then run:

docker compose up -d
4

Access

Once started, access your app at http://localhost:80

Why Self-Host Nextcloud?

Full Data Ownership

Your data stays on your servers. No third-party access.

No Monthly Fees

Pay only for your server. No per-seat or usage charges.

Complete Control

Customize, backup, and scale on your own terms.

Privacy & Compliance

Meet GDPR, HIPAA, or internal security requirements.

Technical Details

Docker Image

nextcloud:${nextcloud_version}

Want to go faster?

Try Senate! Senate handles Docker, HTTPS, updates, and monitoring for you. Deploy any of our 300+ apps with a single command.

Install on any Linux server:

sh -c "$(curl -sSL https://get.senate.sh)"