#!/bin/sh # File: entrypoint.sh # Project: newspipe-docker # Startdate: 2023-06-15 # For first run: test ! -f /newspipe/instance/config.py && { cp -pf /newspipe/orig/config.py /newspipe/instance/ 2>/dev/null ; } test ! -f /newspipe/instance/sqlite.py && { cp -pf /newspipe/orig/sqlite.py /newspipe/instance/ 2>/dev/null ; } test ! -f /newspipe/instance/newspipe.db && { cp -pf /newspipe/orig/newspipe.db /newspipe/instance/ 2>/dev/null ; } test -z "${NEWSPIPE_BRANCH}" && NEWSPIPE_BRANCH=ldap-auth prepare() { cd /newspipe git fetch || : ; test -f instance/sqlite.py && cp -pf instance/sqlite.py instance/sqlite.py1 git checkout -f "${NEWSPIPE_BRANCH}" || { echo "Invalid branch ${NEWSPIPE_BRANCH}" 1>&2 ; exit 1 ; } git pull || : ; test -f instance/sqlite.py1 && mv -f instance/sqlite.py1 instance/sqlite.py test "${1}" = "sleep" && shift _host="${1:-${NEWSPIPE_HOST}}" _port="${2:-${NEWSPIPE_PORT}}" set -x # If you need to add new pip packages quickly: #poetry run pip3 install dnspython poetry run flask db_init || : } # Options case "${1}" in "init" | "create_admin") _nick="${2:-${ADMIN_NICKNAME}}" _pass="${3:-${ADMIN_PASSWORD}}" poetry run flask create_admin --nickname "${_nick}" --password "${_pass}" ;; sleep) prepare "${@}" sleep 80000 # and now connect to this container and run in bash: #poetry run flask run -h "${_host:-0.0.0.0}" -p "${_port:-8081}" ;; *) prepare "${@}" poetry run flask run -h "${_host:-0.0.0.0}" -p "${_port:-8081}" ;; esac