#
################################################
### Managed by someone's ansible provisioner ###
################################################
# Part of: https://git.somenet.org/root/pub/somesible.git
# 2017-2025 by someone <someone@somenet.org>
#

[Unit]
Description=Docker compose service %i
OnFailure=unit-status-mail@%n.service
Requires=docker.service
After=network.target
PartOf=docker-compose.target
ConditionPathIsDirectory=/etc/docker/compose-%i/


[Service]
Type=simple
TimeoutSec=1800
Restart=on-failure
RestartSec=15
WorkingDirectory=/etc/docker/compose-%i/
ExecStartPre=/bin/bash -c 'source pre-exec-sourced.sh'

# Compose up
ExecStartPre=-/usr/bin/docker-compose pull
ExecStart=/usr/bin/docker-compose up --no-recreate --build
ExecStartPost=-/bin/bash -c '(sleep 600; docker system prune -af)&'

# Compose down, remove containers and volumes
ExecStop=/usr/bin/docker-compose down -v

# reloading cant be reliably used for checking for updates :(
#ExecReload=/usr/bin/docker-compose pull
#ExecReload=-/bin/bash -c '(sleep 600; docker system prune -af)&'

[Install]
WantedBy=multi-user.target