1.5 KiB
1.5 KiB
Docker Self-Hosting
Run OpenSEO locally with Docker.
In Docker mode, OpenSEO uses AUTH_MODE=local_noauth (no auth checks, local admin user admin@localhost).
The default compose.yaml uses the published GHCR image:
ghcr.io/every-app/open-seo:latest
Prerequisites
- Docker Desktop (or Docker Engine + Docker Compose)
Quickstart
cp .env.example .env
docker compose up -d
Set DATAFORSEO_API_KEY in .env, then open http://localhost:<PORT> (default 3001).
Docker Compose passes .env values into the container, and compose.yaml enables CLOUDFLARE_INCLUDE_PROCESS_ENV=true so the Cloudflare Vite runtime can read them as Worker bindings during local self-hosting.
Optional env values:
PORT(defaults to3001)AUTH_MODE=local_noauth(already set in compose)OPEN_SEO_IMAGE(defaults toghcr.io/every-app/open-seo:latest)
Pin to a specific image tag
Set OPEN_SEO_IMAGE in .env and restart:
OPEN_SEO_IMAGE=ghcr.io/every-app/open-seo:v1.2.3
docker compose up -d
Build your own image locally
If you are testing local code changes, build and run a local tag:
docker build -f Dockerfile.selfhost -t open-seo:local .
OPEN_SEO_IMAGE=open-seo:local docker compose up -d
Common commands
- Restart service after env changes:
docker compose up -d open-seo
- Pull latest published image and restart:
docker compose pull && docker compose up -d
- Stop:
docker compose down
- Stop and remove volumes:
docker compose down -v