Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Stack do Traefik
- Mude o [COLOCAR > EMAIL] - para o seu email
- ```
- version: "3.7"
- services:
- traefik:
- image: traefik:v2.11.3
- command:
- - "--api.dashboard=true"
- - "--providers.docker.swarmMode=true"
- - "--providers.docker.endpoint=unix:///var/run/docker.sock"
- - "--providers.docker.exposedbydefault=false"
- - "--providers.docker.network=network_public"
- - "--entrypoints.web.address=:80"
- - "--entrypoints.web.http.redirections.entryPoint.to=websecure"
- - "--entrypoints.web.http.redirections.entryPoint.scheme=https"
- - "--entrypoints.web.http.redirections.entrypoint.permanent=true"
- - "--entrypoints.websecure.address=:443"
- - "--certificatesresolvers.letsencryptresolver.acme.httpchallenge=true"
- - "--certificatesresolvers.letsencryptresolver.acme.httpchallenge.entrypoint=web"
- - "--certificatesresolvers.letsencryptresolver.acme.email=${SMTP_EMAIL}"
- - "--certificatesresolvers.letsencryptresolver.acme.storage=/etc/traefik/letsencrypt/acme.json"
- - "--log.level=DEBUG"
- - "--log.format=common"
- - "--log.filePath=/var/log/traefik/traefik.log"
- - "--accesslog=true"
- - "--accesslog.filepath=/var/log/traefik/access-log"
- deploy:
- placement:
- constraints:
- - node.role == manager
- restart_policy:
- condition: any
- delay: 5s
- labels:
- - "traefik.enable=true"
- - "traefik.http.middlewares.redirect-https.redirectscheme.scheme=https"
- - "traefik.http.middlewares.redirect-https.redirectscheme.permanent=true"
- - "traefik.http.routers.http-catchall.rule=hostregexp(`{host:.+}`)"
- - "traefik.http.routers.http-catchall.entrypoints=web"
- - "traefik.http.routers.http-catchall.middlewares=redirect-https@docker"
- - "traefik.http.routers.http-catchall.priority=1"
- volumes:
- - "/var/run/docker.sock:/var/run/docker.sock:ro"
- - "vol_certificates:/etc/traefik/letsencrypt"
- ports:
- - target: 80
- published: 80
- mode: host
- - target: 443
- published: 443
- mode: host
- networks:
- - network_public
- volumes:
- vol_shared:
- external: true
- name: volume_swarm_shared
- vol_certificates:
- external: true
- name: volume_swarm_certificates
- networks:
- network_public:
- external: true
- name: network_public
- # sudo docker stack deploy -c traefik.yml traefik
- ```
- Stack do Portainer
- Mude o [COLOCAR > DOMINIO] - para o seu dominio
- ```
- version: "3.7"
- services:
- portainer_agent:
- image: portainer/agent:2.20.1
- volumes:
- - /var/run/docker.sock:/var/run/docker.sock
- - /var/lib/docker/volumes:/var/lib/docker/volumes
- networks:
- - network_public
- deploy:
- mode: global
- placement:
- constraints: [node.platform.os == linux]
- portainer:
- image: portainer/portainer-ce:2.20.1
- command: -H tcp://tasks.portainer_agent:9001 --tlsskipverify
- volumes:
- - portainer_data:/data
- networks:
- - network_public
- deploy:
- mode: replicated
- replicas: 1
- placement:
- constraints: [node.role == manager]
- labels:
- - "traefik.enable=true"
- - "traefik.docker.network=network_public"
- - "traefik.http.routers.portainer.rule=Host(`https://${PORTAINER}.${DOMINIO_PRINCIPAL_CLIENTE}`)"
- - "traefik.http.routers.portainer.entrypoints=websecure"
- - "traefik.http.routers.portainer.priority=1"
- - "traefik.http.routers.portainer.tls.certresolver=letsencryptresolver"
- - "traefik.http.routers.portainer.service=portainer"
- - "traefik.http.services.portainer.loadbalancer.server.port=9000"
- networks:
- network_public:
- external: true
- attachable: true
- name: network_public
- volumes:
- portainer_data:
- external: true
- name: portainer_data
- # sudo docker stack deploy -c portainer.yml portainer
- ```
- Código para usar na VPS:
- sudo apt-get update \
- ; apt-get install -y apparmor-utils \
- ; curl -fsSL https://get.docker.com | bash \
- ; docker swarm init \
- ; docker network create --driver=overlay network_public \
- ; docker stack deploy --prune --resolve-image always -c traefik.yml traefik \
- ; docker stack deploy --prune --resolve-image always -c portainer.yml portainer
Advertisement
Add Comment
Please, Sign In to add comment