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 docker
Stap 2: Docker Compose bestand aanmaken
Maak een map voor je Nextcloud-installatie:
mkdir ~/nextcloud && cd ~/nextcloud
Creëer een bestand genaamd docker-compose.yml:
nano docker-compose.yml
Voeg 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/mysql
Stap 3: Nginx Proxy Manager installeren
Maak een aparte map voor Nginx Proxy Manager:
mkdir ~/nginx-proxy-manager && cd ~/nginx-proxy-manager
Creëer een nieuw bestand docker-compose.yml:
nano docker-compose.yml
Voeg 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/mysql
Start Nginx Proxymanager:
sudo docker compose up -d
Stap 4: Nextcloud starten
Navigeer terug naar de map ~/nextcloud en start Nextcloud:
sudo docker-compose up -d
Controleer of de containers draaien:
sudo docker ps
Stap 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!