Handleiding

Docker en Container Manager op Synology uitgelegd voor beginners

Container Manager klinkt technisch, maar de basis valt mee. Zie een container als een apart pakketje waarin een app met zijn eigen benodigdheden draait, zonder dat je DSM zelf vol installeert.

Wat is een container?

Een container bevat een toepassing en de onderdelen die nodig zijn om die toepassing te draaien. Daardoor kun je apps zoals Immich, Pi-hole of databases relatief geïsoleerd van DSM uitvoeren.

Als een container stukgaat, kun je hem meestal opnieuw maken zolang de belangrijke gegevens buiten de container bewaard zijn.

Container Manager op Synology

Container Manager is Synology's beheeromgeving voor containers. Je vindt er onder andere:

Voor eenvoudige losse apps kun je soms met één container werken. Voor grotere toepassingen is een Project vaak handiger.

Wat is Docker Compose?

Docker Compose is simpel gezegd een tekstbestand dat beschrijft welke containers samen moeten draaien en hoe ze met elkaar verbonden zijn.

Daarin staan bijvoorbeeld:

Synology Container Manager kan zo'n Compose-bestand rechtstreeks als Project gebruiken.

De vier begrippen die je echt moet begrijpen

1. Image

De image is het basispakket waaruit de container wordt gemaakt. Zie het als de installatiebron van de app.

2. Container

De container is de draaiende uitvoering van die image.

3. Volume of mapkoppeling

Hiermee bewaar je belangrijke gegevens buiten de container. Dat is essentieel. Als je een container opnieuw maakt, wil je niet dat je configuratie of database verdwijnt.

4. Poort

Via een poort bereik je de webinterface van een app. Als een app bijvoorbeeld op hostpoort 2283 draait, open je http://NAS-IP:2283.

Waarom projecten meestal prettiger zijn

Een Project houdt meerdere containers en hun Compose-configuratie bij elkaar. Dat is handig bij apps als Immich die uit meerdere onderdelen bestaan.

Je kunt in Container Manager een project maken door een projectnaam, werkmap en Compose-bestand te kiezen. Daarna kun je het project bouwen, starten, stoppen en opnieuw bouwen.

Waar bewaar je Docker-bestanden?

Maak bij voorkeur één duidelijke gedeelde map, bijvoorbeeld:

docker/
├── immich/
├── pi-hole/
└── andere-app/

Per app houd je daarna de Compose-bestanden, environment variables en persistente gegevens logisch bij elkaar of in duidelijk benoemde submappen.

Wat zijn environment variables?

Dat zijn instellingen die de container meekrijgt. Denk aan tijdzone, databasewachtwoord, gebruikers-ID, opslagpad of hostnaam.

Veel projecten bewaren deze waarden in een .env-bestand. Pas dat bestand zorgvuldig aan en bewaar een back-up.

Wanneer gebruik je PUID en PGID?

Sommige containers gebruiken PUID en PGID om te bepalen onder welke gebruiker ze bestanden op je NAS mogen lezen of schrijven. Als die waarden niet bij de maprechten passen, krijg je vaak een permission denied-melding.

Niet iedere container gebruikt deze methode, dus voeg dit niet zomaar toe als de documentatie er niets over zegt.

Hoe update je een container?

Een container-update betekent meestal dat je een nieuwe image ophaalt en de container opnieuw maakt. Bij een Compose-project blijft je configuratie behouden zolang de persistente gegevens en environment variables goed zijn ingericht.

Lees bij grote updates altijd eerst de release notes van de app. Vooral database-upgrades kunnen extra stappen vereisen.

Wanneer moet je niet meteen op Clean klikken?

De actie Clean in Container Manager is bedoeld om projectonderdelen op te ruimen voordat je opnieuw bouwt. Gebruik dit niet als paniekknop. Controleer eerst waar je gegevens staan en maak bij belangrijke apps een back-up.

Hoeveel containers kan mijn NAS aan?

Dat hangt veel meer af van CPU, RAM en wat de containers doen dan van één vast getal. Pi-hole is relatief licht. Immich met machine learning, databases en grote imports kan veel zwaarder zijn.

Houd daarom in Container Manager het resourcegebruik in de gaten. Een NAS met uitbreidbaar RAM is voor een groeiende thuisserver meestal prettiger.

Een veilige beginnersroute

  1. Installeer Container Manager.
  2. Begin met één nuttige app.
  3. Maak een vaste map voor die app.
  4. Gebruik de actuele Compose-documentatie van de app.
  5. Controleer waar persistente gegevens staan.
  6. Start het project.
  7. Controleer logs en resourcegebruik.
  8. Maak een back-up voordat je grote updates uitvoert.

Volgende stap: Immich installeren