Introductie
Het opzetten en beheren van een zelfgehoste omgeving kan een lonende onderneming zijn, vooral wanneer je een Virtual Private Server (VPS) gebruikt om je applicaties te hosten. Traefik, een moderne reverse proxy en load balancer voor microservices, kan je routingbehoeften vereenvoudigen. In deze gids verkennen we hoe je Traefik instelt om automatisch SSL-certificaten te beheren voor al je Docker-toepassingen op een VPS.
Traefik installeren op je VPS
Volg deze stappen om Traefik op te zetten en te laten draaien op je VPS.
Vereisten
- Een VPS (bekijk onze volledige VPS-vergelijking)
- Docker en Docker Compose geรฏnstalleerd op je VPS
- Basiskennis van Docker en netwerken
Stap 1: Kies je VPS-provider
Het kiezen van de juiste VPS-provider beรฏnvloedt je self-hosting ervaring. Hier is een vergelijking van top providers:
| Provider | Maandelijkse Kosten (EUR/USD) | Opmerkingen |
|---|---|---|
| Contabo VPS | 5.99 EUR | Goede CPU- en opslagopties |
| Hetzner Cloud | 4.15 EUR | Budgetvriendelijk met goede specificaties |
| DigitalOcean | 6 USD | Ontwikkelaarsvriendelijk met regioโs |
| Vultr | 6 USD | Flexibele betalingsopties |
| Linode | 5 USD | Geweldige ondersteuning en community |
Stap 2: Installeer Docker en Docker Compose
Voor de meeste Linux-distributies kun je Docker en Docker Compose installeren met de volgende commandoโs:
# Werk de pakketindex bij
sudo apt-get update
# Installeer Docker
sudo apt-get install -y docker.io
# Installeer Docker Compose
sudo apt-get install -y docker-compose
Stap 3: Docker-netwerk configureren
Maak een Docker-netwerk voor Traefik en je apps:
docker network create web
Stap 4: Traefik configureren
Om Traefik te installeren, maak je een directory voor de configuratie:
mkdir traefik && cd traefik
Maak nu een docker-compose.yml bestand met de volgende inhoud:
version: '3.7'
services:
reverse_proxy:
image: traefik:v2.5
command:
- "--api.insecure=true"
- "--providers.docker=true"
- "--entrypoints.web.address=:80"
- "--entrypoints.web.http.redirections.entryPoint.to=websecure"
- "--entrypoints.websecure.address=:443"
- "--certificatesresolvers.myresolver.acme.tlschallenge=true"
- "--certificatesresolvers.myresolver.acme.email=your-email@example.com"
- "--certificatesresolvers.myresolver.acme.storage=/letsencrypt/acme.json"
ports:
- "80:80"
- "443:443"
volumes:
- "/var/run/docker.sock:/var/run/docker.sock"
- "./letsencrypt:/letsencrypt"
networks:
- web
networks:
web:
external: true
Vervang [email protected] door je echte emailadres voor Lets Encrypt-meldingen.
Stap 5: Start Traefik
Voer het volgende commando uit om Traefik te starten:
docker-compose up -d
Je kunt controleren of Traefik draait door te navigeren naar http://JOUW_VPS_IP:8080 waar je het Traefik-dashboard vindt.
Stap 6: Docker-applicaties implementeren
Met Traefik draaiend, kun je andere Docker-toepassingen uitrollen met labels om integratie met Traefik voor routing en SSL mogelijk te maken. Hier is een voorbeeld van een applicatieconfiguratie:
version: '3.7'
services:
mijn_app:
image: mijn_app_image
labels:
- "traefik.enable=true"
- "traefik.http.routers.mijn_app.rule=Host(`jouwdomein.com`)"
- "traefik.http.routers.mijn_app.entrypoints=websecure"
- "traefik.http.routers.mijn_app.tls=true"
- "traefik.http.routers.mijn_app.tls.certresolver=myresolver"
networks:
- web
Stap 7: Toegang tot je applicatie
Zodra je applicatie is uitgerold, kun je deze veilig benaderen via https://jouwdomein.com.
FAQ
Wat als mijn applicatie geen domein of subdomein heeft?
Het gebruik van Traefik vereist dat je een domein of subdomein instelt voor SSL-uitgifte via Letโs Encrypt. Als je geen domein hebt, overweeg dan er een te registreren via een domeinregistrar. Een andere optie is het gebruik van een dynamische DNS-service, die door veel providers wordt ondersteund. Hiermee kun je verkeer betrouwbaar routeren zonder een statisch domein.
Hoe beheert Traefik SSL-certificaten?
Traefik integreert naadloos met Letโs Encrypt, een automatische certificeringsautoriteit die gratis SSL-certificaten uitgeeft. Door Traefik te configureren met de juiste instellingen in het docker-compose.yml bestand zoals hierboven weergegeven, vraagt en verlengt het automatisch je SSL-certificaten. Zo blijven je verbindingen met Docker-apps veilig zonder handmatige tussenkomst.
Is Traefik geschikt voor een productieomgeving?
Ja, Traefik is ontworpen voor gebruik in productie, met naadloze SSL-beheer en ondersteuning voor microservices-architectuur. Met functies zoals load balancing, automatische omleiding en een overzichtelijk dashboard is het een krachtig hulpmiddel voor elke productie-omgeving. Bedrijven, ontwikkelaars en homelabbers gebruiken Traefik succesvol in diverse self-hosted omgevingen.
Conclusie
Het gebruik van Traefik om SSL te automatiseren voor je Docker-apps op een VPS stroomlijnt het beheer, verbetert de beveiliging en bespaart tijd. Met het toenemende belang van HTTPS is deze setup een waardevolle investering voor elke ontwikkelaar of homelabber. Veel plezier met self-hosting! --- END ---