All Projects → smallwat3r → Docker Nginx Gunicorn Flask Letsencrypt

smallwat3r / Docker Nginx Gunicorn Flask Letsencrypt

Licence: mit
Boilerplate code for setting up Nginx + Gunicorn + Flask + automated LetsEncrypt certificates (https) using docker-compose.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Docker Nginx Gunicorn Flask Letsencrypt

Netcore Postgres Oauth Boiler
A basic .NET Core website boilerplate using PostgreSQL for storage, Adminer for db management, Let's Encrypt for SSL certificates and NGINX for routing.
Stars: ✭ 57 (-51.28%)
Mutual labels:  https, letsencrypt, boilerplate, nginx
Nginx Proxy Automation
Automated docker nginx proxy integrated with letsencrypt.
Stars: ✭ 2,302 (+1867.52%)
Mutual labels:  letsencrypt, certificate, docker-compose, nginx
Ssl Proxy
🔒 Simple zero-config SSL reverse proxy with real autogenerated certificates (LetsEncrypt, self-signed, provided)
Stars: ✭ 427 (+264.96%)
Mutual labels:  letsencrypt, certificate, ssl-certificates, nginx
Nginx Le
Nginx with automatic let's encrypt (docker image)
Stars: ✭ 475 (+305.98%)
Mutual labels:  letsencrypt, ssl-certificates, nginx
Django React Boilerplate
DIY Django + React Boilerplate for starting your SaaS
Stars: ✭ 385 (+229.06%)
Mutual labels:  letsencrypt, docker-compose, nginx
Wordpress Nginx Docker Compose
Run WordPress with nginx using Docker Compose.
Stars: ✭ 460 (+293.16%)
Mutual labels:  https, docker-compose, nginx
Acme Client Quick
get let's encrypt cert in five minutes
Stars: ✭ 295 (+152.14%)
Mutual labels:  https, letsencrypt, certificate
Docker Nginx Letsencrypt Upstream
infrastructure: docker-compose config for node and redis behind upstream nginx ( SSL/HTTPS ) on debian jessie
Stars: ✭ 47 (-59.83%)
Mutual labels:  letsencrypt, docker-compose, nginx
Ansible Role Certbot
Ansible Role - Certbot (for Let's Encrypt)
Stars: ✭ 477 (+307.69%)
Mutual labels:  https, letsencrypt, certificate
Certificaat
General-purpose ACME client
Stars: ✭ 88 (-24.79%)
Mutual labels:  https, letsencrypt, certificate
Docker Letsencrypt Certgen
Docker image to generate, renew, revoke RSA and/or ECDSA SSL certificates from LetsEncrypt CA using certbot and acme.sh clients in automated fashion
Stars: ✭ 64 (-45.3%)
Mutual labels:  https, letsencrypt, ssl-certificates
Wordpressify
🎈 A build system designed to automate your WordPress development workflow.
Stars: ✭ 1,374 (+1074.36%)
Mutual labels:  boilerplate, docker-compose, nginx
Nginx Ui
Nginx UI allows you to access and modify the nginx configurations files without cli.
Stars: ✭ 4,067 (+3376.07%)
Mutual labels:  flask, docker-compose, nginx
Certes
A client implementation for the Automated Certificate Management Environment (ACME) protocol
Stars: ✭ 357 (+205.13%)
Mutual labels:  https, letsencrypt, ssl-certificates
Rancher Letsencrypt
🐮 Rancher service that obtains and manages free SSL certificates from the Let's Encrypt CA
Stars: ✭ 318 (+171.79%)
Mutual labels:  letsencrypt, certificate, ssl-certificates
Hiproxy
🛠 hiproxy is a lightweight proxy tool for Front-End developers based on Node.js that supports an NGINX-like configuration. 🔥
Stars: ✭ 629 (+437.61%)
Mutual labels:  https, certificate, nginx
Acme client
Java ACME Client application
Stars: ✭ 77 (-34.19%)
Mutual labels:  https, letsencrypt, certificate
django-yadpt-starter
Yet Another Django Project Template skeleton for Django projects
Stars: ✭ 28 (-76.07%)
Mutual labels:  letsencrypt, certificate, https
letsencrypt-www
Probably the easiest way to create | renew | deploy certificate
Stars: ✭ 27 (-76.92%)
Mutual labels:  letsencrypt, certificate, https
Certify
SSL Certificate Manager UI for Windows, powered by Let's Encrypt. Download from certifytheweb.com
Stars: ✭ 1,075 (+818.8%)
Mutual labels:  https, letsencrypt, ssl-certificates

docker-nginx-gunicorn-flask-letsencrypt

Boilerplate code for setting up Nginx + Gunicorn + Flask + LetsEncrypt certificates using docker-compose.


This repository contains necessary files to build a web-app running with Nginx / Gunicorn / Flask / LetsEncrypt (Certbot) using Docker and docker-compose.

Note: Tested on Ubuntu 16.04, 18.04, 20.04

Docker

service image
flask & gunicorn python:3.8-alpine
nginx nginx:1.19-alpine

Requirements

dependency commands
docker commands for Debian / Ubuntu
docker-compose commands for Debian / Ubuntu
make sudo apt install make
a domain or sub-domain DNS A record needs to points to your server static IP
open ports 80 (http) and 443 (https)

Setting things up

1) Clone this repo on your server

sudo git clone https://github.com/smallwat3r/docker-nginx-gunicorn-flask-letsencrypt.git

Install docker, docker-compose and make (commands can be found above).

2) Add user to docker group

sudo usermod -aG docker $USER

Log out from the server and log back in for changes to apply.

3) Define your application details

Copy .env.example to .env and set up the environment variables.

# .env

# Email to get alerts from LetsEncrypt.
EMAIL=[email protected]

# Domain name or subdomain linked to your server's public IP.
DOMAIN=mydomain.com

# Folder where your flask app is located in the repo. In this example
# it's under ./src/
APP_FOLDER=src

# Application environment name
FLASK_ENV=development

# It can be the application entrypoint (wsgi if using ./src/wsgi.py)
# or the application package (as in this case) as the app's
# configs are under ./src/example_app/__init__.py
FLASK_APP=example_app

Turning it on

Start application

sudo make dc-start

🎉 Your web-app should now be running online with HTTPS 🎉

All commands

% make help
Usage: make [TARGET ...]

help            Show this help menu
dc-stop         Stop docker (might need sudo)
dc-start        Start docker (might need sudo)
dc-start-local  Start docker for local dev (w/o nginx)

Auto checks are running weekly to update the certificates.

License

See LICENSE file.

Contact

Please report issues or questions here.

Buy me a coffee

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].