# LemonLink Landing Page - Docker Compose for Portainer version: '3.8' services: lemonlink: image: nginx:alpine container_name: lemonlink-landing restart: unless-stopped # Volume mounts for easy updates volumes: - ./index.html:/usr/share/nginx/html/index.html:ro - ./styles.css:/usr/share/nginx/html/styles.css:ro - ./script.js:/usr/share/nginx/html/script.js:ro - ./nginx.conf:/etc/nginx/conf.d/default.conf:ro - ./services:/usr/share/nginx/html/services:ro # Network configuration networks: - lemonlink-network # Port mapping - change if needed ports: - "8080:80" # Access at http://your-vm-ip:8080 # Health check healthcheck: test: ["CMD", "wget", "--quiet", "--tries=1", "--spider", "http://localhost/"] interval: 30s timeout: 10s retries: 3 start_period: 10s # Labels for organization labels: - "traefik.enable=true" - "traefik.http.routers.lemonlink.rule=Host(`lemonlink.eu`)" - "traefik.http.routers.lemonlink.entrypoints=web" - "com.lemonlink.description=LemonLink Landing Page" - "com.lemonlink.version=1.0" # Optional: Add a reverse proxy if you want HTTPS/Traefik # Uncomment if you have Traefik in your Portainer setup # # traefik: # image: traefik:v2.10 # container_name: lemonlink-traefik # restart: unless-stopped # command: # - "--api.insecure=true" # - "--providers.docker=true" # - "--providers.docker.exposedbydefault=false" # - "--entrypoints.web.address=:80" # - "--entrypoints.websecure.address=:443" # ports: # - "80:80" # - "443:443" # - "8080:8080" # Traefik dashboard # volumes: # - /var/run/docker.sock:/var/run/docker.sock:ro # networks: # - lemonlink-network networks: lemonlink-network: driver: bridge name: lemonlink-network