1
1
Fork 0
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
yadc/manage.sh

86 lines
1.6 KiB
Bash

#!/bin/sh
export FLASK_APP=yadc
root="."
pipenv="python3 -m pipenv"
run="$pipenv run"
editor="nano"
prepare_venv() {
$pipenv install
}
prepare_instance() {
mkdir -p instance
mkdir -p instance/post/img
mkdir -p instance/post/jpeg
mkdir -p instance/post/sample
mkdir -p instance/post/thumb_big
mkdir -p instance/post/thumb
cp yadc/config.def.py instance/config.py
}
edit_config() {
$editor instance/config.py
}
prepare_db() {
$run flask db upgrade
}
prepare_accounts() {
$run flask shell << EOF
user = User(username='admin', op_level='admin')
user.create_password('latexsucks')
db.session.add(user)
db.session.commit()
EOF
}
gunicorn_run() {
$run gunicorn yadc:app
}
case $1 in
"init_venv")
prepare_venv
;;
"init_instance")
prepare_instance
;;
"config")
edit_config
;;
"init_db")
prepare_db
;;
"init_accounts")
prepare_accounts
;;
"init")
prepare_venv
prepare_instance
echo "Now please configure database access credentials and preferably other relevant settings."
sleep 4
edit_config
prepare_db
prepare_accounts
echo "Now (if no error occured) you are ready to launch your application using '$0 run'"
;;
"run")
gunicorn_run
;;
*)
echo "useable parameters:"
echo " run - run gunicorn listener"
echo " init - complete init"
echo " init_venv"
echo " init_instance"
echo " config"
echo " init_db"
echo " init_accounts"
;;
esac