Add Cloudron packaging for Maubot
This commit is contained in:
3
maubot-src/docker/mbc.sh
Executable file
3
maubot-src/docker/mbc.sh
Executable file
@@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
export PYTHONPATH=/opt/maubot
|
||||
python3 -m maubot.cli "$@"
|
||||
46
maubot-src/docker/run.sh
Executable file
46
maubot-src/docker/run.sh
Executable file
@@ -0,0 +1,46 @@
|
||||
#!/bin/sh
|
||||
|
||||
function fixperms {
|
||||
chown -R $UID:$GID /var/log /data
|
||||
}
|
||||
|
||||
function fixdefault {
|
||||
_value=$(yq e "$1" /data/config.yaml)
|
||||
if [[ "$_value" == "$2" ]]; then
|
||||
yq e -i "$1 = "'"'"$3"'"' /data/config.yaml
|
||||
fi
|
||||
}
|
||||
|
||||
function fixconfig {
|
||||
# Change relative default paths to absolute paths in /data
|
||||
fixdefault '.database' 'sqlite:maubot.db' 'sqlite:/data/maubot.db'
|
||||
fixdefault '.plugin_directories.upload' './plugins' '/data/plugins'
|
||||
fixdefault '.plugin_directories.load[0]' './plugins' '/data/plugins'
|
||||
fixdefault '.plugin_directories.trash' './trash' '/data/trash'
|
||||
fixdefault '.plugin_databases.sqlite' './plugins' '/data/dbs'
|
||||
fixdefault '.plugin_databases.sqlite' './dbs' '/data/dbs'
|
||||
fixdefault '.logging.handlers.file.filename' './maubot.log' '/var/log/maubot.log'
|
||||
# This doesn't need to be configurable
|
||||
yq e -i '.server.override_resource_path = "/opt/maubot/frontend"' /data/config.yaml
|
||||
}
|
||||
|
||||
cd /opt/maubot
|
||||
|
||||
mkdir -p /var/log/maubot /data/plugins /data/trash /data/dbs
|
||||
|
||||
if [ ! -f /data/config.yaml ]; then
|
||||
cp example-config.yaml /data/config.yaml
|
||||
echo "Config file not found. Example config copied to /data/config.yaml"
|
||||
echo "Please modify the config file to your liking and restart the container."
|
||||
fixperms
|
||||
fixconfig
|
||||
exit
|
||||
fi
|
||||
|
||||
fixperms
|
||||
fixconfig
|
||||
if ls /data/plugins/*.db > /dev/null 2>&1; then
|
||||
mv -n /data/plugins/*.db /data/dbs/
|
||||
fi
|
||||
|
||||
exec su-exec $UID:$GID python3 -m maubot -c /data/config.yaml
|
||||
Reference in New Issue
Block a user