75 lines
1.5 KiB
Markdown
75 lines
1.5 KiB
Markdown
# 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
|
|
|
|
```bash
|
|
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 to `3001`)
|
|
- `AUTH_MODE=local_noauth` (already set in compose)
|
|
- `OPEN_SEO_IMAGE` (defaults to `ghcr.io/every-app/open-seo:latest`)
|
|
|
|
## Pin to a specific image tag
|
|
|
|
Set `OPEN_SEO_IMAGE` in `.env` and restart:
|
|
|
|
```bash
|
|
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:
|
|
|
|
```bash
|
|
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:
|
|
|
|
```bash
|
|
docker compose up -d open-seo
|
|
```
|
|
|
|
- Pull latest published image and restart:
|
|
|
|
```bash
|
|
docker compose pull && docker compose up -d
|
|
```
|
|
|
|
- Stop:
|
|
|
|
```bash
|
|
docker compose down
|
|
```
|
|
|
|
- Stop and remove volumes:
|
|
|
|
```bash
|
|
docker compose down -v
|
|
```
|