feat: Add Docker support for Java-free environments

This commit is contained in:
Mark Schmitt
2026-05-17 10:08:54 +02:00
parent 721986106c
commit cf3c1fca4a
4 changed files with 35 additions and 0 deletions

12
Dockerfile Normal file
View File

@@ -0,0 +1,12 @@
FROM eclipse-temurin:25-jdk AS build
WORKDIR /build
COPY . ./
RUN find .
RUN ./mvnw clean package -DskipTests
FROM eclipse-temurin:25-jre
WORKDIR /app
COPY --from=build /build/target/ollama-oai-bridge.jar ./ollama-oai-bridge.jar
COPY start.sh /app/start.sh
EXPOSE 11434
ENTRYPOINT ["/app/start.sh"]

View File

@@ -86,6 +86,18 @@ This project is licensed under the Apache License 2.0. See the `LICENSE` file fo
./start.sh -Dserver.port=11435 -Dbridge.upstream-base-url=http://localhost:5002 -Dbridge.version=0.24.1 -Dbridge.reported-context-offset=5000
```
### Docker
You can build and run the application as a Docker image:
```bash
cd docker
./build.sh
./start-docker.sh
```
The `build.sh` script builds a multi-stage Docker image that compiles the JAR inside Docker and packages it into a minimal runtime image. The `start-docker.sh` script runs the container with host networking.
## Architecture
- **`GatewayProxyConfiguration`**: Sets up the Spring Cloud Gateway routes to proxy requests.

5
docker/build.sh Executable file
View File

@@ -0,0 +1,5 @@
#!/bin/bash
set -euo pipefail
cd "$(dirname "$0")/.."
docker build -t ollama-oai-bridge-run:latest .

6
docker/start-docker.sh Executable file
View File

@@ -0,0 +1,6 @@
#!/bin/bash
set -euo pipefail
docker run --rm \
--network=host \
ollama-oai-bridge-run:latest "$@"