lemonlink/portainer-stack.yml

73 lines
2.2 KiB
YAML

# 🍋 LemonLink - Portainer Stack Template
# Copy this entire content and paste into Portainer Stack Web Editor
version: '3.8'
services:
lemonlink:
image: nginx:alpine
container_name: lemonlink-landing
restart: unless-stopped
# Mount website files from host (absolute paths for Portainer)
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/arcade.html:/usr/share/nginx/html/arcade.html:ro
- /opt/lemonlink/nginx.conf:/etc/nginx/conf.d/default.conf:ro
- /opt/lemonlink/services:/usr/share/nginx/html/services:ro
# Network
networks:
- lemonlink-network
# Port mapping - access at http://your-vm-ip:8080
ports:
- "8080:80"
# Health check
healthcheck:
test: ["CMD", "wget", "--quiet", "--tries=1", "--spider", "http://localhost/"]
interval: 30s
timeout: 10s
retries: 3
start_period: 10s
# Labels for Traefik (uncomment if using Traefik)
# labels:
# - "traefik.enable=true"
# - "traefik.http.routers.lemonlink.rule=Host(`lemonlink.eu`)"
# - "traefik.http.routers.lemonlink.entrypoints=websecure"
# - "traefik.http.routers.lemonlink.tls.certresolver=letsencrypt"
# - "traefik.http.services.lemonlink.loadbalancer.server.port=80"
networks:
lemonlink-network:
driver: bridge
name: lemonlink-network
# 🔧 SETUP INSTRUCTIONS:
#
# 1. SSH into your Docker VM:
# ssh root@your-docker-vm-ip
#
# 2. Create directory and upload files:
# mkdir -p /opt/lemonlink/services
# # Upload index.html, styles.css, script.js, nginx.conf, and services/ folder to /opt/lemonlink/
#
# 3. In Portainer:
# - Go to Stacks → + Add Stack
# - Name: lemonlink
# - Copy this entire file into Web Editor
# - Click Deploy
#
# 4. Access your site:
# http://your-docker-vm-ip:8080
#
# 📝 For HTTPS with Traefik:
# - Uncomment the labels section above
# - Remove the "ports" section
# - Ensure Traefik is running on the same network
# - Point your domain DNS to this server