diff --git a/.gitignore b/.gitignore index 5bff78cf20c77427d004177d76376460d44c0f55..8bbb4dd0510ca1b8dd9f2208056a929e65df817a 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,4 @@ htmlcov .vscode/ docker-stack.yml +.env diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 09d6ebf2dca0a5eb1638d2cafdde865b09503722..b223d5ec0c320d7614202473593d5af50e5c991b 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -18,6 +18,7 @@ variables: ESAP_DB_IMAGE: ${CI_REGISTRY_IMAGE} PGADMIN_DEFAULT_EMAIL: pgadmin4@pgadmin.org PGADMIN_DEFAULT_PASSWORD: admin + TRAEFIK_PUBLIC_NETWORK_IS_EXTERNAL: 'false' before_script: - docker version diff --git a/README.md b/README.md index 4ffadef32eb06fdd0daa33916cb1785ecf93cfea..b89e97049cab775b63ee4840408c58ab06df3aa6 100644 --- a/README.md +++ b/README.md @@ -22,6 +22,7 @@ DBPROJECT_USER=postgres DBPROJECT_PASSWORD=postgres PGADMIN_DEFAULT_EMAIL=pgadmin@pgadmin.org PGADMIN_DEFAULT_PASSWORD=admin +TRAEFIK_PUBLIC_NETWORK_IS_EXTERNAL=false ``` To check that ESAP-DB is working locally: diff --git a/host-files/docker-compose.yml b/host-files/docker-compose.yml index 42b2327882c1d5bfc9e9c833773cd4cec570f72a..dcf9a2c224eeab9606cab3454937cb96c1b21cff 100644 --- a/host-files/docker-compose.yml +++ b/host-files/docker-compose.yml @@ -1,5 +1,9 @@ version: "3" +networks: + traefik_proxy: + external: ${TRAEFIK_PUBLIC_NETWORK_IS_EXTERNAL?Variable not set} + services: esap-db: @@ -26,13 +30,23 @@ services: context: .. args: INSTALL_DEV: ${INSTALL_DEV:-false} - command: bash -c "/code/scripts/prepare-app.sh && uvicorn app.main:app --port 8001 --host 0.0.0.0 --reload" + command: bash -c "/code/scripts/prepare-app.sh && uvicorn app.main:app --root-path=/esap-db --port 8001 --host 0.0.0.0 --reload" ports: - "8001:8001" depends_on: - dbadmin - dbproject1 - + networks: + - traefik_proxy + labels: + - "traefik.enable=true" + - "traefik.http.routers.esap-dbtool.entryPoints=websecure" + - "traefik.http.routers.esap-dbtool.service=esap-dbtool" + - "traefik.http.routers.esap-dbtool.rule=Host(`sdc-dev.astron.nl`) && PathPrefix(`/esap-db/`)" + - "traefik.http.services.esap-dbtool.loadbalancer.server.port=8001" + - "traefik.http.routers.esap-dbtool.middlewares=esap-dbtool-stripprefix" + - "traefik.http.middlewares.esap-dbtool-stripprefix.stripprefix.prefixes=/esap-db/" + dbadmin: image: postgres:12 ports: @@ -41,6 +55,8 @@ services: - POSTGRES_USER=${DBADMIN_USER} - POSTGRES_PASSWORD=${DBADMIN_PASSWORD} - POSTGRES_DB=dbadmin + networks: + - traefik_proxy dbproject1: image: postgres:12 @@ -52,6 +68,8 @@ services: environment: - POSTGRES_USER=${DBPROJECT_USER} - POSTGRES_PASSWORD=${DBPROJECT_PASSWORD} + networks: + - traefik_proxy pgadmin: container_name: pgadmin @@ -63,3 +81,5 @@ services: - "5050:80" depends_on: - dbadmin + networks: + - traefik_proxy diff --git a/host-files/run.sh b/host-files/run.sh index 9eb639bcba2a5122df6d69ff11b5d0ea7f400938..b2c869267bc88e897b1d72c2070d098f3c40d8ac 100755 --- a/host-files/run.sh +++ b/host-files/run.sh @@ -7,7 +7,6 @@ export ESAP_DB_PATH="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pw DOMAIN=backend \ SMTP_HOST="" \ -TRAEFIK_PUBLIC_NETWORK_IS_EXTERNAL=false \ INSTALL_DEV=true \ docker-compose -f ${ESAP_DB_PATH}/docker-compose.yml config > ${ESAP_DB_PATH}/docker-stack.yml