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.
86 lines
1.6 KiB
Bash
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 |