Getting Started¶
Prerequisites¶
- Docker and Docker Compose
- Git
Development setup¶
1. Clone and configure¶
git clone https://github.com/MISP/misp-workbench.git
cd misp-workbench
git submodule update --init --remote --recursive
cp .env.dev.dist .env.dev
cp frontend/.env.dist frontend/.env
Edit .env.dev and set at minimum:
OPENSEARCH_INITIAL_ADMIN_PASSWORD— a strong password for OpenSearch
OAUTH2_SECRET_KEY and OAUTH2_REFRESH_SECRET_KEY are auto-generated on first boot if left unset. Set them explicitly if you need deterministic credentials.
2. Start the stack¶
Services started by the dev compose file:
| Service | URL |
|---|---|
| Frontend | http://localhost:3000 |
| API | http://localhost:8000 |
| API docs (Swagger) | http://localhost:8000/docs |
| Flower (task monitor) | http://localhost:5555 |
| pgAdmin | http://localhost:5050 |
| Redis Commander | http://localhost:8081 |
| OpenSearch Dashboards | http://localhost:5601 |
| MailHog | http://localhost:8025 |
3. Create an organisation and admin user¶
docker compose exec api poetry run python -m app.cli create-organisation "My Org"
docker compose exec api poetry run python -m app.cli create-user admin@example.com password --org-name "My Org" --role-id 1
Alternatively, use the default credentials admin@admin.test / admin if they were seeded.
4. Login¶
Open http://localhost:3000/login and log in with your credentials.
Production setup¶
1. Configure environment¶
cp .env.dist .env
# Edit .env and set all required secrets (see Configuration reference)
cp frontend/.env.dist frontend/.env
# Edit frontend/.env and set VITE_API_URL to the API public URL
# e.g. VITE_API_URL=https://api.your-domain.com
2. Configure storage (Garage/S3)¶
Or set STORAGE_ENGINE=local in .env to use local filesystem storage instead.
3. Start the stack¶
Running migrations¶
CLI reference¶
Available commands:
| Command | Description |
|---|---|
create-organisation <name> |
Create a new organisation |
create-user <email> <pass> --org-name <name> --role-id <id> |
Create a new user |