This repository was archived by the owner on Dec 31, 2023. It is now read-only.
Tags: br3ndonland/pythonvue
Tags
Matches br3ndonland/full-stack-fastapi-postgresql v2019.12.09001
Features
- Upgrade to Vue CLI 4
- Configure TSLint to work with Prettier
- Format web code with Prettier
- Make Python code Flake8-compliant
- Add Git hooks with pre-commit
- Improve documentation
Fixes
- Patch Axios vulnerability reported by npm
- Fix Pydantic imports
- Fix Pydantic models
- Ignore secrets
- Create Docker network for production deployment with Docker Swarm
Builds
- The development environment builds on macOS and Ubuntu with
`docker-compose up --build -d`.
- The production Docker Stack builds successfully. Steps used so far
for Docker Stack deployment on an Ubuntu server with Docker
(environment variables below should be substituted for your setup):
```sh
# Install dependencies (add Docker if not already installed)
apt-get update
apt-get install python-pip
pip install docker-auto-labels
# Pull and build
TAG=prod FRONTEND_ENV=production bash ./scripts/build.sh
# Initialize swarm mode
docker swarm init --advertise-addr "$SERVER_IP"
# Deploy
DOMAIN=${DOMAIN} \
TRAEFIK_PUBLIC_NETWORK=${TRAEFIK_PUBLIC_NETWORK} \
TRAEFIK_TAG=${TRAEFIK_TAG} \
STACK_NAME=${STACK_NAME} \
TAG=prod \
bash ./scripts/deploy.sh
# Inspect
docker stack ps "$STACK_NAME"
docker service logs -f "$STACK_NAME"
# Shut down if no longer needed
docker stack rm "$STACK_NAME"
docker network rm "$TRAEFIK_PUBLIC_NETWORK"
docker system prune -a
```
- I haven't yet been able to expose the production stack to the public
internet. I need to do some more work on the Traefik configuration to
properly handle HTTPS networking.
v2019.12.09001