diff --git a/config/docker/portainer/docker-compose.yml b/config/docker/portainer/docker-compose.yml new file mode 100644 index 0000000..84cb923 --- /dev/null +++ b/config/docker/portainer/docker-compose.yml @@ -0,0 +1,50 @@ +# Portainer Docker Compose Configuration +# Deploy with: sudo mkdir -p /opt/docker/portainer && sudo cp config/docker/portainer/docker-compose.yml /opt/docker/portainer/ +# Start with: cd /opt/docker/portainer && sudo docker-compose up -d + +# PORTAINER CONFIGURATION +# - Web UI for Docker container management +# - Bound to localhost only (reverse proxy recommended) +# - Persistent data storage in named volume + +services: + portainer: + image: portainer/portainer-ce:latest + container_name: portainer + restart: unless-stopped + + # Environment + environment: + - TZ=Europe/Budapest + + # Network - bind to localhost for security + ports: + - "127.0.0.1:9000:9000" # Web UI (reverse proxy only) + + # Volume mounts + volumes: + # Docker socket for container management + - /var/run/docker.sock:/var/run/docker.sock + # Portainer data + - portainer_data:/data + + # Resource limits + deploy: + resources: + limits: + cpus: '0.5' + memory: 512M + reservations: + cpus: '0.1' + memory: 128M + + # Health check + healthcheck: + test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:9000/api/status"] + interval: 30s + timeout: 10s + retries: 3 + start_period: 30s + +volumes: + portainer_data: