MaaniBeigy / dash-boilerplate

Production-ready (i.e., dockerized) dash app boilerplate

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Boilerplate for Python Dash Projects

Build status coverage report static analysis vulnerabilities lint report Dependencies Status FOSSA Status

interrogate maintainability complexity Code style: black Security: bandit Pre-commit license

Production-ready (i.e., dockerized) dash app boilerplate.

Development

Uses gunicorn + nginx.

  1. Rename .env.dev.example to .env.dev.

  2. Update the environment variables in the docker-compose.yml and .env.dev files.

  3. Build the images and run the containers:

    docker-compose up -d --build

    Test it out at http://localhost:1337. The "web" folder is mounted into the container and your code changes apply automatically.

  4. Check the logs if necessary:

    docker-compose -f docker-compose.yml logs -f
  5. Drop the container when you are done:

    docker-compose -f docker-compose.yml down -v

Production

Uses gunicorn + nginx.

  1. Rename .env.prod.example to .env.prod. Update the environment variables.

  2. Build the images and run the containers:

    docker-compose -f docker-compose.prod.yml up -d --build

    Test it out at http://localhost:1337. No mounted folders. To apply changes, the image must be re-built.

  3. Check the logs if necessary:

    docker-compose -f docker-compose.prod.yml logs -f
  4. Drop the container when you are done:

    docker-compose -f docker-compose.prod.yml down -v

Local testing and generating badges:

python3.9 -m venv .venv_39
. .venv_39/bin/activate
python3 -m pip install --upgrade pip poetry
make install
make pre-commit-install
make test && make coverage && make check-codestyle && make mypy && make check-safety && make extrabadges

Upload code to GitHub:

pre-commit run --all-files
git add .
git commit -m ":tada: Initial commit"
git push -u origin main

Credits

testdrivenio/flask-on-docker

License

FOSSA Status

About

Production-ready (i.e., dockerized) dash app boilerplate

License:MIT License


Languages

Language:Python 31.2%Language:Dockerfile 26.9%Language:Shell 23.3%Language:Makefile 18.6%