Skip to content

Instantly share code, notes, and snippets.

@kinnalru
Last active March 31, 2021 05:33
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kinnalru/c5e7128b972eee2c0758560000618183 to your computer and use it in GitHub Desktop.
Save kinnalru/c5e7128b972eee2c0758560000618183 to your computer and use it in GitHub Desktop.
Portainer service description
version: "3.7"
x-log: &log
options:
max-size: '50m'
max-file: '3'
labels: com.docker.compose.service
driver: json-file
x-base: &base
stop_grace_period: ${STOP_GRACE_PERIOD-30}s
logging: *log
networks:
- portainer_network
x-deploy: &deploy
resources:
limits:
memory: 200m
restart_policy:
condition: any
services:
agent:
<<: *base
image: portainer/agent
volumes:
- tmp:/tmp
- /var/run/docker.sock:/var/run/docker.sock # Да, им нужен доступ
- /var/lib/docker/volumes:/var/lib/docker/volumes
deploy:
<<: *deploy
mode: global # На каждой ноде
placement:
constraints:
- node.platform.os == linux
portainer:
<<: *base
image: portainer/portainer
command: -H tcp://tasks.agent:9001 --tlsskipverify # Ищет своих агентов в доступной сети, используя DNS докера
ports:
- target: 9000
published: 9000
protocol: tcp
mode: host
- target: 8000
published: 8000
protocol: tcp
mode: host
labels:
SERVICE_8000_IGNORE: 'true'
SERVICE_9000_TAGS: "traefik.enable=true,\
traefik.http.routers.portainer.rule=Host(`portainer.env.local`),\
traefik.http.routers.portainer.tls=true,\
traefik.http.routers.portainer.entrypoints=websecure"
SERVICE_9000_NAME: env/local/portainer
SERVICE_9000_CHECK_TCP: "true"
SERVICE_9000_CHECK_INTERVAL: 40s
SERVICE_9000_CHECK_TIMEOUT: 3s
SERVICE_9000_CHECK_DEREGISTER_AFTER: 1m
volumes:
- tmp:/tmp
- portainer_data:/data
deploy:
<<: *deploy
mode: replicated
replicas: 1 # одной ноды достаточно
placement:
constraints:
- node.role == manager # только на менеджерах
networks:
portainer_network:
driver: overlay
attachable: true
volumes:
portainer_data:
tmp:
driver: local
driver_opts:
type: tmpfs
device: tmpfs
o: size=100m
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment