mirror of
https://github.com/RightNow-AI/openfang.git
synced 2026-07-29 14:12:34 +00:00
docker docs
This commit is contained in:
@@ -11,6 +11,11 @@ services:
|
||||
- "4200:4200"
|
||||
volumes:
|
||||
- openfang-data:/data
|
||||
# Uncomment to reach host services (Ollama, whisper.cpp, local Postgres)
|
||||
# from inside the container. Required on Linux and colima. See
|
||||
# docs/troubleshooting.md#connecting-to-host-services-from-docker.
|
||||
# extra_hosts:
|
||||
# - "host.docker.internal:host-gateway"
|
||||
environment:
|
||||
- ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY:-}
|
||||
- OPENAI_API_KEY=${OPENAI_API_KEY:-}
|
||||
|
||||
@@ -82,6 +82,23 @@ cd openfang
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
**Reaching host services from the container.** If you run a local LLM
|
||||
(Ollama, whisper.cpp, vLLM) on the host and want the agent to call it, add
|
||||
the host-gateway bridge. Required on Linux and colima:
|
||||
|
||||
```bash
|
||||
docker run -d \
|
||||
--add-host=host.docker.internal:host-gateway \
|
||||
-e OLLAMA_HOST=http://host.docker.internal:11434 \
|
||||
-p 4200:4200 \
|
||||
ghcr.io/rightnow-ai/openfang:latest
|
||||
```
|
||||
|
||||
For Compose, add `extra_hosts: ["host.docker.internal:host-gateway"]` to the
|
||||
service. See [Troubleshooting → Connecting to host services from Docker](troubleshooting.md#connecting-to-host-services-from-docker)
|
||||
and the [curl-equipped overlay image](troubleshooting.md#curl-equipped-reference-image)
|
||||
if you need in-container `curl` for healthchecks.
|
||||
|
||||
### Verify Installation
|
||||
|
||||
```bash
|
||||
|
||||
@@ -110,6 +110,75 @@ rm ~/.config/fish/conf.d/openfang.fish
|
||||
- Port already in use: change the port mapping `-p 3001:4200`
|
||||
- Permission denied on volume mount: check directory permissions
|
||||
|
||||
### Connecting to host services from Docker
|
||||
|
||||
If you run OpenFang inside Docker and need to reach a service running on the
|
||||
host (Ollama on `127.0.0.1:11434`, whisper.cpp on `127.0.0.1:8090`, a local
|
||||
Postgres, etc.), `localhost` inside the container points at the container
|
||||
itself, not the host. You must opt in to the host bridge.
|
||||
|
||||
On Docker Desktop (macOS/Windows) `host.docker.internal` resolves
|
||||
automatically. On Linux and on colima (macOS) it does not, and you must add
|
||||
the flag explicitly:
|
||||
|
||||
```bash
|
||||
docker run --rm \
|
||||
--add-host=host.docker.internal:host-gateway \
|
||||
-e OLLAMA_HOST=http://host.docker.internal:11434 \
|
||||
-p 4200:4200 \
|
||||
ghcr.io/rightnow-ai/openfang:latest
|
||||
```
|
||||
|
||||
Verify the bridge works:
|
||||
|
||||
```bash
|
||||
docker exec <container> getent hosts host.docker.internal
|
||||
# 192.168.x.x host.docker.internal
|
||||
```
|
||||
|
||||
For Docker Compose use `extra_hosts:`:
|
||||
|
||||
```yaml
|
||||
services:
|
||||
openfang:
|
||||
image: ghcr.io/rightnow-ai/openfang:latest
|
||||
ports:
|
||||
- "4200:4200"
|
||||
extra_hosts:
|
||||
- "host.docker.internal:host-gateway"
|
||||
environment:
|
||||
- OLLAMA_HOST=http://host.docker.internal:11434
|
||||
```
|
||||
|
||||
Without this flag on Linux/colima, calls to host services fail silently with
|
||||
connection refused or DNS lookup errors.
|
||||
|
||||
### Curl-equipped reference image
|
||||
|
||||
The default `ghcr.io/rightnow-ai/openfang` image does not ship `curl`, so
|
||||
`docker exec openfang curl ...` returns `exec: curl: not found`. If you need
|
||||
in-container probes for healthchecks or egress verification, build a thin
|
||||
overlay image:
|
||||
|
||||
```dockerfile
|
||||
# Dockerfile.curl
|
||||
FROM ghcr.io/rightnow-ai/openfang:latest
|
||||
USER root
|
||||
RUN apt-get update \
|
||||
&& apt-get install -y --no-install-recommends ca-certificates curl \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
```
|
||||
|
||||
Build and run:
|
||||
|
||||
```bash
|
||||
docker build -f Dockerfile.curl -t openfang-curl:latest .
|
||||
docker run --rm openfang-curl:latest curl -s https://example.com
|
||||
```
|
||||
|
||||
Use this variant when you need `HEALTHCHECK` directives or in-container
|
||||
diagnostics. The base image stays slim by default.
|
||||
|
||||
---
|
||||
|
||||
## Configuration Issues
|
||||
@@ -596,6 +665,13 @@ docker run -d --name openfang \
|
||||
ghcr.io/rightnow-ai/openfang:latest
|
||||
```
|
||||
|
||||
To reach a host LLM (Ollama, vLLM, whisper.cpp) from inside the container,
|
||||
add `--add-host=host.docker.internal:host-gateway`. See
|
||||
[Connecting to host services from Docker](#connecting-to-host-services-from-docker).
|
||||
The default image does not ship `curl`; build the
|
||||
[curl-equipped overlay](#curl-equipped-reference-image) if you need
|
||||
in-container healthchecks.
|
||||
|
||||
### How do I protect the dashboard with a password?
|
||||
|
||||
OpenFang has built-in dashboard authentication. Enable it in `~/.openfang/config.toml`:
|
||||
|
||||
Reference in New Issue
Block a user