Son aktivite 6 months ago

Revizyon 5b3def219b2a09668f1c093e1e2efde07946d7a7

deploy_portainer.sh Ham
1#!/bin/bash
2DOCKER_BASE=/srv/docker
3
4mkdir -p ${DOCKER_BASE}/portainer/container.conf
5
6cat > ${DOCKER_BASE}/portainer/container.conf/docker-compose.yml <<EOF
7version: '3.7'
8services:
9 portainer:
10 image: portainer/portainer
11 networks:
12 - default
13 - traefik_default
14 labels:
15 - traefik.enable=true
16 - traefik.backend=portainer
17 - traefik.docker.network=traefik_default
18 - traefik.port=9000
19 - traefik.default.protocol=http
20 restart: always
21 volumes:
22 - /srv/docker/portainer/data:/data
23 - /var/run/docker.sock:/var/run/docker.sock
24 - /etc/localtime:/etc/localtime:ro
25 - /etc/timezone:/etc/timezone:ro
26
27networks:
28 traefik_default:
29 external: true
30EOF
31ln -s container.conf/docker-compose.yml ${DOCKER_BASE}/portainer/
32
33cat > ${DOCKER_BASE}/portainer/container.conf/production.yml <<EOF
34version: '3.7'
35
36services:
37
38 portainer:
39 labels:
40 - traefik.frontend.rule=Host:host.test.org;PathPrefixStrip:/ui
41 - com.centurylinklabs.watchtower.enable=true
42EOF
43
44cat > ${DOCKER_BASE}/portainer/container.conf/portainer.service <<EOF
45[Unit]
46Description=Portainer Service
47After=network.target docker.service traefik.service
48Requires=docker.service
49
50[Service]
51Type=oneshot
52RemainAfterExit=yes
53
54Environment="WORK_DIR=/srv/docker/portainer/"
55WorkingDirectory=/srv/docker/portainer/
56ExecStartPre=-/usr/local/bin/docker-compose -f "\${WORK_DIR}/docker-compose.yml" -f "\${WORK_DIR}/container.conf/production.yml" down
57ExecStart=/usr/local/bin/docker-compose -f "\${WORK_DIR}/docker-compose.yml" -f "\${WORK_DIR}/container.conf/production.yml" up -d
58ExecStop=/usr/local/bin/docker-compose -f "\${WORK_DIR}/docker-compose.yml" -f "\${WORK_DIR}/container.conf/production.yml" down
59
60[Install]
61WantedBy=docker.service
62EOF
63ln -s ${DOCKER_BASE}/portainer/container.conf/portainer.service /etc/systemd/system/
64
65systemctl daemon-reload && systemctl enable portainer && systemctl start portainer
66