proof-of-concept
The follwing was performed on a clean Debian 10.5 install
sudo apt install -y curl pipenvsudo apt-get install -y build-essential libssl-dev zlib1g-dev libbz2-dev \
libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev \
xz-utils tk-dev libffi-dev liblzma-dev python-openssl git
curl https://pyenv.run | bashdon't forget to add pyenv to your path
pyenv install 3.8.5https://docs.docker.com/engine/install/debian/
sudo usermod -aG docker $(whoami)You will likely have to restart before docker will actually work
Pull the container(s)
docker pull nginxcurl -sL https://deb.nodesource.com/setup_12.x | sudo bash -
curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt-get update && sudo apt-get install -y nodejs yarnDrop everything from appstack/src into the src/appstack folder
yarn install
yarn run buildpipenv install
pipenv run alembic upgrade headidgaf how you do it, here's an example:
python3 -c 'from secrets import token_urlsafe;print(token_urlsafe(128))'move .env.example to .env and put this in SECRET_KEY
docker pull nginxFrom the folders in demo_containers run docker-compose build
pipenv run uvicorn app:app --reloadThere are 2 demo users, admin:admin and user:user, very creative and secure
https://docs.sqlalchemy.org/en/13/orm/ https://docs.sqlalchemy.org/en/13/core/dml.html https://alembic.sqlalchemy.org/en/latest/tutorial.html#create-a-migration-script https://alembic.sqlalchemy.org/en/latest/autogenerate.html https://fastapi.tiangolo.com/advanced/async-sql-databases/