lemonlink/docker-compose.yml

68 lines
2.0 KiB
YAML

# 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 (use absolute paths for production)
volumes:
- /opt/lemonlink/index.html:/usr/share/nginx/html/index.html:ro
- /opt/lemonlink/styles.css:/usr/share/nginx/html/styles.css:ro
- /opt/lemonlink/script.js:/usr/share/nginx/html/script.js:ro
- /opt/lemonlink/nginx.conf:/etc/nginx/conf.d/default.conf:ro
- /opt/lemonlink/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