Skip to content

afourmy/flask-gentelella

Repository files navigation

status
master Build Status Coverage Status
develop Build Status Coverage Status

Flask Gentelella

Gentelella is a free to use Bootstrap admin template.

Gentelella Bootstrap Admin Template

This project integrates Gentelella with Flask using:

Flask-gentelella also comes with a robust CI/CD pipeline using:

  • The Pytest framework for the test suite (see the tests folder).
  • A PostgreSQL database (optional; see below for installation instructions).
  • Travis CI (automated testing)
  • Coverage to measure the code coverage of the tests.
  • Selenium to test the application with headless chromium.
  • A Dockerfile showing how to containerize the application with gunicorn, and a Docker image available on dockerhub, and integrated to the CI/CD pipeline (see instructions below).
  • A docker-compose file to start Flask-gentelella with nginx, gunicorn and a PostgreSQL database.

Here is an example of a real project implemented using Flask-Gentelella:

This project shows:

Run Flask Gentelella with a SQLite database

(Optional) Set up a virtual environment

1. Get the code

git clone https://github.com/afourmy/flask-gentelella.git
cd flask-gentelella

2. Install requirements

pip install -r requirements.txt

3. Set the FLASK_APP environment variable

(Windows) set FLASK_APP=gentelella.py
(Unix) export FLASK_APP=gentelella.py
(Powershell) $env:FLASK_APP = ".\gentelella.py"

4. Run the application

flask run --host=0.0.0.0

4. Go to http://server_address:5000/, create an account and log in

Run Flask Gentelella with a PostgreSQL database (Ubuntu)

1. Install a PostgreSQL database

sudo apt-get update
sudo apt-get install -y postgresql libpq-dev
sudo -u postgres psql -c "CREATE DATABASE gentelella;"
sudo -u postgres psql -c "CREATE USER gentelella WITH PASSWORD 'your-password';"
sudo -u postgres psql -c "GRANT ALL PRIVILEGES ON DATABASE gentelella TO gentelella;"

2. Export the following environment variables

export GENTELELLA_CONFIG_MODE=Production
export GENTELELLA_DATABASE_PASSWORD=your-password

3. Follow the steps described in the previous section

Run Flask Gentelella in a docker container

1. Fetch the image on dockerhub

docker run -d -p 5000:5000 --name gentelella --restart always afourmy/flask-gentelella

2. Go to http://server_address:5000/, create an account and log in

Run Flask Gentelella in a docker container with nginx and a PostgreSQL database

1. Get the code

git clone https://github.com/afourmy/flask-gentelella.git
cd flask-gentelella

2. Start all services

sudo docker-compose pull && sudo docker-compose build && sudo docker-compose up -d

3. Go to http://server_address, create an account and log in