154 lines
4.0 KiB
Markdown
154 lines
4.0 KiB
Markdown
---
|
|
title: "NextCloud (Docker)"
|
|
date: 2025-11-10
|
|
weight: 3
|
|
feedback: true
|
|
draft: false
|
|
---
|
|
|
|
NextCloud is een open source platform voor bestandssynchronisatie en samenwerking, vergelijkbaar met diensten als Dropbox of OneDrive. In deze handleiding installeren we NextCloud op een Debian server met behulp van Docker en Docker Compose.
|
|
|
|
{{< notice "info" "Informatie" >}}
|
|
Deze handleiding gaat uit van een Debian server waarop Docker en de Docker Compose plugin al zijn geïnstalleerd, zoals beschreven in het bovenliggende artikel **Docker**.
|
|
{{< /notice >}}
|
|
|
|
## Benodigdheden
|
|
- Een server met een ondersteunde Debian Linux installatie
|
|
- Docker en Docker Compose plugin geïnstalleerd
|
|
- Een domeinnaam
|
|
- DNS ingesteld naar het IP-adres van de server
|
|
- Rechten als `su` of `sudo` om opdrachten als root uit te voeren
|
|
|
|
## Voorbereiding
|
|
Zorg dat het systeem up-to-date is voordat je begint.
|
|
|
|
1. Log in met SSH.
|
|
```bash
|
|
ssh gebruiker@server
|
|
```
|
|
|
|
2. Werk de pakketbron en geïnstalleerde pakketten bij.
|
|
```bash
|
|
sudo apt update && sudo apt upgrade
|
|
```
|
|
|
|
3. Controleer of Docker en Docker Compose beschikbaar zijn.
|
|
```bash
|
|
docker --version
|
|
docker compose version
|
|
```
|
|
|
|
## Mapstructuur aanmaken
|
|
We plaatsen de Docker Compose configuratie en data in `/opt/nextcloud`.
|
|
|
|
1. Maak de basisstructuur aan.
|
|
```bash
|
|
sudo mkdir -p /opt/nextcloud/{db,nextcloud}
|
|
```
|
|
|
|
2. Geef de huidige gebruiker toegang (optioneel, handig voor beheer).
|
|
```bash
|
|
sudo chown -R $USER:$USER /opt/nextcloud
|
|
```
|
|
|
|
3. Ga naar de NextCloud map.
|
|
```bash
|
|
cd /opt/nextcloud
|
|
```
|
|
|
|
## Docker Compose bestand maken
|
|
We gebruiken een `docker-compose.yml` met NextCloud en MariaDB als database.
|
|
|
|
1. Maak het bestand `docker-compose.yml`.
|
|
```bash
|
|
nano docker-compose.yml
|
|
```
|
|
|
|
2. Plaats de volgende configuratie in het bestand:
|
|
|
|
```yaml
|
|
version: "3.9"
|
|
|
|
services:
|
|
db:
|
|
image: mariadb:11
|
|
container_name: nextcloud_db
|
|
restart: unless-stopped
|
|
command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
|
|
environment:
|
|
- MYSQL_ROOT_PASSWORD=sterk-root-wachtwoord
|
|
- MYSQL_DATABASE=nextcloud
|
|
- MYSQL_USER=nextcloud
|
|
- MYSQL_PASSWORD=sterk-db-wachtwoord
|
|
volumes:
|
|
- ./db:/var/lib/mysql
|
|
|
|
app:
|
|
image: nextcloud:stable
|
|
container_name: nextcloud_app
|
|
restart: unless-stopped
|
|
ports:
|
|
- "8080:80"
|
|
depends_on:
|
|
- db
|
|
environment:
|
|
- MYSQL_DATABASE=nextcloud
|
|
- MYSQL_USER=nextcloud
|
|
- MYSQL_PASSWORD=sterk-db-wachtwoord
|
|
- MYSQL_HOST=db
|
|
volumes:
|
|
- ./nextcloud:/var/www/html
|
|
```
|
|
|
|
{{< notice "info" "Informatie" >}}
|
|
Vervang `sterk-root-wachtwoord` en `sterk-db-wachtwoord` door sterke, unieke wachtwoorden. Bewaar deze veilig.
|
|
{{< /notice >}}
|
|
|
|
## NextCloud containers starten
|
|
1. Download de benodigde images en start de containers in de achtergrond.
|
|
```bash
|
|
docker compose up -d
|
|
```
|
|
|
|
2. Controleer of de containers draaien.
|
|
```bash
|
|
docker ps
|
|
```
|
|
|
|
Je zou nu containers moeten zien met namen zoals `nextcloud_app` en `nextcloud_db`.
|
|
|
|
## NextCloud installatie afronden
|
|
1. Open een browser en ga naar:
|
|
```text
|
|
http://server-ip:8080
|
|
```
|
|
of, indien je een domeinnaam en reverse proxy gebruikt:
|
|
```text
|
|
https://voorbeeld.nl
|
|
```
|
|
|
|
2. Volg de stappen van de NextCloud installatie:
|
|
- Stel een beheerdersgebruikersnaam en wachtwoord in
|
|
- Controleer dat de database-instellingen overeenkomen met de waarden uit `docker-compose.yml`
|
|
|
|
{{< notice "info" "Informatie" >}}
|
|
Na afronden keert NextCloud terug naar de login-pagina en kun je inloggen met het beheerdersaccount.
|
|
{{< /notice >}}
|
|
|
|
## Data en back-ups
|
|
Alle gegevens worden opgeslagen in:
|
|
|
|
- Database: `/opt/nextcloud/db`
|
|
- NextCloud bestanden en configuratie: `/opt/nextcloud/nextcloud`
|
|
|
|
{{< notice "warning" "Waarschuwing" >}}
|
|
Maak regelmatig back-ups van deze mappen, bij voorkeur met de containers eerst in een consistente staat (bijvoorbeeld tijdelijk stoppen)
|
|
{{< /notice >}}
|
|
Voer het volgende uit om een back-up te maken.
|
|
|
|
```bash
|
|
cd /opt/nextcloud
|
|
docker compose down
|
|
tar czf nextcloud-backup-$(date +%F).tar.gz db nextcloud
|
|
docker compose up -d
|
|
``` |