From 327c5f8f203aa3ccdd372551463c6e9b9ca8acaa Mon Sep 17 00:00:00 2001 From: timo Date: Fri, 2 Feb 2024 15:52:29 +0100 Subject: [PATCH] Build a container image around the app This commit adds building a docker image for the app and build and push it automatically to the container registry. --- .github/workflows/publish-docker-image.yaml | 36 +++++++++++++++++++++ Dockerfile | 11 +++++++ requirements.txt | 1 + 3 files changed, 48 insertions(+) create mode 100644 .github/workflows/publish-docker-image.yaml create mode 100644 Dockerfile diff --git a/.github/workflows/publish-docker-image.yaml b/.github/workflows/publish-docker-image.yaml new file mode 100644 index 0000000..024ed42 --- /dev/null +++ b/.github/workflows/publish-docker-image.yaml @@ -0,0 +1,36 @@ +name: Publish Docker image + +on: + push: + +jobs: + push_to_registries: + name: Push Docker image to multiple registries + runs-on: ubuntu-latest + permissions: + packages: write + contents: read + steps: + - name: Check out the repo + uses: actions/checkout@v4 + + - name: Log in to the Container registry + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Extract metadata (tags, labels) for Docker + id: meta + uses: docker/metadata-action@v5 + with: + images: ghcr.io/${{ github.repository }} + + - name: Build and push Docker images + uses: docker/build-push-action@v5 + with: + context: . + push: true + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..f4e002a --- /dev/null +++ b/Dockerfile @@ -0,0 +1,11 @@ +FROM python:3.9-slim +EXPOSE 5555 + +COPY requirements.txt /app/requirements.txt +RUN pip install --no-cache-dir -r /app/requirements.txt + +COPY . /app +WORKDIR /app + +USER nobody +CMD [ "gunicorn", "-b", "0.0.0.0:5000", "nginx-ldap-connector:app" ] diff --git a/requirements.txt b/requirements.txt index c4e42ca..2dffce3 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,2 +1,3 @@ Flask ldap3 +gunicorn