os=$(cat "$__global/explorer/os") case "$os" in ubuntu) : ;; *) echo "OS $os currently not supported" >&2 exit 1 ;; esac user="$(cat "$__object/parameter/user")" home="/home/$user" apphome="$home/app" # create user __user "$user" --home "$home" --shell /bin/bash # create user home dir require="__user/$user" __directory "$home" \ --owner "$user" --group "$user" --mode 0755 # create app home dir require="__user/$user __directory/$home" __directory "$apphome" \ --state present --owner "$user" --group "$user" --mode 0755 # define packages that need to be installed packages_to_install="nginx uwsgi-plugin-python3 python3-dev python3-pip postgresql postgresql-contrib libpq-dev python3-venv uwsgi python3-psycopg2" # update package index __apt_update_index # install packages for package in $packages_to_install do require="__apt_update_index" __package $package --state=present done # install pip3 packages for package in bottle bottle-pgsql; do __package_pip --pip pip3 $package done