44 lines
759 B
Bash
Executable File
44 lines
759 B
Bash
Executable File
#!/bin/bash
|
|
set -euo pipefail
|
|
|
|
if [ "$#" -lt 1 ] || [ "$#" -gt 2 ] || [ -z "$1" ] ; then
|
|
echo "Usage: $0 <service_name> [exe]"
|
|
echo "script can be empty"
|
|
exit 1
|
|
fi
|
|
|
|
service="$1"
|
|
exe=""
|
|
if [ "$#" -eq 2 ] ; then
|
|
exe="$2"
|
|
fi
|
|
|
|
if [ -z "$exe" ] ; then
|
|
user_file="/docker/$service/deploy_user.sh"
|
|
else
|
|
user_file="/docker/$service/$exe"
|
|
fi
|
|
|
|
|
|
if [ ! -f "$user_file" ] ; then
|
|
echo "No such file: $user_file"
|
|
exit 1
|
|
fi
|
|
|
|
unset XDG_RUNTIME_DIR DBUS_SESSION_BUS_ADDRESS
|
|
|
|
# Source env_files
|
|
env_files="/docker/$service/.env /data/secrets/$service/.env /data/$service/.env"
|
|
set -a
|
|
export HOME="/data/$service/"
|
|
for file in $env_files ; do
|
|
if [ -f "$file" ] ; then
|
|
. "$file"
|
|
fi
|
|
done
|
|
set +a
|
|
|
|
# Source/exec the user deploy file
|
|
cd "/docker/$service"
|
|
. "$user_file"
|