Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 7 additions & 9 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
4 changes: 1 addition & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)**
Expand Down Expand Up @@ -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

Expand Down
1 change: 0 additions & 1 deletion entrypoint.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
3 changes: 1 addition & 2 deletions test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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 "✓"
Expand Down