diff options
author | Fabien LEFEBVRE (d1ceward) | 2024-03-10 22:29:04 +0100 |
---|---|---|
committer | Fabien LEFEBVRE (d1ceward) | 2024-03-10 22:29:04 +0100 |
commit | 2aedea61dbbeae428cf7ea496d36179df9b1881f (patch) | |
tree | 41518cccf35e660757ddd1830cca2e5e6e46cacf | |
parent | c0f60b7cde086e4fb0f9d82af4333088185561c9 (diff) | |
download | aur-2aedea61dbbeae428cf7ea496d36179df9b1881f.tar.gz |
upgpkg: dokku 0.33.7-1
upstream release
-rw-r--r-- | .SRCINFO | 8 | ||||
-rw-r--r-- | PKGBUILD | 6 | ||||
-rw-r--r-- | dokku.install | 70 |
3 files changed, 60 insertions, 24 deletions
@@ -1,6 +1,6 @@ pkgbase = dokku pkgdesc = Docker-powered PaaS that helps build and manage the lifecycle of applications - pkgver = 0.32.3 + pkgver = 0.33.7 pkgrel = 1 url = https://github.com/dokku/dokku install = dokku.install @@ -34,12 +34,12 @@ pkgbase = dokku depends = sudo depends = sshcommand depends = unzip - source = https://github.com/dokku/dokku/archive/v0.32.3.zip + source = https://github.com/dokku/dokku/archive/v0.33.7.zip source = dokku.install source = systemd_calls.patch source = LICENSE - sha256sums = 5f47719310a33b9b3481337308b752cb305d8838f9179b0f93552bbb72bcba9e - sha256sums = c0b40188052a29dcfb3d8595a23a1a49adf6abc85c78ee99b530fae60cab932a + sha256sums = 0228c0d848acfcd05c72350aab49d452de9da207c8bafb78517fede75a21d90c + sha256sums = 27185dccb2734fc147ca4a8d9c4ac921f4fb2addfb67b0470c04320a0c3f8ae0 sha256sums = aec08deb0b1d466f37a0c76f93fc507d443ab8bd770cc0c1097ffeffa75cf9a4 sha256sums = b1ac2fed5ac269fb7bbf651a3d37ef5fd56d2c33320e17cb6e23a22a93f5c046 @@ -1,7 +1,7 @@ # Maintainer: Fabien LEFEBVRE <contact@d1ceward.com> pkgname=dokku -pkgver=0.32.3 +pkgver=0.33.7 pkgrel=1 pkgdesc='Docker-powered PaaS that helps build and manage the lifecycle of applications' arch=('any') @@ -41,8 +41,8 @@ source=("${url}/archive/v${pkgver}.zip" "${pkgname}.install" "systemd_calls.patch" "LICENSE") -sha256sums=('5f47719310a33b9b3481337308b752cb305d8838f9179b0f93552bbb72bcba9e' - 'c0b40188052a29dcfb3d8595a23a1a49adf6abc85c78ee99b530fae60cab932a' +sha256sums=('0228c0d848acfcd05c72350aab49d452de9da207c8bafb78517fede75a21d90c' + '27185dccb2734fc147ca4a8d9c4ac921f4fb2addfb67b0470c04320a0c3f8ae0' 'aec08deb0b1d466f37a0c76f93fc507d443ab8bd770cc0c1097ffeffa75cf9a4' 'b1ac2fed5ac269fb7bbf651a3d37ef5fd56d2c33320e17cb6e23a22a93f5c046') install="${pkgname}.install" diff --git a/dokku.install b/dokku.install index 4fd781f7e392..86b8aa5263fa 100644 --- a/dokku.install +++ b/dokku.install @@ -1,12 +1,24 @@ #!/bin/bash +set -eo pipefail +[[ $TRACE ]] && set -x + readonly DOKKU_ROOT="${DOKKU_ROOT:-/home/dokku}" readonly DOKKU_LIB_ROOT="${DOKKU_LIB_PATH:-/var/lib/dokku}" readonly DOKKU_LOGS_DIR="${DOKKU_LOGS_DIR:-/var/log/dokku}" +call-sshcommand() { + if [[ -x /usr/bin/sshcommand ]]; then + /usr/bin/sshcommand "$@" + else + echo "Unable to find sshcommand binary" 1>&2 + exit 1 + fi +} + setup-user() { echo "Setting up dokku user" - /usr/bin/sshcommand create dokku /usr/bin/dokku - (grep -i -E "^docker" /etc/group || groupadd docker) &>/dev/null + call-sshcommand create dokku /usr/bin/dokku + grep -i -E "^docker" /etc/group || groupadd docker usermod -aG docker dokku mkdir -p "${DOKKU_ROOT}/.ssh" "${DOKKU_ROOT}/.dokkurc" touch "${DOKKU_ROOT}/.ssh/authorized_keys" @@ -20,7 +32,22 @@ setup-storage() { } setup-plugins() { + echo "Deleting invalid plugins" + if [ -f "${DOKKU_LIB_ROOT}/core-plugins/available/" ]; then + find "${DOKKU_LIB_ROOT}/core-plugins/available/" -type d -empty -delete + fi + if [ -f "${DOKKU_LIB_ROOT}/core-plugins/enabled/" ]; then + find "${DOKKU_LIB_ROOT}/core-plugins/enabled/" -type d -empty -delete + fi + if [ -f "${DOKKU_LIB_ROOT}/plugins/available/" ]; then + find "${DOKKU_LIB_ROOT}/plugins/available/" -type d -empty -delete + fi + if [ -f "${DOKKU_LIB_ROOT}/plugins/enabled/" ]; then + find "${DOKKU_LIB_ROOT}/plugins/enabled/" -type d -empty -delete + fi + echo "Setting up plugin directories" + # should be replaced by `plugn init` mkdir -p "${DOKKU_LIB_ROOT}/core-plugins/available" "${DOKKU_LIB_ROOT}/plugins/available" mkdir -p "${DOKKU_LIB_ROOT}/core-plugins/enabled" "${DOKKU_LIB_ROOT}/plugins/enabled" touch "${DOKKU_LIB_ROOT}/core-plugins/config.toml" "${DOKKU_LIB_ROOT}/plugins/config.toml" @@ -44,14 +71,17 @@ setup-plugins() { PLUGIN_PATH="${DOKKU_LIB_ROOT}/plugins" plugn enable "${plugin}" fi done - find -L "${DOKKU_LIB_ROOT}" -type l -delete + find -L "${DOKKU_LIB_ROOT}/core-plugins" -type l -delete + find -L "${DOKKU_LIB_ROOT}/plugins" -type l -delete chown dokku:dokku -R "${DOKKU_LIB_ROOT}/plugins" "${DOKKU_LIB_ROOT}/core-plugins" echo "Install all core plugins" - # dokku plugin:install-dependencies --core # Disabled since not usefull and pacman lock error - dokku plugin:install --core - rm -f /etc/update-motd.d/99-dokku + echo -e "#!/bin/sh\\n\\n~/.basher/bash -l \$@" > /tmp/login-basher + chmod +x /tmp/login-basher + BASH_BIN=/tmp/login-basher dokku plugin:install --core + rm /tmp/login-basher + rm -f /etc/update-motd.d/99-dokku sed -i 's/ syslog dokku$/ root dokku/g' /etc/logrotate.d/dokku } @@ -70,16 +100,12 @@ post_install() { setup-plugins setup-sshcommand - echo "Update version file" - rm -f "${DOKKU_ROOT}/VERSION" - cp "${DOKKU_LIB_ROOT}/VERSION" "${DOKKU_ROOT}/VERSION" - - echo "Update hostname" - hostname -f > "${DOKKU_ROOT}/HOSTNAME" - echo " - Please add your ssh pubkey like: - $ cat ~/.ssh/id_rsa.pub | sudo sshcommand acl-add dokku default + If using virtualhost routing is desired (eg. my-app => my-app.dokku.me), set a global domain for your server: + $ dokku domains:set-global dokku.me + + Setup a user's ssh key for deployment by passing in the public ssh key as shown: + $ echo 'CONTENTS_OF_ID_RSA_PUB_FILE' | dokku ssh-keys:add admin To enable nginx autoconfiguration, add to your /etc/nginx/nginx.conf in http section: include /etc/nginx/conf.d/*.conf; @@ -94,10 +120,20 @@ post_upgrade() { pre_remove() { echo "Destroying deployed applications" - for app in $(DOKKU_QUIET_OUTPUT=1 dokku apps); do + for app in $(DOKKU_QUIET_OUTPUT=1 dokku apps:list); do dokku --force apps:destroy "${app}" done + # HACK: Only disable core plugins, as we don't know what data users store in non-core plugin directories + echo "Disabling all core plugins" + find ${DOKKU_LIB_ROOT}/core-plugins/available -mindepth 1 -maxdepth 1 -type d -printf '%f\n' | while read -r plugin; do + if [ ! -d "${DOKKU_LIB_ROOT}/plugins/available/${plugin}" ]; then + rm "${DOKKU_LIB_ROOT}/plugins/available/${plugin}" + PLUGIN_PATH=${DOKKU_LIB_ROOT}/core-plugins plugn disable "${plugin}" + PLUGIN_PATH=${DOKKU_LIB_ROOT}/plugins plugn disable "${plugin}" + fi + done + dokku cleanup } @@ -116,7 +152,7 @@ post_remove() { rm -rf "${DOKKU_LOGS_DIR}" # Remove dokku user and group - userdel -r dokku &>/dev/null + userdel -r dokku || true groupdel dokku &>/dev/null echo " |