Skip to content

Instantly share code, notes, and snippets.

@lg
Last active April 18, 2026 23:11
Show Gist options
  • Select an option

  • Save lg/b9f19e552a00d1b02e88d3f75d91b7d8 to your computer and use it in GitHub Desktop.

Select an option

Save lg/b9f19e552a00d1b02e88d3f75d91b7d8 to your computer and use it in GitHub Desktop.
Docker-packaged proxy for Taalas' chat jimmy

jimmy-proxy in Docker

Run Fadeleke57/jimmy-proxy — an OpenAI-compatible proxy for ChatJimmy — in a container.

The Dockerfile fetches proxy.py from upstream (pinned to a commit SHA); nothing is vendored here.

Run with Docker

docker build -t jimmy-proxy .
docker run --rm -p 4100:4100 jimmy-proxy

Run with Docker Compose (auto-starts on boot)

docker compose up -d

restart: unless-stopped brings the container back up whenever the Docker daemon is running (i.e. on every boot, assuming Docker Desktop / OrbStack is set to launch at login).

Test it

curl -s http://localhost:4100/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "llama3.1-8B",
    "messages": [{"role": "user", "content": "Hello in one word."}]
  }'

Point any OpenAI-compatible client at http://localhost:4100/v1.

Updating

Bump JIMMY_PROXY_SHA in the Dockerfile to a newer commit from the upstream repo and rebuild.

services:
jimmy-proxy:
build: .
image: jimmy-proxy:latest
container_name: jimmy-proxy
restart: unless-stopped
ports:
- "4100:4100"
FROM python:3.12-slim
# Pin to a specific upstream commit for reproducibility.
# Bump this SHA to update to a newer proxy.py.
ARG JIMMY_PROXY_SHA=1a0a12c254ad2f1f6aadc0e4523a490da75a940f
WORKDIR /app
ADD https://raw.githubusercontent.com/Fadeleke57/jimmy-proxy/${JIMMY_PROXY_SHA}/proxy.py /app/proxy.py
# Bind to all interfaces so the port is reachable from outside the container.
RUN sed -i 's/"127\.0\.0\.1"/"0.0.0.0"/' /app/proxy.py
EXPOSE 4100
ENTRYPOINT ["python", "-u", "proxy.py"]
CMD ["--port", "4100"]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment