Develop.md 1.6 KB

Develop

Introduction

build backend:

cd backend

# run a dev container and database
docker compose -f "docker-compose.debug.yml" up -d --build backend

dokcer compose logs backend
docker exec -it backend bash

cd frontend
yarn
yarn start
docker compose run frontend test
dockere compose logs -f db|frontend|backend

# 前端:https://localhost:8000
# 后端:https://localhost:8000/api
# Swagger: https://localhost:8000/docs
# Adminer: https://localhost:8081
# Traefik: http://localhost:8082

Deploy

first build docker image, push to docker hub

docker compose logs
docker compose logs backend

docker compose exec backend bash
bash /start-reload.sh # 重启后端服务
alembic upgrade head  # migration database

pip install poetry
poetry config virtualenvs.create false
poetry install
poetry shell
python main.py


# gengerate token
python** -c "import secrets; print(secrets.token_urlsafe(32))"


alembic upgrade head
alembic revision -m "$1" --autogenerate

alembic downgrade "$1"

vim .env

docker compose  -f "docker-compose.debug.yml" up -d --build backend
cd backend

# dev
gunicorn --reload --proxy-headers -k uvicorn.workers.UvicornWorker -c gunicorn_conf.py --bind 0.0.0.0:8080 main:app --reload

# prod
gunicorn --forwarded-allow-ips "*" -k uvicorn.workers.UvicornWorker -c gunicorn_conf.py --bind 0.0.0.0:8080 main:app


docker compose build
docker compose restart
docker compse down
docker compose exec app migrate
docker compose exec app downgrade -1



# poetry 导出 requirements.txt
poetry export --without-hashes --format=requirements.txt > requirements.txt


alembic revision -m "create users table"