129 lines
3.7 KiB
YAML
129 lines
3.7 KiB
YAML
services:
|
|
wings:
|
|
image: ghcr.io/pterodactyl/wings
|
|
container_name: wing
|
|
env_file:
|
|
- .env
|
|
restart: unless-stopped
|
|
networks:
|
|
- proxy
|
|
- wings0
|
|
ports:
|
|
- "2022:2022"
|
|
tty: true
|
|
environment:
|
|
TZ: "Europe/Warsaw"
|
|
WINGS_UID: 988
|
|
WINGS_GID: 988
|
|
WINGS_USERNAME: pterodactyl
|
|
volumes:
|
|
- "/var/run/docker.sock:/var/run/docker.sock"
|
|
- "${TMP_DIR}:${TMP_DIR}"
|
|
- "${DATA_DIR}/etc/:/etc/pterodactyl/"
|
|
- "${DATA_DIR}/logs:/var/log/pterodactyl/"
|
|
- "${DATA_DIR}/lib:/var/lib/pterodactyl/"
|
|
- "${VOLUMES_DIR}:${VOLUMES_DIR}"
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.docker.network=wings_proxy"
|
|
- "traefik.http.routers.wings.rule=Host(`${DOMAIN}`)"
|
|
- "traefik.http.routers.wings.priority=1"
|
|
- "traefik.http.routers.wings.entrypoints=websecure"
|
|
- "traefik.http.routers.wings.tls.certresolver=http"
|
|
- "traefik.http.services.wings.loadbalancer.server.port=443"
|
|
- "com.centurylinklabs.watchtower.enable=true"
|
|
|
|
traefik:
|
|
image: traefik:latest
|
|
restart: unless-stopped
|
|
container_name: traefik
|
|
command:
|
|
# - "--api.insecure=true" # jeśli chcesz włączyć panel sterowania Traefikiem --- IGNORE ---
|
|
- "--providers.docker=true"
|
|
- "--entrypoints.web.address=:80"
|
|
- "--entrypoints.websecure.address=:443"
|
|
- "--certificatesresolvers.http.acme.httpchallenge.entrypoint=web"
|
|
- "--certificatesresolvers.http.acme.email=${TRAEFIK_EMAIL}"
|
|
- "--certificatesresolvers.http.acme.storage=/letsencrypt/acme.json"
|
|
- "--log.level=INFO"
|
|
- "--entrypoints.web.http.redirections.entrypoint.to=websecure"
|
|
- "--entrypoints.web.http.redirections.entrypoint.scheme=https"
|
|
- "--providers.docker.exposedbydefault=false"
|
|
- "--metrics.prometheus=true"
|
|
- "--metrics.prometheus.addrouterslabels=true"
|
|
labels:
|
|
- "com.centurylinklabs.watchtower.enable=true"
|
|
ports:
|
|
- "80:80"
|
|
- "443:443"
|
|
# - "8080:8080" # jeśli chcesz włączyć panel sterowania Traefikiem --- IGNORE ---
|
|
networks:
|
|
- proxy
|
|
- monitoring
|
|
volumes:
|
|
- "/var/run/docker.sock:/var/run/docker.sock:ro"
|
|
- "${TRAEFIK_DIR}/letsencrypt:/letsencrypt"
|
|
|
|
cadvisor:
|
|
image: gcr.io/cadvisor/cadvisor:latest
|
|
container_name: cadvisor
|
|
restart: unless-stopped
|
|
# ports:
|
|
# - "8080:8080" # odkomentuj, jeśli chcesz mieć dostęp do interfejsu webowego cAdvisor
|
|
volumes:
|
|
- "/var/run/docker.sock:/var/run/docker.sock:ro"
|
|
- "/:/rootfs:ro"
|
|
- "/var/run:/var/run:ro"
|
|
- "/sys:/sys:ro"
|
|
- "/var/lib/docker/:/var/lib/docker:ro"
|
|
- "/cgroup:/cgroup:ro"
|
|
- "/dev:/dev:ro"
|
|
- "/etc/machine-id:/etc/machine-id:ro"
|
|
labels:
|
|
- "com.centurylinklabs.watchtower.enable=true"
|
|
networks:
|
|
- monitoring
|
|
|
|
prometheus:
|
|
image: prom/prometheus:latest
|
|
container_name: prometheus
|
|
restart: unless-stopped
|
|
volumes:
|
|
- ${PROMETHEUS_DIR}/prometheus.yml:/etc/prometheus/prometheus.yml
|
|
ports:
|
|
- "9090:9090"
|
|
networks:
|
|
- monitoring
|
|
- proxy
|
|
labels:
|
|
- "com.centurylinklabs.watchtower.enable=true"
|
|
|
|
watchtower:
|
|
image: containrrr/watchtower:latest
|
|
container_name: watchtower
|
|
restart: unless-stopped
|
|
volumes:
|
|
- /var/run/docker.sock:/var/run/docker.sock
|
|
- /etc/localtime:/etc/localtime:ro
|
|
environment:
|
|
- WATCHTOWER_CLEANUP=true
|
|
- WATCHTOWER_LABEL_ENABLE=true
|
|
- WATCHTOWER_SCHEDULE=0 */12 * * *
|
|
network_mode: bridge
|
|
|
|
networks:
|
|
wings0:
|
|
name: wings0
|
|
driver: bridge
|
|
ipam:
|
|
config:
|
|
- subnet: "10.172.0.0/16"
|
|
driver_opts:
|
|
com.docker.network.bridge.name: wings0
|
|
|
|
proxy:
|
|
external: false
|
|
|
|
monitoring:
|
|
external: false
|