|
All checks were successful
Build and push image / docker-build-push-action (push) Successful in 4m15s
|
||
|---|---|---|
| .forgejo/workflows | ||
| config | ||
| src | ||
| .editorconfig | ||
| .env.template | ||
| .gitignore | ||
| .oxlintrc.json | ||
| .prettierignore | ||
| .prettierrc | ||
| AGENTS.md | ||
| bun.lock | ||
| bunfig.toml | ||
| Dockerfile | ||
| package.json | ||
| README.md | ||
| tsconfig.json | ||
liseran
openai-api proxy that combines apis into a single api
currently targets being a single endpoint to multiple different vllm instances based on model
WebSocket mode proxying
liseran now supports OpenAI Responses WebSocket mode at /v1/responses.
- Authenticate the initial upgrade request with
Authorization: Bearer <API_KEY>. - Send
response.createas the first client frame with amodelfield (or setX-Modelon the upgrade request). - The proxy selects an upstream for that model and pins the client socket to that backend for the lifetime of the connection.
- All client and upstream frames are forwarded transparently after routing.
- If no backend is available for the chosen model, the proxy sends an OpenAI-style error event and closes the socket.
Forgejo multi-arch image build
This repository includes a Forgejo workflow at .forgejo/workflows/docker-build-push-action.yaml.
- Trigger: push a tag matching
v*(for examplev1.2.3) - Build target:
linux/amd64andlinux/arm64 - Registry:
git.skaarup.dev - Published tags:
git.skaarup.dev/nikiskaarup/liseran:latestgit.skaarup.dev/nikiskaarup/liseran:<tag-without-v>
Required repository secret:
FORGEJO_PACKAGES_TOKEN_RW(token with package write permissions)
Forgejo runner setup (simple)
This is the simplest setup path and uses the host Docker socket.
- Install Docker on the runner host.
- Install
forgejo-runner. - Register a runner token from Forgejo repository settings and register the runner.
- Configure the runner to expose Docker to jobs with
container.docker_host: automount. - Run
forgejo-runner daemonas a service.
Example runner config (/home/runner/config.yml):
runner:
capacity: 1
container:
docker_host: automount
Example registration command (interactive):
forgejo-runner register
When prompted for labels, provide at least one docker label so workflows using runs-on: docker can be scheduled, for example:
docker:docker://node:20-bookworm
The image used by the runner label must include the Docker CLI. If it does not, steps like setup-qemu-action will fail with Unable to locate executable file: docker.
Start the runner:
forgejo-runner daemon --config /home/runner/config.yml
Security note: automount is convenient but gives workflow jobs access to the host Docker daemon. Use only with trusted repositories/users.