4
docker/etc/cron.d/dokku-retire
Normal file
4
docker/etc/cron.d/dokku-retire
Normal file
@@ -0,0 +1,4 @@
|
||||
PATH=/usr/local/bin:/usr/bin:/bin
|
||||
SHELL=/bin/bash
|
||||
|
||||
*/5 * * * * root /usr/bin/dokku ps:retire >> /var/log/dokku/retire.log 2>&1
|
||||
9
docker/etc/logrotate.d/services
Normal file
9
docker/etc/logrotate.d/services
Normal file
@@ -0,0 +1,9 @@
|
||||
/var/log/services/* {
|
||||
daily
|
||||
missingok
|
||||
rotate 7
|
||||
compress
|
||||
delaycompress
|
||||
notifempty
|
||||
copytruncate
|
||||
}
|
||||
36
docker/etc/my_init.d/10_directories
Executable file
36
docker/etc/my_init.d/10_directories
Executable file
@@ -0,0 +1,36 @@
|
||||
#!/bin/bash
|
||||
set -eo pipefail
|
||||
|
||||
log-info() {
|
||||
declare desc="Log info formatter"
|
||||
echo " $*" 1>&2
|
||||
}
|
||||
|
||||
log-fail() {
|
||||
declare desc="Log fail formatter"
|
||||
echo "! $*" 1>&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
main() {
|
||||
if [[ ! -d /mount ]]; then
|
||||
log-info "Creating missing /mount"
|
||||
mkdir -p /mount
|
||||
fi
|
||||
|
||||
directories=("/etc/ssh" "/home/dokku" "/var/lib/dokku/config" "/var/lib/dokku/data")
|
||||
for dir in "${directories[@]}"; do
|
||||
if [[ ! -e "$dir" ]]; then
|
||||
log-info "Copying ${dir} skel into place"
|
||||
mkdir -p "/mount${dir}"
|
||||
rsync -a "/skel${dir}/" "${dir}/" || log-fail "Unable to copy ${dir} skel into place"
|
||||
fi
|
||||
|
||||
# chown mount directories to "dokku:dokku"
|
||||
if [[ "$dir" != "/etc/ssh" ]]; then
|
||||
find "$dir" -print0 | xargs -0 chown -h dokku:dokku
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
main "$@"
|
||||
15
docker/etc/runit/runsvdir/default/dokku-init/finish
Executable file
15
docker/etc/runit/runsvdir/default/dokku-init/finish
Executable file
@@ -0,0 +1,15 @@
|
||||
#!/bin/bash
|
||||
|
||||
exec >> /var/log/services/dokku-restore
|
||||
exec 2>&1
|
||||
|
||||
if [[ "$1" -ne 0 ]]; then
|
||||
echo "Error initializing dokku! Retrying in 30 seconds..."
|
||||
exec sleep 30
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo "Done initializing dokku."
|
||||
exec sleep infinity
|
||||
|
||||
exit 0
|
||||
14
docker/etc/runit/runsvdir/default/dokku-init/run
Executable file
14
docker/etc/runit/runsvdir/default/dokku-init/run
Executable file
@@ -0,0 +1,14 @@
|
||||
#!/bin/bash
|
||||
|
||||
exec >> /var/log/services/dokku-init
|
||||
exec 2>&1
|
||||
|
||||
echo "Running dokku-init"
|
||||
cd /tmp || exit 1
|
||||
|
||||
if [[ -n "$DOKKU_HOSTNAME" ]]; then
|
||||
echo "dokku dokku/vhost_enable boolean true" | debconf-set-selections
|
||||
dokku --quiet domains:set-global "$DOKKU_HOSTNAME"
|
||||
fi
|
||||
|
||||
exec dokku ps:restore
|
||||
7
docker/etc/runit/runsvdir/default/nginx/run
Executable file
7
docker/etc/runit/runsvdir/default/nginx/run
Executable file
@@ -0,0 +1,7 @@
|
||||
#!/bin/bash
|
||||
|
||||
exec >> /var/log/services/nginx
|
||||
exec 2>&1
|
||||
|
||||
echo "Running nginx"
|
||||
exec /usr/sbin/nginx -c /etc/nginx/nginx.conf -g "daemon off;"
|
||||
7
docker/etc/runit/runsvdir/default/rsyslog/run
Executable file
7
docker/etc/runit/runsvdir/default/rsyslog/run
Executable file
@@ -0,0 +1,7 @@
|
||||
#!/bin/bash
|
||||
|
||||
exec >> /var/log/services/rsyslog
|
||||
exec 2>&1
|
||||
|
||||
echo "Running rsyslog"
|
||||
exec /usr/sbin/rsyslogd -n
|
||||
1
docker/etc/sudoers.d/dokku-docker
Normal file
1
docker/etc/sudoers.d/dokku-docker
Normal file
@@ -0,0 +1 @@
|
||||
dokku ALL=NOPASSWD:SETENV:/usr/bin/docker
|
||||
19
docker/usr/local/bin/docker
Executable file
19
docker/usr/local/bin/docker
Executable file
@@ -0,0 +1,19 @@
|
||||
#!/usr/bin/env bash
|
||||
set -eo pipefail; [[ $TRACE ]] && set -x
|
||||
|
||||
main() {
|
||||
declare desc="re-runs docker commands as sudo"
|
||||
local DOCKER_BIN=""
|
||||
if [[ -x "/usr/bin/docker" ]]; then
|
||||
DOCKER_BIN="/usr/bin/docker"
|
||||
fi
|
||||
|
||||
if [[ -z "$DOCKER_BIN" ]]; then
|
||||
echo "! No docker binary found" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
sudo -E "$DOCKER_BIN" "$@"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
Reference in New Issue
Block a user