diff --git a/setup/container.sh b/setup/container.sh index 76e62e923..f8583d312 100755 --- a/setup/container.sh +++ b/setup/container.sh @@ -31,9 +31,6 @@ ln -sfF "${DATA_DIR}/collectd" /etc/collectd cp "${container_files}/docker-cloudron-app.apparmor" /etc/apparmor.d/docker-cloudron-app systemctl restart apparmor -########## docker janitor -cp "${container_files}/docker_janitor" /usr/sbin/docker_janitor - ########## nginx # link nginx config to system config unlink /etc/nginx 2>/dev/null || rm -rf /etc/nginx diff --git a/setup/container/docker_janitor b/setup/container/docker_janitor deleted file mode 100755 index ddfb4da28..000000000 --- a/setup/container/docker_janitor +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/bash - -set -eu -o pipefail - -# this config matches the docker log-file configuration -# logrotate ignores daily/monthly etc with size directive -readonly logrotate_template=$(cat <<"EOF" - "$LOG_VOLUME/*" "$LOG_VOLUME/*/*" "$LOG_VOLUME/*/*/*" { - missingok - rotate 4 - size 5M - nocompress - copytruncate - notifempty - create - su - maxage 7 - } -EOF -) - -readonly containers=$(docker ps -qa) - -for container in $containers; do - echo "Cleaning up $container" - - if logdir=$(docker inspect --format='{{index .Volumes "/var/log"}}' $container); then - echo -e "\tLogrotate files under $logdir" - - logrotate_config=$(mktemp) - { echo "$logrotate_template" | LOG_VOLUME="$logdir" envsubst; } > "${logrotate_config}" - - logrotate "${logrotate_config}" # -f is not required since we are size based - - find "${logdir}" -mindepth 3 -maxdepth 3 -type d -exec rm -rf {} + # since we logrotate only till depth 3 - - rm "${logrotate_config}" - fi -done - diff --git a/setup/container/systemd/cloudron.target b/setup/container/systemd/cloudron.target index c21afa52e..8cdad32f6 100644 --- a/setup/container/systemd/cloudron.target +++ b/setup/container/systemd/cloudron.target @@ -2,8 +2,8 @@ Description=Cloudron Smart Cloud Documentation=https://cloudron.io/documentation.html StopWhenUnneeded=true -Requires=box.service docker_janitor.timer -After=box.service docker_janitor.timer +Requires=box.service +After=box.service # AllowIsolate=yes [Install] diff --git a/setup/container/systemd/docker_janitor.service b/setup/container/systemd/docker_janitor.service deleted file mode 100644 index a6df0a3b9..000000000 --- a/setup/container/systemd/docker_janitor.service +++ /dev/null @@ -1,14 +0,0 @@ -[Unit] -Description=Docker Volumes Janitor -OnFailure=crashnotifier@%n.service - -[Service] -Type=simple -Restart=no -ExecStart=/usr/sbin/docker_janitor -KillMode=process -User=root -Group=root -MemoryLimit=50M -WatchdogSec=180 - diff --git a/setup/container/systemd/docker_janitor.timer b/setup/container/systemd/docker_janitor.timer deleted file mode 100644 index 1d6d67019..000000000 --- a/setup/container/systemd/docker_janitor.timer +++ /dev/null @@ -1,10 +0,0 @@ -[Unit] -Description=Docker Volumes Janitor -StopWhenUnneeded=true - -[Timer] -# this activates it immediately -OnBootSec=0 -OnCalendar=*-*-* 0,6,12,18:00:00 -Unit=docker_janitor.service - diff --git a/src/apptask.js b/src/apptask.js index 240820fb7..14c5df0bf 100644 --- a/src/apptask.js +++ b/src/apptask.js @@ -235,11 +235,13 @@ function createContainer(app, callback) { ExposedPorts: exposedPorts, Volumes: { // see also ReadonlyRootfs '/tmp': {}, - '/run': {}, - '/var/log': {} + '/run': {} } }; + // older versions wanted a writable /var/log + if (semver.lte(targetBoxVersion(app.manifest), '0.0.71')) containerOptions.Volumes['/var/log'] = {}; + debugApp(app, 'Creating container for %s', app.manifest.dockerImage); docker.createContainer(containerOptions, function (error, container) {