Voor diegenen die overwegen om Nextcloud via Docker te gaan draaien zal ik mijn ervaringen even delen. Zelf draai ik Docker op een (zwaar uitgevoerde

) HP Microserver en de data staat op mijn Synology NAS. Net als @
Shadow771 maak ik gebruik van een MariaDB database.
Data directory permissions
Bij het gebruik van de
official Nextcloud image liep ik tegen wat problemen aan met ownership bij het mounten van een extern data volume.
Zie eventueel ook
deze issues op GitHub. Als je ook tegen deze problemen aanloopt dan zou mijn advies zijn om gebruik te maken van de
image van Linuxserver. Bij deze image is het namelijk mogelijk om een UserId en GroupId mee te geven (dus geen gedoe met chown, chmod etc). Nadat de installatie van Nextcloud is doorlopen zal je (onder de installed regel) in:
code:
1
| /config/www/nextcloud/config/config.php |
de volgende regel moeten toevoegen en daarna de Docker container herstarten:
code:
1
| 'check_data_directory_permissions' => false, |
Cookie liftetime
Na elke 24 uur (even uit mijn hoofd) moest ik weer inloggen op Nextcloud

, terwijl de apparaten waarop ik Nextcloud gebruik altijd ingelogd mogen staan. Dit is eenvoudig te wijzgen in:
code:
1
| /config/www/nextcloud/config/config.php |
Voeg onderstaande toe en start daarna de container opnieuw op:
code:
1
2
| 'remember_login_cookie_lifetime' => 0,
'session_lifetime' => 60 * 60 * 24 * 365, |
HTTPS > HTTP
Als je gebruik gaat maken van de Linuxserver image dan staat HTTPS standaard aan. Het is natuurlijk dik in orde dat dit standaard door Linuxserver wordt meegeleverd!
Maar bij mij zorgde het ervoor dat ik soms dubbel moest inloggen en mijn DuckDuckGo browser slikte het als enige browser niet

(verder niet onderzocht). Verder gebruik ik Nextcloud alleen op mijn thuisnetwerk en schijnt het voor te komen dat er apps zijn die nog geen ondersteuning hebben voor HTTPS.
Dit zijn natuurlijk mijn persoonlijke redenen en daar zal je zelf een afweging in moeten maken
HTTPS heb ik op de volgende manier omgezet naar HTTP:
- Zorg dat je de installatie hebt doorlopen en de configs zijn aangemaakt (zorg ook dat een docker mount is aangemaakt)
- Verwijder de container (en laat de data en config staan), dus: en
- Pas binnen je run script (of docker compose) de port parameter aan van 443 naar 80. Als je bijvoorbeeld port 8088 wilt gebruiken:
- Maak de volgende wijzigingen in:
code:
1
| /config/nginx/site-conf/default |
- Pas "ssl_certificate /config/keys/cert.crt" aan naar (zet een # ervoor):
code:
1
| #ssl_certificate /config/keys/cert.crt |
- Pas ssl_certificate_key /config/keys/cert.key aan naar (zet een # ervoor):
code:
1
| #ssl_certificate_key /config/keys/cert.key |
- Pas de 443 poorten aan naar 80 dus: en
- Pas "fastcgi_param HTTPS on;" aan naar (scroll flink naar beneden):
- En pas aan in:
code:
1
| /config/www/nextcloud/config/config.php |
- Verander naar "http" (met poort 8088 als voorbeeld):
code:
1
| 'overwrite.cli.url' => 'http://xxx.xxx.x.xx:8088', |
- Start de container: en browse naar de url uit de "overwrite.cli.url"
Met deze wijzigingen draaide Nextcloud voor mij als een zonnetje. Ik hoop dat iemand er wat aan heeft. Succes!