diff --git a/Dockerfile b/Dockerfile index f564613..1088971 100644 --- a/Dockerfile +++ b/Dockerfile @@ -17,17 +17,15 @@ RUN apt-get update && apt-get install -y \ docker.io \ openjdk-17-jdk \ jq \ - python3 \ - python3-pip \ - python3-venv \ - pipx \ && rm -rf /var/lib/apt/lists/* -# Ensure pipx path is set -ENV PATH="/root/.local/bin:${PATH}" - -# Install qlever using pipx -RUN pipx install qlever && pipx ensurepath +# Install qlever from official package repository +# See https://docs.qlever.dev/quickstart/#debian-and-ubuntu +RUN wget -qO - https://packages.qlever.dev/pub.asc | gpg --dearmor | tee /usr/share/keyrings/qlever.gpg > /dev/null && \ + echo "deb [arch=amd64 signed-by=/usr/share/keyrings/qlever.gpg] https://packages.qlever.dev/ $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") main" | tee /etc/apt/sources.list.d/qlever.list && \ + apt-get update && \ + apt-get install -y qlever && \ + rm -rf /var/lib/apt/lists/* # Set working directory WORKDIR /workspace diff --git a/README.md b/README.md index 7052a31..17ada9a 100644 --- a/README.md +++ b/README.md @@ -7,8 +7,7 @@ Run qlever-control from within a Docker container with all required tools pre-in This Docker container includes: - **Java (OpenJDK 17)** - Required for qlever operations - **jq** - JSON processor for data manipulation -- **pipx** - Python package manager -- **qlever** - Installed via pipx +- **qlever** - Installed via native package repository (https://docs.qlever.dev/quickstart/#debian-and-ubuntu) - **Docker CLI** - To run Docker commands on the host VM Base image: **Debian Bookworm (Slim)** @@ -88,7 +87,6 @@ This will run `docker run hello-world` on startup to verify connectivity. Once inside the container, you can use: - `java -version` - Check Java installation - `jq --version` - Check jq installation -- `pipx --version` - Check pipx installation - `qlever --version` - Check qlever installation - `docker ps` - Run Docker commands on the host diff --git a/entrypoint.sh b/entrypoint.sh index d00c75f..a8f524d 100644 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -12,7 +12,6 @@ echo "Verifying installed tools..." echo "- Java version:" java -version 2>&1 | head -n 1 echo "- jq version: $(jq --version)" -echo "- pipx version: $(pipx --version)" echo "- qlever version: $(qlever --version 2>&1 | tail -1)" # Optional: Test Docker connectivity to host diff --git a/test.sh b/test.sh index 171d80f..8a67de0 100755 --- a/test.sh +++ b/test.sh @@ -17,9 +17,8 @@ echo "" # Test 2: Verify all tools are installed echo "Test 2: Verifying all tools are installed..." docker run --rm qlever-control:test bash -c " - java -version 2>&1 | grep -q 'openjdk version' && echo ' ✓ Java (OpenJDK 11) installed' || exit 1 + java -version 2>&1 | grep -q 'openjdk version' && echo ' ✓ Java (OpenJDK 17) installed' || exit 1 jq --version | grep -q 'jq-' && echo ' ✓ jq installed' || exit 1 - pipx --version | grep -q '1.' && echo ' ✓ pipx installed' || exit 1 qlever --version | grep -q 'qlever' && echo ' ✓ qlever installed' || exit 1 docker --version | grep -q 'Docker version' && echo ' ✓ Docker CLI installed' || exit 1 " 2>&1 | grep "✓"