# Docker Compose

<datetime class="hidden">2024-07-30T13:30</datetime>

<!--category-- Docker -->
Docker Compose is een gereedschap voor het definiëren en runnen van multi-dockerprogramma's-container Docker-applicaties. Met ComposeM SK2 gebruik je een YAML-lêer om je toepassing te konfigureren 's dienstenMST4 DanMSP5 met één enkele opdragMst6 creëer je en begin je alle diensten vanuit je konfiguratieMSt7

Op dit moment gebruik ik Docker Compose om een paar diensten op mijn server te runnen.

- Meest duidelijk - mijn blog ( deze een)
- Cloudflared - een dienst die het verkeer naar mijn server tunnelt.
- Watchtower - een dienst die kijkt naar updates van mijn containers en ze als nodig herstart.

Hier is de `docker-compose.yml` file die ik gebruik om deze Diensten te runnen:

```yaml
services:
  mostlylucid:
    image: scottgal/mostlylucid:latest
    labels:
        - "com.centurylinklabs.watchtower.enable=true"
  cloudflared:
    image: cloudflare/cloudflared:latest
    command: tunnel --no-autoupdate run --token ${CLOUDFLARED_TOKEN}
    env_file:
      - .env
        
  watchtower:
    image: containrrr/watchtower
    container_name: watchtower
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    environment:
      - WATCHTOWER_CLEANUP=true
      - WATCHTOWER_LABEL_ENABLE=true
    command: --interval 300 # Check for updates every 300 seconds (5 minutes)
```