From 5ed1af1f7fc9fa70438372da722eaaa3e725fa60 Mon Sep 17 00:00:00 2001 From: Bryan Joshua Pedini Date: Sun, 18 Sep 2022 15:56:56 +0200 Subject: [PATCH] added base deployment --- .gitignore | 2 ++ docker-compose.yml | 36 ++++++++++++++++++++++++++++++++++++ env.example | 18 ++++++++++++++++++ 3 files changed, 56 insertions(+) create mode 100644 .gitignore create mode 100644 docker-compose.yml create mode 100644 env.example diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..fb58dee --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +.env +data diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..cf8e041 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,36 @@ +--- +services: + app: + restart: unless-stopped + labels: + ### Section Træfik + - traefik.enable=${TRAEFIK_ENABLED} + - traefik.docker.network=${TRAEFIK_NETWORK} + ## HTTP + - traefik.http.routers.http-${TRAEFIK_ROUTER}.entrypoints=http + # redirect to HTTPS only + - traefik.http.routers.http-${TRAEFIK_ROUTER}.middlewares=${TRAEFIK_HTTP_MIDDLEWARES} + - traefik.http.routers.http-${TRAEFIK_ROUTER}.rule=${TRAEFIK_MATCHRULE} + ## HTTPS + - traefik.http.routers.https-${TRAEFIK_ROUTER}.entrypoints=https + # configure the exposed service + - traefik.http.routers.https-${TRAEFIK_ROUTER}.middlewares=${TRAEFIK_HTTPS_MIDDLEWARES} + - traefik.http.routers.https-${TRAEFIK_ROUTER}.rule=${TRAEFIK_MATCHRULE} + # enable TLS and its certificate provider + - traefik.http.routers.https-${TRAEFIK_ROUTER}.tls=${TRAEFIK_TLSENABLED} + - traefik.http.routers.https-${TRAEFIK_ROUTER}.tls.certresolver=${TRAEFIK_CERTRESOLVER} + # specify a service so a custom port can be used + - traefik.http.services.${TRAEFIK_SERVICE}.loadbalancer.server.port=${TRAEFIK_SERVICE_PORT} + ### Section Diun + - diun.enable=${DIUN_ENABLE} + - diun.watch_repo=${DIUN_WATCHREPO} + - diun.sort_tags=${DIUN_SORTALGO} + - diun.include_tags=${DIUN_INCLUDE} + - diun.exclude_tags=${DIUN_EXCLUDE} + networks: + - traefik + +networks: + traefik: + external: true + name: ${TRAEFIK_NETWORK} diff --git a/env.example b/env.example new file mode 100644 index 0000000..263f7aa --- /dev/null +++ b/env.example @@ -0,0 +1,18 @@ +# Træfik +TRAEFIK_ENABLED=true +TRAEFIK_NETWORK=traefik +TRAEFIK_ROUTER=app_example_com +TRAEFIK_SERVICE=app_example_com +TRAEFIK_SERVICE_PORT=80 +TRAEFIK_MATCHRULE=Host(`app.example.com`) +TRAEFIK_TLSENABLED=true +TRAEFIK_CERTRESOLVER=letsencrypt +TRAEFIK_HTTP_MIDDLEWARES=http-to-https +TRAEFIK_HTTPS_MIDDLEWARES=hsts + +# Diun +DIUN_ENABLE=true +DIUN_WATCHREPO=true +DIUN_SORTALGO=semver +DIUN_INCLUDE= +DIUN_EXCLUDE=