−25%

on annual Windows plans, until 31 Oct. See plans

EQVPS
Get started

Self-host Nextcloud on a VPS: your own private cloud (files, calendar, contacts)

Sep 3, 2026 · 2 min read · EQVPS Team

Cloud storage is convenient right up until the account gets suspended, the free tier shrinks, or you realise a third party has been indexing every file you own. Nextcloud gives you the same thing — files, calendar, contacts, photos, sharing links — on a server you control. Running it on a VPS takes minutes with Docker, and you can pay for the server in crypto without KYC.

What Nextcloud needs

  • A dedicated IPv4, a domain and HTTPS. Clients connect to https://cloud.yourdomain.com, so you need a domain, valid TLS and inbound 443 — a dedicated-IP plan. NAT plans don't take inbound. Small-IP suits a personal cloud; Medium-IP for a small team.
  • Disk sized to your files. Nextcloud is light on CPU; the disk is the constraint — pick a plan whose NVMe fits your data with room to grow.
  • A little more RAM if you turn on previews, full-text search or the built-in Office.

Set it up (Ubuntu 24.04, Docker)

# docker-compose.yml — Nextcloud + PostgreSQL + Redis (behind a TLS reverse proxy)
services:
  db:
    image: postgres:16-alpine
    restart: always
    environment:
      POSTGRES_DB: nextcloud
      POSTGRES_USER: nextcloud
      POSTGRES_PASSWORD: change-me-strong
    volumes: ["db:/var/lib/postgresql/data"]
  redis:
    image: redis:alpine
    restart: always
  app:
    image: nextcloud:apache
    restart: always
    ports: ["127.0.0.1:8080:80"]
    environment:
      POSTGRES_HOST: db
      POSTGRES_DB: nextcloud
      POSTGRES_USER: nextcloud
      POSTGRES_PASSWORD: change-me-strong
      REDIS_HOST: redis
      NEXTCLOUD_TRUSTED_DOMAINS: cloud.yourdomain.com
    volumes: ["nextcloud:/var/www/html"]
    depends_on: [db, redis]
volumes: { db: {}, nextcloud: {} }

Put a TLS reverse proxy in front:

# TLS + reverse proxy in one line (needs a dedicated IPv4 + domain + inbound 443)
apt install -y caddy
echo 'cloud.yourdomain.com { reverse_proxy 127.0.0.1:8080 }' > /etc/caddy/Caddyfile
systemctl restart caddy && ufw allow 80,443/tcp

Open https://cloud.yourdomain.com, finish the web installer, then point the desktop and mobile apps at it — your files now sync to a server you own.

Make it yours

  • Server-side encryption at rest, plus TLS in transit — and you hold the keys.
  • Apps: Calendar, Contacts, Notes, Photos, Talk (calls/chat), and Collabora/OnlyOffice for documents.
  • Sharing by link with passwords and expiry, or federated with other Nextcloud servers.
  • Keep Postgres and Redis on localhost (as above); expose only 443.

Why EQVPS for Nextcloud

  • Dedicated IPv4 from $8/mo, domain + HTTPS friendly, all ports, self-service rDNS.
  • EU locations (Germany, Finland) — clean routes, real data-protection law.
  • No KYC, crypto payment. Email to register, USDC/USDT to pay — fitting for a cloud you actually own.
  • Root in ~60 seconds, NVMe. Bring up the stack, add Caddy, and your private cloud is live.

Self-host Immich for photos → · Self-host Vaultwarden (passwords) → · Anonymous VPS hosting explained →

FAQ

Why self-host Nextcloud instead of using Google Drive?

With a self-hosted Nextcloud your files, calendar, contacts and photos live on a server you control — no third party scans them, sells ads against them, or locks you out of your account. You set the storage size, the sharing rules and the retention, and you can pay for the server in crypto without handing over ID.

What plan and resources does Nextcloud need?

Nextcloud itself is light; disk is what matters — pick a plan whose disk fits your files. A Small-IP or Medium-IP (dedicated IPv4) suits a personal or small-team cloud; add RAM if you enable heavy apps (preview generation, full-text search, Office). You need a dedicated IP because clients reach it over inbound HTTPS on 443.

Do I need a dedicated IP and a domain?

Yes. The desktop/mobile clients connect to https://cloud.yourdomain.com, which needs a domain, valid TLS and inbound 443 — so a dedicated-IPv4 plan. Our NAT plans don't accept inbound web traffic. A reverse proxy (Caddy) gives you automatic HTTPS.

Is my data encrypted and private?

TLS protects data in transit, and Nextcloud supports server-side encryption at rest. Because you own the server, no one else holds the keys or the data. For a hardened setup keep the database and Redis bound to localhost (as below) and only expose 443.

Do you ask for ID or a card?

No. Register with an email, pay in USDC or USDT. No documents, no card, no KYC.

Comments

No comments yet. Be the first.

Leave a comment

Comments are moderated before they appear.