dev-ops
Examen blog - Niveau 2
Complete stack met NodeJS, Postgres, Nginx & Traefik.
1. Traefik Setup (Root)
sudo -iWord root gebruiker (nodig voor Traefik setup in home)
mkdir -p ~/traefik && cd ~/traefikMaak de map aan en ga erin
docker network create gatewayMaak het gedeelde netwerk voor de proxy
docker compose up -dStart Traefik (zorg dat dashboard label aan staat)
2. Dockerfiles Bouwen
FROM node:20-bullseyeWORKDIR /appCOPY package*.json ./RUN npm installCOPY . .CMD ["node", "index.js"]Inhoud voor api/Dockerfile én frontend/Dockerfile
3. Configuratie (.env & Auth)
echo $(htpasswd -nb bloemkool SuperLekkerEten!)Genereer Basic Auth hash voor Admin label
API_URL=http://frontend:4000 STORAGE=postgres POSTGRES_HOST=db POSTGRES_USER=postgres POSTGRES_PWD=mysecret POSTGRES_DB=blog Voorbeeld inhoud voor .env bestand
4. Docker Compose Services
volumes: - ./admin:/usr/share/nginx/htmlNginx Admin: Mount de map, bouw GEEN image
traefik.http.routers.api.rule=Host(`...`) && PathPrefix(`/api`)Label: API routing met PathPrefix
traefik.http.middlewares.my-auth.basicauth.users=bloemkool:$$apr1$$... Label: Voeg auth middleware toe aan Admin
5. Uitvoeren & DB
docker compose up -d --buildBouw images en start de applicatie
docker compose logs -f apiCheck of API connectie maakt met DB