Naposledy aktivní 6 months ago

Revize 39e55b90317f6eb0cc2d7539ee97409791607c6d

deploy_watchtower.sh Raw
1#!/bin/bash
2DOCKER_BASE=/srv/docker
3
4mkdir -p ${DOCKER_BASE}/watchtower/container.conf
5
6cat > ${DOCKER_BASE}/watchtower/container.conf/docker-compose.yml <<EOF
7version: '3.3'
8
9services:
10 watchtower:
11 image: v2tec/watchtower
12 labels:
13 com.centurylinklabs.watchtower.enable: "true"
14 restart: on-failure
15 volumes:
16 - /var/run/docker.sock:/var/run/docker.sock
17 command: --interval 3600 --label-enable
18EOF
19ln -s container.conf/docker-compose.yml ${DOCKER_BASE}/watchtower/
20
21cat > ${DOCKER_BASE}/watchtower/container.conf/watchtower.service <<EOF
22[Unit]
23Description=Watchtower Service
24After=network.target docker.service
25Requires=docker.service
26
27[Service]
28Type=oneshot
29RemainAfterExit=yes
30
31Environment="WORK_DIR=/srv/docker/watchtower/"
32WorkingDirectory=/srv/docker/watchtower/
33ExecStartPre=-/usr/local/bin/docker-compose -f "\${WORK_DIR}/docker-compose.yml" down
34ExecStartPre=-/usr/local/bin/docker-compose -f "\${WORK_DIR}/docker-compose.yml" pull
35ExecStart=/usr/local/bin/docker-compose -f "\${WORK_DIR}/docker-compose.yml" up -d
36ExecStop=/usr/local/bin/docker-compose -f "\${WORK_DIR}/docker-compose.yml" down
37
38[Install]
39WantedBy=docker.service
40EOF
41ln -s ${DOCKER_BASE}/watchtower/container.conf/watchtower.service /etc/systemd/system/
42
43systemctl daemon-reload && systemctl enable watchtower && systemctl start watchtower