2020-03-07 19:37:10 +00:00
|
|
|
[Unit]
|
|
|
|
|
Description=Mistborn Base
|
|
|
|
|
Requires=docker.service
|
2020-10-21 21:34:02 -04:00
|
|
|
Requires=netfilter-persistent.service
|
2020-03-07 19:37:10 +00:00
|
|
|
After=docker.service
|
2020-10-21 21:34:02 -04:00
|
|
|
After=netfilter-persistent.service
|
2020-03-07 19:37:10 +00:00
|
|
|
|
|
|
|
|
[Service]
|
|
|
|
|
Restart=always
|
2021-04-29 11:49:47 -04:00
|
|
|
RestartSec=15
|
2020-03-07 19:37:10 +00:00
|
|
|
User=root
|
|
|
|
|
Group=docker
|
|
|
|
|
PermissionsStartOnly=true
|
|
|
|
|
# Shutdown container (if running) when unit is stopped
|
2020-04-26 06:11:47 +00:00
|
|
|
EnvironmentFile=/opt/mistborn/.env
|
2020-03-07 19:37:10 +00:00
|
|
|
ExecStartPre=/usr/local/bin/docker-compose -f /opt/mistborn/base.yml down
|
2020-03-10 03:07:36 +00:00
|
|
|
|
2021-05-04 15:50:43 -04:00
|
|
|
# stop all containers joined to mistborn_default network
|
2021-05-04 15:53:51 -04:00
|
|
|
ExecStartPre=-/usr/bin/bash -c "docker container stop $(docker network inspect mistborn_default | grep Name | tail -n +2 | cut -d':' -f2 | tr -d ',\"') 2>/dev/null"
|
2021-05-04 15:39:47 -04:00
|
|
|
|
2020-03-07 19:37:10 +00:00
|
|
|
ExecStartPre=/usr/local/bin/docker-compose -f /opt/mistborn/base.yml build
|
2020-03-24 19:15:47 +00:00
|
|
|
ExecStartPre=-/sbin/ip address add 10.2.3.1/30 dev DIFACE
|
2020-05-09 11:23:05 -04:00
|
|
|
ExecStartPre=/sbin/iptables -w -I DOCKER-USER -i DIFACE -p udp --dport 53 -j MISTBORN_LOG_DROP
|
|
|
|
|
ExecStartPre=/sbin/iptables -w -I DOCKER-USER -i DIFACE -p tcp --dport 53 -j MISTBORN_LOG_DROP
|
|
|
|
|
ExecStartPre=/sbin/iptables -w -I DOCKER-USER -i DIFACE -p tcp --dport 80 -j MISTBORN_LOG_DROP
|
|
|
|
|
ExecStartPre=/sbin/iptables -w -I DOCKER-USER -i DIFACE -p tcp --dport 443 -j MISTBORN_LOG_DROP
|
|
|
|
|
ExecStartPre=/sbin/iptables -w -I DOCKER-USER -i DIFACE -p tcp --dport 5555 -j MISTBORN_LOG_DROP
|
|
|
|
|
ExecStartPre=/sbin/iptables -w -A OUTPUT -o DIFACE -p udp --dport 53 -j MISTBORN_LOG_DROP
|
|
|
|
|
ExecStartPre=/sbin/ip6tables -w -A OUTPUT -p udp --dport 53 -j MISTBORN_LOG_DROP
|
2020-03-07 19:37:10 +00:00
|
|
|
ExecStartPre=/sbin/resolvconf -u
|
|
|
|
|
# Start container when unit is started
|
|
|
|
|
ExecStart=/usr/local/bin/docker-compose -f /opt/mistborn/base.yml up
|
|
|
|
|
# Stop container when unit is stopped
|
|
|
|
|
ExecStop=/usr/local/bin/docker-compose -f /opt/mistborn/base.yml down
|
|
|
|
|
# Post stop
|
2020-03-24 19:15:47 +00:00
|
|
|
ExecStopPost=-/sbin/iptables -D DOCKER-USER -i DIFACE -p udp --dport 53 -j MISTBORN_LOG_DROP
|
|
|
|
|
ExecStopPost=-/sbin/iptables -D DOCKER-USER -i DIFACE -p tcp --dport 53 -j MISTBORN_LOG_DROP
|
|
|
|
|
ExecStopPost=-/sbin/iptables -D DOCKER-USER -i DIFACE -p tcp --dport 80 -j MISTBORN_LOG_DROP
|
2020-03-27 23:44:28 +00:00
|
|
|
ExecStopPost=-/sbin/iptables -D DOCKER-USER -i DIFACE -p tcp --dport 443 -j MISTBORN_LOG_DROP
|
2020-03-24 19:15:47 +00:00
|
|
|
ExecStopPost=-/sbin/iptables -D DOCKER-USER -i DIFACE -p tcp --dport 5555 -j MISTBORN_LOG_DROP
|
|
|
|
|
ExecStopPost=-/sbin/iptables -D OUTPUT -o DIFACE -p udp --dport 53 -j MISTBORN_LOG_DROP
|
|
|
|
|
ExecStopPost=-/sbin/ip6tables -D OUTPUT -p udp --dport 53 -j MISTBORN_LOG_DROP
|
2020-03-07 19:37:10 +00:00
|
|
|
|
|
|
|
|
[Install]
|
|
|
|
|
WantedBy=multi-user.target
|