deploy_watchtower.sh
· 1.7 KiB · Bash
Неформатований
#!/bin/bash
DOCKER_BASE=/srv/docker
mkdir -p ${DOCKER_BASE}/watchtower/container.conf
cat > ${DOCKER_BASE}/watchtower/container.conf/docker-compose.yml <<EOF
version: '3.7'
services:
watchtower:
image: containrrr/watchtower
labels:
com.centurylinklabs.watchtower.enable: "true"
restart: on-failure
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /etc/localtime:/etc/localtime:ro
- /etc/timezone:/etc/timezone:ro
command: --interval 3600 --label-enable
EOF
ln -s container.conf/docker-compose.yml ${DOCKER_BASE}/watchtower/
cat > ${DOCKER_BASE}/watchtower/container.conf/production.yml <<EOF
version: '3.7'
EOF
cat > ${DOCKER_BASE}/watchtower/container.conf/watchtower.service <<EOF
[Unit]
Description=Watchtower Service
After=network.target docker.service
Requires=docker.service
[Service]
Type=oneshot
RemainAfterExit=yes
Environment="WORK_DIR=/srv/docker/watchtower/"
WorkingDirectory=/srv/docker/watchtower/
ExecStartPre=-/usr/local/bin/docker-compose -f "\${WORK_DIR}/docker-compose.yml" -f "\${WORK_DIR}/container.conf/production.yml" down
ExecStartPre=-/usr/local/bin/docker-compose -f "\${WORK_DIR}/docker-compose.yml" -f "\${WORK_DIR}/container.conf/production.yml" pull
ExecStart=/usr/local/bin/docker-compose -f "\${WORK_DIR}/docker-compose.yml" -f "\${WORK_DIR}/container.conf/production.yml" up -d
ExecStop=/usr/local/bin/docker-compose -f "\${WORK_DIR}/docker-compose.yml" -f "\${WORK_DIR}/container.conf/production.yml" down
[Install]
WantedBy=docker.service
EOF
ln -s ${DOCKER_BASE}/watchtower/container.conf/watchtower.service /etc/systemd/system/
systemctl daemon-reload && systemctl enable watchtower && systemctl start watchtower
| 1 | #!/bin/bash |
| 2 | DOCKER_BASE=/srv/docker |
| 3 | |
| 4 | mkdir -p ${DOCKER_BASE}/watchtower/container.conf |
| 5 | |
| 6 | cat > ${DOCKER_BASE}/watchtower/container.conf/docker-compose.yml <<EOF |
| 7 | version: '3.7' |
| 8 | |
| 9 | services: |
| 10 | watchtower: |
| 11 | image: containrrr/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 | - /etc/localtime:/etc/localtime:ro |
| 18 | - /etc/timezone:/etc/timezone:ro |
| 19 | command: --interval 3600 --label-enable |
| 20 | EOF |
| 21 | ln -s container.conf/docker-compose.yml ${DOCKER_BASE}/watchtower/ |
| 22 | |
| 23 | cat > ${DOCKER_BASE}/watchtower/container.conf/production.yml <<EOF |
| 24 | version: '3.7' |
| 25 | EOF |
| 26 | |
| 27 | cat > ${DOCKER_BASE}/watchtower/container.conf/watchtower.service <<EOF |
| 28 | [Unit] |
| 29 | Description=Watchtower Service |
| 30 | After=network.target docker.service |
| 31 | Requires=docker.service |
| 32 | |
| 33 | [Service] |
| 34 | Type=oneshot |
| 35 | RemainAfterExit=yes |
| 36 | |
| 37 | Environment="WORK_DIR=/srv/docker/watchtower/" |
| 38 | WorkingDirectory=/srv/docker/watchtower/ |
| 39 | ExecStartPre=-/usr/local/bin/docker-compose -f "\${WORK_DIR}/docker-compose.yml" -f "\${WORK_DIR}/container.conf/production.yml" down |
| 40 | ExecStartPre=-/usr/local/bin/docker-compose -f "\${WORK_DIR}/docker-compose.yml" -f "\${WORK_DIR}/container.conf/production.yml" pull |
| 41 | ExecStart=/usr/local/bin/docker-compose -f "\${WORK_DIR}/docker-compose.yml" -f "\${WORK_DIR}/container.conf/production.yml" up -d |
| 42 | ExecStop=/usr/local/bin/docker-compose -f "\${WORK_DIR}/docker-compose.yml" -f "\${WORK_DIR}/container.conf/production.yml" down |
| 43 | |
| 44 | [Install] |
| 45 | WantedBy=docker.service |
| 46 | EOF |
| 47 | ln -s ${DOCKER_BASE}/watchtower/container.conf/watchtower.service /etc/systemd/system/ |
| 48 | |
| 49 | systemctl daemon-reload && systemctl enable watchtower && systemctl start watchtower |
| 50 |
migrate_to_containrrr.sh
· 243 B · Bash
Неформатований
#!/bin/bash
DOCKER_BASE=/srv/docker
mkdir -p ${DOCKER_BASE}/watchtower/container.conf
sed -i s/v2tec/containrrr/g ${DOCKER_BASE}/watchtower/container.conf/docker-compose.yml
systemctl restart watchtower && docker image rm v2tec/watchtower
| 1 | #!/bin/bash |
| 2 | DOCKER_BASE=/srv/docker |
| 3 | |
| 4 | mkdir -p ${DOCKER_BASE}/watchtower/container.conf |
| 5 | |
| 6 | sed -i s/v2tec/containrrr/g ${DOCKER_BASE}/watchtower/container.conf/docker-compose.yml |
| 7 | |
| 8 | systemctl restart watchtower && docker image rm v2tec/watchtower |
| 9 |