37 lines
1.6 KiB
Bash
Executable file
37 lines
1.6 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
set -e
|
|
|
|
. /usr/share/debconf/confmodule
|
|
. /usr/share/dbconfig-common/dpkg/postinst.pgsql
|
|
|
|
# you can set the default database encoding to something else
|
|
dbc_pgsql_createdb_encoding="UTF8"
|
|
dbc_generate_include=template:/etc/passbook/config.d/database.yml
|
|
dbc_generate_include_args="-o template_infile=/usr/share/passbook/database.yml"
|
|
dbc_go passbook "$@"
|
|
|
|
if [ -z "`getent group passbook`" ]; then
|
|
addgroup --quiet --system passbook
|
|
fi
|
|
if [ -z "`getent passwd passbook`" ]; then
|
|
echo " * Creating user and group passbook..."
|
|
adduser --quiet --system --home /usr/share/passbook --shell /bin/false --ingroup passbook --disabled-password --disabled-login --gecos "passbook User" passbook >> /var/log/passbook/passbook.log 2>&1
|
|
fi
|
|
echo " * Updating binary packages (psycopg2)"
|
|
python3 -m pip install --target=/usr/share/passbook/vendor/ --no-cache-dir --upgrade --force-reinstall psycopg2 >> /var/log/passbook/passbook.log 2>&1
|
|
if [ ! -f '/etc/passbook/secret_key' ]; then
|
|
echo " * Generating Secret Key"
|
|
python3 -c 'import random; result = "".join([random.choice("abcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*(-_=+)") for i in range(50)]); print(result)' > /etc/passbook/secret_key 2> /dev/null
|
|
fi
|
|
chown -R passbook: /usr/share/passbook/
|
|
chown -R passbook: /etc/passbook/
|
|
chown -R passbook: /var/log/passbook/
|
|
chmod 440 /etc/passbook/secret_key
|
|
echo " * Running Database Migration"
|
|
/usr/share/passbook/passbook.sh migrate
|
|
echo " * A superuser can be created with this command '/usr/share/passbook/passbook.sh createsuperuser'"
|
|
echo " * You should probably also adjust your settings in '/etc/passbook/config.yml'"
|
|
|
|
#DEBHELPER#
|