From d7e0fa821bd090e33b235ebca613faf183fdbaea Mon Sep 17 00:00:00 2001 From: vabene1111 Date: Tue, 24 Mar 2020 16:44:19 +0100 Subject: [PATCH] updated examples --- .env.template | 4 -- docker-compose.override.yml.template | 46 ---------------------- docker-compose.yml | 29 -------------- docs/docker/nginx-proxy/README.md | 7 ++++ docs/docker/nginx-proxy/docker-compose.yml | 36 ++++++++++++++--- docs/docker/plain/README.md | 5 +++ docs/docker/plain/docker-compose.yml | 9 ++++- docs/docker/traefik/docker-compose.yml | 39 ++++++++---------- update.sh | 3 -- 9 files changed, 67 insertions(+), 111 deletions(-) delete mode 100644 docker-compose.override.yml.template delete mode 100644 docker-compose.yml create mode 100644 docs/docker/plain/README.md delete mode 100644 update.sh diff --git a/.env.template b/.env.template index 1a55d7a91..4713b3a2b 100644 --- a/.env.template +++ b/.env.template @@ -1,7 +1,3 @@ -VIRTUAL_HOST= -LETSENCRYPT_HOST= -LETSENCRYPT_EMAIL= - DEBUG=1 ALLOWED_HOSTS=* SECRET_KEY= diff --git a/docker-compose.override.yml.template b/docker-compose.override.yml.template deleted file mode 100644 index 4782ef985..000000000 --- a/docker-compose.override.yml.template +++ /dev/null @@ -1,46 +0,0 @@ - - -# Uncomment and edit the services as you like in here -# there are several examples available -# The docker-compose.override.yml is merged with docker-compose.yml on runtime - -##################### -# WITH NGINX-PROXY # -##################### - -# version: "3" -# services: -# nginx_recipes: -# image: nginx:mainline-alpine -# restart: always -# env_file: -# - ./.env -# volumes: -# - ./nginx/conf.d:/etc/nginx/conf.d -# - ./staticfiles:/static -# - ./mediafiles:/media -# networks: -# - default -# - nginx-proxy -# networks: -# nginx-proxy: -# external: -# name: nginx-proxy - - -####################### -# WITH TREAFIK-PROXY # -####################### - -# version: "3" -# services: -# web_recipes: -# labels: # This lables are only examples! -# - "traefik.enable=true" -# - "traefik.http.routers.recipes.rule=Host(`recipes.mydomain.com`, `recipes.myotherdomain.com`)" -# - "traefik.http.routers.recipes.entrypoints=web_secure" -# - "traefik.http.routers.recipes.tls.certresolver=le_resolver" - -# networks: -# traefik: # This is you external traefic network -# external: true \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml deleted file mode 100644 index 10178ed9a..000000000 --- a/docker-compose.yml +++ /dev/null @@ -1,29 +0,0 @@ -version: "3" -services: - db_recipes: - restart: always - image: postgres:11-alpine - volumes: - - ./postgresql:/var/lib/postgresql/data - env_file: - - ./.env - networks: - - default - - web_recipes: - build: . - restart: always - env_file: - - ./.env - volumes: - - ./staticfiles:/opt/recipes/staticfiles - - ./mediafiles:/opt/recipes/mediafiles - ports: - - 80:8080 - depends_on: - - db_recipes - networks: - - default - -networks: - default: \ No newline at end of file diff --git a/docs/docker/nginx-proxy/README.md b/docs/docker/nginx-proxy/README.md index ceca1510c..21073cf04 100644 --- a/docs/docker/nginx-proxy/README.md +++ b/docs/docker/nginx-proxy/README.md @@ -2,3 +2,10 @@ This is a docker compose example when using [jwilder's nginx reverse proxy](http in combination with [jrcs's letsencrypt companion](https://hub.docker.com/r/jrcs/letsencrypt-nginx-proxy-companion/). Please refer to the appropriate documentation on how to setup the reverse proxy and networks. + +Remember to add the appropriate environment variables to `.env` file: +``` +VIRTUAL_HOST= +LETSENCRYPT_HOST= +LETSENCRYPT_EMAIL= +``` \ No newline at end of file diff --git a/docs/docker/nginx-proxy/docker-compose.yml b/docs/docker/nginx-proxy/docker-compose.yml index 998252657..dba3cb442 100644 --- a/docs/docker/nginx-proxy/docker-compose.yml +++ b/docs/docker/nginx-proxy/docker-compose.yml @@ -1,19 +1,43 @@ version: "3" services: - nginx_recipes: - image: nginx:mainline-alpine + db_recipes: + restart: always + image: postgres:11-alpine + volumes: + - ./postgresql:/var/lib/postgresql/data + env_file: + - ./.env + networks: + - default + + web_recipes: + image: vabene1111/recipes:test restart: always env_file: - ./.env volumes: - - ./nginx/conf.d:/etc/nginx/conf.d - - ./staticfiles:/static - - ./mediafiles:/media + - ./staticfiles:/opt/recipes/staticfiles + - ./mediafiles:/opt/recipes/mediafiles + depends_on: + - db_recipes networks: - default - - nginx-proxy + + nginx_recipes: + image: nginx:mainline-alpine + restart: always + env_file: + - ./.env + volumes: + - ./nginx/conf.d:/etc/nginx/conf.d + - ./staticfiles:/static + - ./mediafiles:/media + networks: + - default + - nginx-proxy networks: + default: nginx-proxy: external: name: nginx-proxy \ No newline at end of file diff --git a/docs/docker/plain/README.md b/docs/docker/plain/README.md new file mode 100644 index 000000000..7c9684be4 --- /dev/null +++ b/docs/docker/plain/README.md @@ -0,0 +1,5 @@ +This is the most basic configuration to run this image with docker compose. + +> **NOTE**: There is no proxy included in this configuration and gunicorn is directly exposed as the webserver which is +> not recommended by according to the [gunicorn devs](https://serverfault.com/questions/331256/why-do-i-need-nginx-and-something-like-gunicorn). +> It is higly recommended to configure an additional proxy (nginx, ...) in front of this. \ No newline at end of file diff --git a/docs/docker/plain/docker-compose.yml b/docs/docker/plain/docker-compose.yml index ea98758e9..a8aa1afda 100644 --- a/docs/docker/plain/docker-compose.yml +++ b/docs/docker/plain/docker-compose.yml @@ -7,9 +7,11 @@ services: - ./postgresql:/var/lib/postgresql/data env_file: - ./.env + networks: + - default web_recipes: - build: . + image: vabene1111/recipes:test restart: always env_file: - ./.env @@ -20,3 +22,8 @@ services: - 80:8080 depends_on: - db_recipes + networks: + - default + +networks: + default: \ No newline at end of file diff --git a/docs/docker/traefik/docker-compose.yml b/docs/docker/traefik/docker-compose.yml index c72b510f0..caacaf14d 100644 --- a/docs/docker/traefik/docker-compose.yml +++ b/docs/docker/traefik/docker-compose.yml @@ -2,39 +2,34 @@ version: "3" services: db_recipes: restart: always - image: "postgres:11-alpine" + image: postgres:11-alpine volumes: - - ./postgresql:/var/lib/postgresql/data + - ./postgresql:/var/lib/postgresql/data env_file: - - ./.env + - ./.env + networks: + - default web_recipes: - build: . + image: vabene1111/recipes:test restart: always env_file: - - ./.env - command: "gunicorn --bind 0.0.0.0:8080 recipes.wsgi" + - ./.env volumes: - - .:/Recipes + - ./staticfiles:/opt/recipes/staticfiles + - ./mediafiles:/opt/recipes/mediafiles depends_on: - - db_recipes - - nginx_recipes: - image: "nginx" - restart: always - env_file: - - ./.env - volumes: - - ./nginx/conf.d:/etc/nginx/conf.d - - ./staticfiles:/static - - ./mediafiles:/media - labels: + - db_recipes + labels: # This lables are only examples! - "traefik.enable=true" - "traefik.http.routers.recipes.rule=Host(`recipes.mydomain.com`, `recipes.myotherdomain.com`)" - "traefik.http.routers.recipes.entrypoints=web_secure" - "traefik.http.routers.recipes.tls.certresolver=le_resolver" + networks: + - default + - traefik networks: - default: - external: - name: traefik + default: + traefik: # This is you external traefic network + external: true \ No newline at end of file diff --git a/update.sh b/update.sh deleted file mode 100644 index a01271490..000000000 --- a/update.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env bash -docker-compose run web_recipes python3 manage.py migrate -docker-compose run web_recipes python3 manage.py collectstatic --noinput