dSantana17

Configurando a VPS

Jun 30th, 2024 (edited)
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.34 KB | None | 0 0
  1.  
  2.  
  3.  
  4. Stack do Traefik
  5. Mude o [COLOCAR > EMAIL] - para o seu email
  6.  
  7. ```
  8. version: "3.7"
  9.  
  10. services:
  11.  
  12. traefik:
  13. image: traefik:v2.11.3
  14. command:
  15. - "--api.dashboard=true"
  16. - "--providers.docker.swarmMode=true"
  17. - "--providers.docker.endpoint=unix:///var/run/docker.sock"
  18. - "--providers.docker.exposedbydefault=false"
  19. - "--providers.docker.network=network_public"
  20. - "--entrypoints.web.address=:80"
  21. - "--entrypoints.web.http.redirections.entryPoint.to=websecure"
  22. - "--entrypoints.web.http.redirections.entryPoint.scheme=https"
  23. - "--entrypoints.web.http.redirections.entrypoint.permanent=true"
  24. - "--entrypoints.websecure.address=:443"
  25. - "--certificatesresolvers.letsencryptresolver.acme.httpchallenge=true"
  26. - "--certificatesresolvers.letsencryptresolver.acme.httpchallenge.entrypoint=web"
  27. - "--certificatesresolvers.letsencryptresolver.acme.email=${SMTP_EMAIL}"
  28. - "--certificatesresolvers.letsencryptresolver.acme.storage=/etc/traefik/letsencrypt/acme.json"
  29. - "--log.level=DEBUG"
  30. - "--log.format=common"
  31. - "--log.filePath=/var/log/traefik/traefik.log"
  32. - "--accesslog=true"
  33. - "--accesslog.filepath=/var/log/traefik/access-log"
  34. deploy:
  35. placement:
  36. constraints:
  37. - node.role == manager
  38. restart_policy:
  39. condition: any
  40. delay: 5s
  41. labels:
  42. - "traefik.enable=true"
  43. - "traefik.http.middlewares.redirect-https.redirectscheme.scheme=https"
  44. - "traefik.http.middlewares.redirect-https.redirectscheme.permanent=true"
  45. - "traefik.http.routers.http-catchall.rule=hostregexp(`{host:.+}`)"
  46. - "traefik.http.routers.http-catchall.entrypoints=web"
  47. - "traefik.http.routers.http-catchall.middlewares=redirect-https@docker"
  48. - "traefik.http.routers.http-catchall.priority=1"
  49. volumes:
  50. - "/var/run/docker.sock:/var/run/docker.sock:ro"
  51. - "vol_certificates:/etc/traefik/letsencrypt"
  52. ports:
  53. - target: 80
  54. published: 80
  55. mode: host
  56. - target: 443
  57. published: 443
  58. mode: host
  59. networks:
  60. - network_public
  61.  
  62. volumes:
  63.  
  64. vol_shared:
  65. external: true
  66. name: volume_swarm_shared
  67. vol_certificates:
  68. external: true
  69. name: volume_swarm_certificates
  70.  
  71. networks:
  72.  
  73. network_public:
  74. external: true
  75. name: network_public
  76.  
  77. # sudo docker stack deploy -c traefik.yml traefik
  78.  
  79. ```
  80.  
  81.  
  82.  
  83.  
  84.  
  85.  
  86.  
  87. Stack do Portainer
  88. Mude o [COLOCAR > DOMINIO] - para o seu dominio
  89. ```
  90. version: "3.7"
  91.  
  92. services:
  93. portainer_agent:
  94. image: portainer/agent:2.20.1
  95. volumes:
  96. - /var/run/docker.sock:/var/run/docker.sock
  97. - /var/lib/docker/volumes:/var/lib/docker/volumes
  98. networks:
  99. - network_public
  100. deploy:
  101. mode: global
  102. placement:
  103. constraints: [node.platform.os == linux]
  104.  
  105. portainer:
  106. image: portainer/portainer-ce:2.20.1
  107. command: -H tcp://tasks.portainer_agent:9001 --tlsskipverify
  108. volumes:
  109. - portainer_data:/data
  110. networks:
  111. - network_public
  112.  
  113. deploy:
  114. mode: replicated
  115. replicas: 1
  116. placement:
  117. constraints: [node.role == manager]
  118. labels:
  119. - "traefik.enable=true"
  120. - "traefik.docker.network=network_public"
  121. - "traefik.http.routers.portainer.rule=Host(`https://${PORTAINER}.${DOMINIO_PRINCIPAL_CLIENTE}`)"
  122. - "traefik.http.routers.portainer.entrypoints=websecure"
  123. - "traefik.http.routers.portainer.priority=1"
  124. - "traefik.http.routers.portainer.tls.certresolver=letsencryptresolver"
  125. - "traefik.http.routers.portainer.service=portainer"
  126. - "traefik.http.services.portainer.loadbalancer.server.port=9000"
  127.  
  128. networks:
  129. network_public:
  130. external: true
  131. attachable: true
  132. name: network_public
  133.  
  134. volumes:
  135. portainer_data:
  136. external: true
  137. name: portainer_data
  138.  
  139. # sudo docker stack deploy -c portainer.yml portainer
  140. ```
  141.  
  142.  
  143.  
  144. Código para usar na VPS:
  145.  
  146. sudo apt-get update \
  147. ; apt-get install -y apparmor-utils \
  148. ; curl -fsSL https://get.docker.com | bash \
  149. ; docker swarm init \
  150. ; docker network create --driver=overlay network_public \
  151. ; docker stack deploy --prune --resolve-image always -c traefik.yml traefik \
  152. ; docker stack deploy --prune --resolve-image always -c portainer.yml portainer
Advertisement
Add Comment
Please, Sign In to add comment