From fd01a3a8c47b1ffc04bb0f8ae636d8ac6d806ac2 Mon Sep 17 00:00:00 2001 From: Eugene Molotov Date: Mon, 19 Aug 2024 20:43:39 +0500 Subject: [PATCH 1/4] github cicd: move testing dockerfiles to tests/dockerfiles --- .github/workflows/docker.yml | 2 +- Dockerfile.develop.alt10 => tests/dockerfiles/Dockerfile.alt10 | 0 .../dockerfiles/Dockerfile.bookworm | 0 .../dockerfiles/Dockerfile.bullseye | 0 .../dockerfiles/Dockerfile.buster | 0 Dockerfile.develop.focal => tests/dockerfiles/Dockerfile.focal | 0 Dockerfile.develop.jammy => tests/dockerfiles/Dockerfile.jammy | 0 Dockerfile.develop.noble => tests/dockerfiles/Dockerfile.noble | 0 .../dockerfiles/Dockerfile.sisyphus | 0 .../dockerfiles/Dockerfile.trixie | 0 10 files changed, 1 insertion(+), 1 deletion(-) rename Dockerfile.develop.alt10 => tests/dockerfiles/Dockerfile.alt10 (100%) rename Dockerfile.develop.bookworm => tests/dockerfiles/Dockerfile.bookworm (100%) rename Dockerfile.develop.bullseye => tests/dockerfiles/Dockerfile.bullseye (100%) rename Dockerfile.develop.buster => tests/dockerfiles/Dockerfile.buster (100%) rename Dockerfile.develop.focal => tests/dockerfiles/Dockerfile.focal (100%) rename Dockerfile.develop.jammy => tests/dockerfiles/Dockerfile.jammy (100%) rename Dockerfile.develop.noble => tests/dockerfiles/Dockerfile.noble (100%) rename Dockerfile.develop.sisyphus => tests/dockerfiles/Dockerfile.sisyphus (100%) rename Dockerfile.develop.trixie => tests/dockerfiles/Dockerfile.trixie (100%) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 25fd9c2..d005307 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -26,7 +26,7 @@ jobs: uses: docker/build-push-action@v5 with: context: . - file: ./Dockerfile.develop.${{ matrix.dockerfile-suffix }} + file: ./tests/dockerfiles/Dockerfile.${{ matrix.dockerfile-suffix }} push: false load: true tags: test:latest diff --git a/Dockerfile.develop.alt10 b/tests/dockerfiles/Dockerfile.alt10 similarity index 100% rename from Dockerfile.develop.alt10 rename to tests/dockerfiles/Dockerfile.alt10 diff --git a/Dockerfile.develop.bookworm b/tests/dockerfiles/Dockerfile.bookworm similarity index 100% rename from Dockerfile.develop.bookworm rename to tests/dockerfiles/Dockerfile.bookworm diff --git a/Dockerfile.develop.bullseye b/tests/dockerfiles/Dockerfile.bullseye similarity index 100% rename from Dockerfile.develop.bullseye rename to tests/dockerfiles/Dockerfile.bullseye diff --git a/Dockerfile.develop.buster b/tests/dockerfiles/Dockerfile.buster similarity index 100% rename from Dockerfile.develop.buster rename to tests/dockerfiles/Dockerfile.buster diff --git a/Dockerfile.develop.focal b/tests/dockerfiles/Dockerfile.focal similarity index 100% rename from Dockerfile.develop.focal rename to tests/dockerfiles/Dockerfile.focal diff --git a/Dockerfile.develop.jammy b/tests/dockerfiles/Dockerfile.jammy similarity index 100% rename from Dockerfile.develop.jammy rename to tests/dockerfiles/Dockerfile.jammy diff --git a/Dockerfile.develop.noble b/tests/dockerfiles/Dockerfile.noble similarity index 100% rename from Dockerfile.develop.noble rename to tests/dockerfiles/Dockerfile.noble diff --git a/Dockerfile.develop.sisyphus b/tests/dockerfiles/Dockerfile.sisyphus similarity index 100% rename from Dockerfile.develop.sisyphus rename to tests/dockerfiles/Dockerfile.sisyphus diff --git a/Dockerfile.develop.trixie b/tests/dockerfiles/Dockerfile.trixie similarity index 100% rename from Dockerfile.develop.trixie rename to tests/dockerfiles/Dockerfile.trixie From 087b73f22e08e2fca54b64468159c8d58c47e2a2 Mon Sep 17 00:00:00 2001 From: Eugene Molotov Date: Mon, 19 Aug 2024 20:48:23 +0500 Subject: [PATCH 2/4] docker: reorganize develop image and use wdb for debugging --- Dockerfile.develop | 43 +++++++++++++++++++++++++++++++++++++++++++ docker-compose.yml | 14 +++++++++++++- 2 files changed, 56 insertions(+), 1 deletion(-) create mode 100644 Dockerfile.develop diff --git a/Dockerfile.develop b/Dockerfile.develop new file mode 100644 index 0000000..5d1443a --- /dev/null +++ b/Dockerfile.develop @@ -0,0 +1,43 @@ +FROM registry.altlinux.org/alt/base:p10 + +RUN apt-get update && apt-get install -y \ + python3-module-async-timeout \ + python3-module-asyncpg \ + python3-module-cachetools \ + python3-module-jinja2 \ + python3-module-pip \ + python3-module-psycopg2 \ + python3-module-requests \ + python3-module-starlette \ + python3-module-uvicorn \ + && find /var/lib/apt/lists/ -type f -delete + +RUN apt-get update && apt-get install -y \ + gcc make \ + git \ + postgresql15-server \ + python3-modules-sqlite3 \ + && find /var/lib/apt/lists/ -type f -delete + +RUN git clone https://github.com/eradman/ephemeralpg.git \ + && cd ephemeralpg \ + && make && make install \ + && cd .. \ + && rm -rf ephemeralpg/ + +RUN python3 -m pip install wdb + +ENV PATH="/usr/lib/postgresql/15/bin:${PATH}" +# take out coverage report from source directory +ENV COVERAGE_FILE="/tmp/qllr.coverage" + +COPY --chown=apache . /opt/qllr + +WORKDIR /opt/qllr + +RUN python3 -m pip install --no-deps -r requirements.txt +RUN python3 -m pip install -r requirements_dev.txt + +USER apache + +CMD ["sh", "-c", "./docker/entrypoint.py && ./main.py"] diff --git a/docker-compose.yml b/docker-compose.yml index 0f82580..ed4872d 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -25,8 +25,20 @@ services: dev: build: context: . - dockerfile: Dockerfile.develop.buster + dockerfile: Dockerfile.develop volumes: - .:/opt/qllr ports: - "127.0.0.1:7081:8000" + environment: + - DATABASE_URL=postgres://eugene:bebebe@db:5432/qllr + - HOST=0.0.0.0 + - PORT=8000 + - WDB_SOCKET_SERVER=wdb + - WDB_NO_BROWSER_AUTO_OPEN=True + depends_on: ["wdb", "db"] + + wdb: + image: kozea/wdb:3.3.0 + ports: + - "127.0.0.1:1984:1984" From 3475d82464b8d6cb9a7d1ec9c0bbe6879ea3c069 Mon Sep 17 00:00:00 2001 From: Eugene Molotov Date: Mon, 19 Aug 2024 21:08:24 +0500 Subject: [PATCH 3/4] docker: use alt10 for production --- Dockerfile.production | 30 ++++++++++++++---------------- 1 file changed, 14 insertions(+), 16 deletions(-) diff --git a/Dockerfile.production b/Dockerfile.production index 4051c47..78c5c3c 100644 --- a/Dockerfile.production +++ b/Dockerfile.production @@ -1,25 +1,23 @@ -FROM debian:buster +FROM registry.altlinux.org/alt/base:p10 RUN apt-get update && apt-get install -y \ - python3-asgiref \ - python3-click \ - python3-cachetools \ - python3-h11 \ - python3-jinja2 \ - python3-idna \ - python3-pip \ - python3-psycopg2 \ - python3-requests \ - python3-sniffio \ - python3-typing-extensions \ - && rm -rf /var/lib/apt/lists/* + python3-module-async-timeout \ + python3-module-asyncpg \ + python3-module-cachetools \ + python3-module-jinja2 \ + python3-module-pip \ + python3-module-psycopg2 \ + python3-module-requests \ + python3-module-starlette \ + python3-module-uvicorn \ + && find /var/lib/apt/lists/ -type f -delete -COPY --chown=www-data . /opt/qllr +COPY --chown=apache . /opt/qllr WORKDIR /opt/qllr -RUN python3 -m pip install -r requirements.txt +RUN python3 -m pip install --no-deps -r requirements.txt -USER www-data +USER apache CMD ["sh", "-c", "./docker/entrypoint.py && ./main.py"] From a3a93046b7efafae8357831ed5b3082687617ef5 Mon Sep 17 00:00:00 2001 From: Eugene Molotov Date: Mon, 19 Aug 2024 21:12:04 +0500 Subject: [PATCH 4/4] github cicd: bump postgresql in order to work --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index ffe08ea..7ed97f9 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -18,7 +18,7 @@ jobs: - name: Install postgresql uses: tj-actions/install-postgresql@v3 with: - postgresql-version: 11 + postgresql-version: 12 - uses: actions/checkout@v3 - name: Include ppa repository run: sudo add-apt-repository ppa:deadsnakes/ppa