summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorFabien LEFEBVRE (d1ceward)2024-03-10 22:29:04 +0100
committerFabien LEFEBVRE (d1ceward)2024-03-10 22:29:04 +0100
commit2aedea61dbbeae428cf7ea496d36179df9b1881f (patch)
tree41518cccf35e660757ddd1830cca2e5e6e46cacf
parentc0f60b7cde086e4fb0f9d82af4333088185561c9 (diff)
downloadaur-2aedea61dbbeae428cf7ea496d36179df9b1881f.tar.gz
upgpkg: dokku 0.33.7-1
upstream release
-rw-r--r--.SRCINFO8
-rw-r--r--PKGBUILD6
-rw-r--r--dokku.install70
3 files changed, 60 insertions, 24 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 5590f1bb33e1..7bf5875b9f45 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -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
diff --git a/PKGBUILD b/PKGBUILD
index 760fa80647cb..670bc8ee7508 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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 "