mirror of
https://github.com/basnijholt/compose-farm.git
synced 2026-06-11 04:10:30 +01:00
Compose Farm Examples
This folder contains example Docker Compose services for testing Compose Farm locally.
Quick Start
cd examples
# Check status of all services
compose-farm ps
# Pull images
compose-farm pull --all
# Start hello-world (runs and exits)
compose-farm up hello
# Start nginx (stays running)
compose-farm up nginx
# Check nginx is running
curl localhost:8080
# View logs
compose-farm logs nginx
# Stop nginx
compose-farm down nginx
# Update all (pull + restart)
compose-farm update --all
Traefik Example
Start Traefik and a sample service with Traefik labels:
cd examples
# Start Traefik (reverse proxy with dashboard)
compose-farm up traefik
# Start whoami (test service with Traefik labels)
compose-farm up whoami
# Access the services
curl -H "Host: whoami.localhost" http://localhost # whoami via Traefik
curl http://localhost:8081 # Traefik dashboard
curl http://localhost:18082 # whoami direct
# Generate Traefik file-provider config (for multi-host setups)
compose-farm traefik-file --all
# Stop everything
compose-farm down --all
The whoami/docker-compose.yml shows the standard Traefik label pattern:
labels:
- traefik.enable=true
- traefik.http.routers.whoami.rule=Host(`whoami.localhost`)
- traefik.http.routers.whoami.entrypoints=web
- traefik.http.services.whoami.loadbalancer.server.port=80
Services
| Service | Description | Ports |
|---|---|---|
| hello | Hello-world container (exits immediately) | - |
| nginx | Nginx web server | 8080 |
| traefik | Traefik reverse proxy with dashboard | 80, 8081 |
| whoami | Test service with Traefik labels | 18082 |
Config
The compose-farm.yaml in this directory configures all services to run locally (no SSH).
It also demonstrates the traefik_file option for auto-regenerating Traefik file-provider config.