This guide walks through deploying Frona with Docker Compose.
1. Create a docker-compose.yml
Create a docker-compose.yml file with the following content:
yaml
services:
frona:
image: ghcr.io/fronalabs/frona:latest
ports:
- "3001:3001"
volumes:
- ./data:/app/data
environment:
- FRONA_BROWSER_WS_URL=ws://browserless:3333
- FRONA_SEARCH_SEARXNG_BASE_URL=http://searxng:8080
depends_on:
- browserless
- searxng
# Only needed if you plan to restrict agent network destinations.
# See https://docs.frona.ai/platform/security/sandbox.html
security_opt:
- seccomp:unconfined
restart: unless-stopped
browserless:
image: ghcr.io/browserless/chromium:latest
environment:
- MAX_CONCURRENT_SESSIONS=10
- PREBOOT_CHROME=true
volumes:
- ./data/browser_profiles:/profiles
restart: unless-stopped
searxng:
image: searxng/searxng:latest
environment:
- SEARXNG_BASE_URL=http://searxng:8080
- SEARXNG_SECRET=change-me-to-something-random
configs:
- source: searxng-settings
target: /etc/searxng/settings.yml
restart: unless-stopped
configs:
searxng-settings:
content: |
use_default_settings: true
search:
formats:
- html
- json2. Start the services
bash
docker compose up -d3. Setup
Open http://localhost:3001 in your browser. The setup wizard will guide you through:
- Creating your first account
- Generating the encryption secret
- Configuring your LLM provider API key
Services
| Service | Description | Port |
|---|---|---|
| frona | Frona server (API + frontend + database) | 3001 (host) |
| browserless | Headless Chromium for browser automation | internal only |
| searxng | Meta search engine for web search | internal only |
Data
All persistent data is stored in ./data/:
| Directory | Contents |
|---|---|
data/db/ | Database |
data/workspaces/ | Agent workspaces |
data/files/ | Uploaded files |
data/skills/ | Installed skills |
data/browser_profiles/ | Browser automation profiles |
Configuration
After the initial setup, you can further configure Frona through the settings page in the web interface, environment variables, or a config.yaml file. See Config File Reference and Environment Variables for details.
Stopping the services
bash
docker compose downTo stop and remove all data (volumes):
bash
docker compose down -vUpdating
bash
docker compose pull
docker compose up -dSee Upgrades for more details on the upgrade process.