Tutorial: Je eigen Linux Server opzetten met Nextcloud en Docker
Wil je graag een eigen cloudoplossing zonder afhankelijk te zijn van grote techbedrijven? In deze tutorial laat ik je zien hoe je eenvoudig een eigen Nextcloud-server opzet met behulp van Docker en Nginx Proxy Manager. Het is niet alleen leerzaam, maar je houdt ook volledige controle over je data. Laten we aan de slag gaan!
Stap 1: Voorbereiding
Wat heb je nodig?
- Een computer of VPS met minimaal 2 GB RAM en 20 GB schijfruimte.
- Een verse installatie van Ubuntu Server 22.04 LTS (of een andere ondersteunde distributie).
- Een domeinnaam (optioneel, maar aanbevolen).
- Basiskennis van Linux en toegang tot een terminal.
Stappen vooraf:
– Installeer Ubuntu op je systeem
– Update je systeem
sudo apt update && sudo apt upgrade -y– Installeer Docker en Docker Compose als je dit nog niet gedaan hebt:
sudo apt install docker.io docker-compose -y
sudo systemctl enable docker
sudo systemctl start dockerStap 2: Docker Compose bestand aanmaken
Maak een map voor je Nextcloud-installatie:
mkdir ~/nextcloud && cd ~/nextcloudCreëer een bestand genaamd docker-compose.yml:
nano docker-compose.ymlVoeg het volgende toe:
services:
  nextcloud:
    image: nextcloud:latest
    container_name: nextcloud
    restart: always
    ports:
      - 8080:80
    volumes:
      - ./nextcloud_data:/var/www/html
    environment:
      - MYSQL_HOST=db
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud
      - MYSQL_PASSWORD=veiligwachtwoord
  db:
    image: mariadb:latest
    container_name: nextcloud_db
    restart: always
    environment:
      - MYSQL_ROOT_PASSWORD=veiligwachtwoord
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud
      - MYSQL_PASSWORD=veiligwachtwoord
    volumes:
      - ./db_data:/var/lib/mysqlStap 3: Nginx Proxy Manager installeren
Maak een aparte map voor Nginx Proxy Manager:
mkdir ~/nginx-proxy-manager && cd ~/nginx-proxy-managerCreëer een nieuw bestand docker-compose.yml:
nano docker-compose.ymlVoeg het volgende toe:
services:
  app:
    image: jc21/nginx-proxy-manager:latest
    container_name: nginx_proxy_manager
    restart: always
    ports:
      - 80:80
      - 81:81
      - 443:443
    environment:
      - DB_MYSQL_HOST=db
      - DB_MYSQL_PORT=3306
      - DB_MYSQL_USER=npm
      - DB_MYSQL_PASSWORD=veiligwachtwoord
      - DB_MYSQL_NAME=nginx_proxy
    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt
  db:
    image: mariadb:latest
    container_name: nginx_proxy_db
    restart: always
    environment:
      - MYSQL_ROOT_PASSWORD=veiligwachtwoord
      - MYSQL_DATABASE=nginx_proxy
      - MYSQL_USER=npm
      - MYSQL_PASSWORD=veiligwachtwoord
    volumes:
      - ./db_data:/var/lib/mysqlStart Nginx Proxymanager:
sudo docker compose up -dStap 4: Nextcloud starten
Navigeer terug naar de map ~/nextcloud en start Nextcloud:
sudo docker-compose up -dControleer of de containers draaien:
sudo docker psStap 5: Domeinnaam configureren
- Open Nginx Proxy Manager in je browser via http://<server-ip>:81.
- Log in met het standaard wachtwoord (admin@example.com / changeme) verander dit als dat nog niet gedaan hebt.
- Voeg een nieuw proxy-host toe:
 – Domeinnaam: jouwdomein.nl
 – Doel-URL: http://:8080
 – SSL: Vraag een Lets Encrypt certificaat aan.
Stap 6: Configureer Nextcloud
- Open je browser en ga naar https://jouwdomein.nl
- Volg de Nextcloud installatie wizzard
 – Database-host: db
 – Database-gebruiker: nextcloud
 – Wachtwoord: veiligwachtwoord
Stap 7: Synchroniseren en extra’s
- Installeer de Nextcloud-client op je computer en mobiel.
- Activeer handige apps in het Nextcloud-dashboard, zoals Agenda of Contacten.
- Maak back-ups van je bestanden en Docker-volumes.
Gefeliciteerd! Je hebt nu een Nextcloud-server draaien met Docker en Nginx Proxy Manager. Veel plezier met je privé cloud!
