Verified Commit c8caa9b5 authored by Jakob Moser's avatar Jakob Moser
Browse files

Add basic Dockerfile

parent aea019a9
Loading
Loading
Loading
Loading
Loading

.dockerignore

0 → 100644
+28 −0
Original line number Diff line number Diff line
# Python-related
venv
.venv
**/__pycache__

# JavaScript-related
package.json
package-lock.json
node_modules

# PyCharm configuration
.idea

# VS Code configuration
*.code-workspace

# Local instance data and configuration
instance

# Environment files (might contain secrets)
.env

# Git and Docker
.git
.gitlab-ci.yml
.dockerignore
.gitignore
Dockerfile

.gitlab-ci.yml

0 → 100644
+16 −0
Original line number Diff line number Diff line
# Taken and modified from https://docs.gitlab.com/ee/ci/docker/using_kaniko.html
# Licensed under CC BY-SA 4.0 (see LICENSE-3RD-PARTY.md)
build-docker:
    image:
        name: gcr.io/kaniko-project/executor:debug
        entrypoint: [""]
    stage: build
    before_script:
        - mkdir -p /kaniko/.docker
        - echo "{\"auths\":{\"$CI_REGISTRY\":{\"username\":\"$CI_REGISTRY_USER\",\"password\":\"$CI_REGISTRY_PASSWORD\"}}}" > /kaniko/.docker/config.json
    script:
        - echo "{\"commit\":\"$CI_COMMIT_SHA\",\"datetime\":\"$CI_COMMIT_TIMESTAMP\"}" > SCHWALBE_VERSION
        - /kaniko/executor --context $CI_PROJECT_DIR --dockerfile $CI_PROJECT_DIR/Dockerfile --destination $CI_REGISTRY_IMAGE:$CI_COMMIT_TAG
    only:
        - master
# End of adapted snippet

Dockerfile

0 → 100644
+22 −0
Original line number Diff line number Diff line
FROM python:3.13
COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/

# We will use /app as our main directory within the Docker container
WORKDIR /app

RUN apt-get update \
    && apt-get install -y \
    pandoc \
    && apt-get clean \
    && rm -rf /var/lib/apt/lists/*

# First, copy and install only the requirements...
COPY pyproject.toml .
COPY uv.lock .
RUN uv sync --locked

# ... then the rest of the application. This allows the installation stage to be cached most of the time
# (so we don't have reinstall of all dependencies every time the container is rebuilt)
COPY . .

ENTRYPOINT ["uv", "run", "coliverter"]