From 0974fde59e5a5f18fa2f21f3399a71cb8dcc39e2 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Thu, 21 Apr 2022 00:34:24 +1000 Subject: [PATCH 1/5] Add sqlite-config file back in - required for CI steps - might refactor this out later on --- docker/sqlite-config.env | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 docker/sqlite-config.env diff --git a/docker/sqlite-config.env b/docker/sqlite-config.env new file mode 100644 index 0000000000..b41660ad6e --- /dev/null +++ b/docker/sqlite-config.env @@ -0,0 +1,10 @@ +# InvenTree environment variables for a development setup + +# Set DEBUG to False for a production environment! +INVENTREE_DEBUG=True +INVENTREE_DEBUG_LEVEL=INFO + +# Database configuration options +# Note: The example setup is for a PostgreSQL database (change as required) +INVENTREE_DB_ENGINE=sqlite +INVENTREE_DB_NAME=/home/inventree/dev/inventree_db.sqlite3 From ced9c6c050a74429e8dc4e4ce565634278295d9e Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Thu, 21 Apr 2022 01:02:55 +1000 Subject: [PATCH 2/5] Sqlite docker-compose file no longer requires .env file As this is only used for CI this is OK --- .github/workflows/docker_test.yaml | 4 ++++ docker/docker-compose.sqlite.yml | 12 ++++++------ docker/sqlite-config.env | 10 ---------- 3 files changed, 10 insertions(+), 16 deletions(-) delete mode 100644 docker/sqlite-config.env diff --git a/.github/workflows/docker_test.yaml b/.github/workflows/docker_test.yaml index d96621ee66..0865b0b0cf 100644 --- a/.github/workflows/docker_test.yaml +++ b/.github/workflows/docker_test.yaml @@ -14,6 +14,10 @@ on: branches: - 'master' - 'stable' + pull_request: + branches: + - 'master' + - 'stable' jobs: diff --git a/docker/docker-compose.sqlite.yml b/docker/docker-compose.sqlite.yml index e42c43a09c..0c08109af5 100644 --- a/docker/docker-compose.sqlite.yml +++ b/docker/docker-compose.sqlite.yml @@ -27,9 +27,9 @@ services: volumes: # Ensure you specify the location of the 'src' directory at the end of this file - src:/home/inventree - env_file: - # Environment variables required for the dev server are configured in dev-config.env - - sqlite-config.env + environment: + - INVENTREE_DEBUG=True + - INVENTREE_DB_ENGINE=sqlite restart: unless-stopped # Background worker process handles long-running or periodic tasks @@ -44,9 +44,9 @@ services: volumes: # Ensure you specify the location of the 'src' directory at the end of this file - src:/home/inventree - env_file: - # Environment variables required for the dev server are configured in dev-config.env - - sqlite-config.env + environment: + - INVENTREE_DEBUG=True + - INVENTREE_DB_ENGINE=sqlite restart: unless-stopped volumes: diff --git a/docker/sqlite-config.env b/docker/sqlite-config.env deleted file mode 100644 index b41660ad6e..0000000000 --- a/docker/sqlite-config.env +++ /dev/null @@ -1,10 +0,0 @@ -# InvenTree environment variables for a development setup - -# Set DEBUG to False for a production environment! -INVENTREE_DEBUG=True -INVENTREE_DEBUG_LEVEL=INFO - -# Database configuration options -# Note: The example setup is for a PostgreSQL database (change as required) -INVENTREE_DB_ENGINE=sqlite -INVENTREE_DB_NAME=/home/inventree/dev/inventree_db.sqlite3 From a3766250887050ddd7e460b1c274760a1d4dcb23 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Thu, 21 Apr 2022 01:04:46 +1000 Subject: [PATCH 3/5] Force INVENTREE_DB_USER and INVENTREE_DB_PASSWORD to be set manually - Only for the "production" docker setup --- docker/production/.env | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/docker/production/.env b/docker/production/.env index b1c9430b51..d1fca305d1 100644 --- a/docker/production/.env +++ b/docker/production/.env @@ -22,8 +22,11 @@ INVENTREE_DB_ENGINE=postgresql INVENTREE_DB_NAME=inventree INVENTREE_DB_HOST=inventree-db INVENTREE_DB_PORT=5432 -INVENTREE_DB_USER=pguser -INVENTREE_DB_PASSWORD=pgpassword + +# Database credentials - These must be configured before running +# Uncomment the lines below, and change from the default values! +#INVENTREE_DB_USER=pguser +#INVENTREE_DB_PASSWORD=pgpassword # Enable plugins? INVENTREE_PLUGINS_ENABLED=False From 1ac8ae76975f10c41a9e4f2d734621bc1912eafb Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Thu, 21 Apr 2022 01:10:29 +1000 Subject: [PATCH 4/5] No need to build docker test image on each pull request commit --- .github/workflows/docker_test.yaml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.github/workflows/docker_test.yaml b/.github/workflows/docker_test.yaml index 0865b0b0cf..d96621ee66 100644 --- a/.github/workflows/docker_test.yaml +++ b/.github/workflows/docker_test.yaml @@ -14,10 +14,6 @@ on: branches: - 'master' - 'stable' - pull_request: - branches: - - 'master' - - 'stable' jobs: From 67196b866e6db5023d73f38d2a4b7bb87a078c1a Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Thu, 21 Apr 2022 01:13:34 +1000 Subject: [PATCH 5/5] Compose script fixes - Define INVENTREE_DB_NAME - Cache built image --- docker/docker-compose.sqlite.yml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/docker/docker-compose.sqlite.yml b/docker/docker-compose.sqlite.yml index 0c08109af5..9800788b1d 100644 --- a/docker/docker-compose.sqlite.yml +++ b/docker/docker-compose.sqlite.yml @@ -21,6 +21,8 @@ services: build: context: . target: dev + # Cache the built image to be used by the inventree-dev-worker process + image: inventree-dev-image ports: # Expose web server on port 8000 - 8000:8000 @@ -30,14 +32,13 @@ services: environment: - INVENTREE_DEBUG=True - INVENTREE_DB_ENGINE=sqlite + - INVENTREE_DB_NAME=/home/inventree/db.sqlite3 restart: unless-stopped # Background worker process handles long-running or periodic tasks inventree-dev-worker: container_name: inventree-dev-worker - build: - context: . - target: dev + image: inventree-dev-image command: invoke worker depends_on: - inventree-dev-server @@ -47,6 +48,7 @@ services: environment: - INVENTREE_DEBUG=True - INVENTREE_DB_ENGINE=sqlite + - INVENTREE_DB_NAME=/home/inventree/db.sqlite3 restart: unless-stopped volumes: @@ -59,4 +61,4 @@ volumes: o: bind # This directory specified where InvenTree source code is stored "outside" the docker containers # By default, this directory is one level above the "docker" directory - device: ../ + device: ${INVENTREE_EXT_VOLUME:-../}