67 lines
1.9 KiB
YAML
67 lines
1.9 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
|
|
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
|
|
|
|
# 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
|