diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..4c49bd7 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.env diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..5f3d66e --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,27 @@ +version: "3" + +services: + web: + container_name: ${CONTAINER_NAME} + image: bitweb/number-to-words-api:${APP_VERSION} + labels: + - traefik.enable=true + ### Section HTTP + - traefik.http.routers.http-number-to-words_api_bjphoster_com.entrypoints=http + # redirect to HTTPS only + - traefik.http.routers.http-number-to-words_api_bjphoster_com.middlewares=http-to-https + - traefik.http.routers.http-number-to-words_api_bjphoster_com.rule=Host(`number-to-words.api.bjphoster.com`) + ### Section HTTPS + - traefik.http.routers.https-number-to-words_api_bjphoster_com.entrypoints=https + # configure the exposed service + - traefik.http.routers.https-number-to-words_api_bjphoster_com.rule=Host(`number-to-words.api.bjphoster.com`) + # of course, enable TLS and it's certificate provider + - traefik.http.routers.https-number-to-words_api_bjphoster_com.tls=true + - traefik.http.routers.https-number-to-words_api_bjphoster_com.tls.certresolver=letsencrypt + networks: + - traefik-proxy + restart: unless-stopped + +networks: + traefik-proxy: + external: true diff --git a/env.example b/env.example new file mode 100644 index 0000000..a7fc655 --- /dev/null +++ b/env.example @@ -0,0 +1,2 @@ +APP_VERSION=latest +CONTAINER_NAME=number-to-words.api.bjphoster.com