docker-seafile/seafile.service
shimunn 1b4ad91a13
Some checks are pending
continuous-integration/drone/push Build is failing
extended service file
2019-04-20 21:44:11 +02:00

44 lines
2.0 KiB
Desktop File

[Unit]
Description=Seafile container https://git.shimun.net/shimun/docker-seafile
[Service]
Slice=machine.slice
# Resource limits
Delegate=true
CPUShares=256
MemoryLimit=512M
Environment=ROOT_DIR=/srv/seafile
Environment=SEAF_MYSQL="" #Empty = Sqlite
Environment=SEAF_HOST="localhost.localdomain"
Environment=SEAF_URL="https://seaf.example.com"
Environment=SEAF_UPGRADE_INTERVAL=10
Environment=SEAF_PORT=8080
#Run first once to setup
#rkt --insecure-options=image run --dns 8.8.8.8 --volume volume-opt-seafile,kind=host,source=${ROOT_DIR} docker://repo.shimun.net/shimun/seafile --environment=SEAF_URL="https://seaf.example.com" --interactive
ExecStartPre=/bin/mkdir -p ${ROOT_DIR}
### Rkt ###
ExecStart=/usr/bin/rkt --insecure-options=image run --uuid-file-save=${ROOT_DIR}/container.uuid --dns 8.8.8.8 --inherit-env --volume volume-opt-seafile,kind=host,source=${ROOT_DIR} --port 80-tcp:{SEAF_PORT} \
docker://repo.shimun.net/shimun/seafile --environment=SEAF_UPGRADE_INTERVAL=${SEAF_UPGRADE_INTERVAL}
ExecStartPost=/bin/bash -c "echo 'rkt enter --app=seafile $(cat '${ROOT_DIR}'/container.uuid)' > ${ROOT_DIR}/enter.sh && chmod +x ${ROOT_DIR}/enter.sh"
ExecStop=/bin/bash -c "rkt enter --app=seafile $(cat ${ROOT_DIR}/container.uuid) 'seafile-server stop'"
ExecStopPost=/bin/bash -c "rkt rm $(cat ${ROOT_DIR}/container.uuid)"
### Docker ###
#ExecStart=/usr/bin/docker run --name seafile --hostname ${SEAF_HOST} -e SEAF_MYSQL "${SEAF_MYSQL}" -e SEAF_URL "${SEAF_URL}" -e SEAF_HOST "${SEAF_HOST}" -e SEAF_UPGRADE_INTERVAL "${SEAF_UPGRADE_INTERVAL}" \
# -v ${ROOT_DIR}:/opt/seafile -p 80:${SEAF_PORT} repo.shimun.net/shimun/seafile
#ExecStopPre=/bin/bash -c "docker stop seafile"
#ExecStopPost=/bin/bash -c "docker rm seafile"
ExecStopPost=/bin/rm ${ROOT_DIR}/container.uuid
KillMode=mixed
Restart=always
RestartSec=30
[Install]
WantedBy=multi-user.target