Quick Start
Get coreX Manager running in minutes with Docker Compose. This guide covers deployment, first login, and your first config apply.
Prerequisites
- A Linux host with Docker and the Docker Compose plugin installed
- Ports 80, 443, 3000, 8000, and 8404 available (configurable)
1. Clone the Repository
git clone https://github.com/ne4u/corex_manager.git
cd corex_manager
2. Configure Environment
Copy the example environment file and edit it:
cp .env.example .env
Key settings to review:
| Variable | Default | Description |
|---|---|---|
ADMIN_PASSWORD | (random) | Admin user password. Set this for production. |
SECRET_KEY | (random) | JWT signing key. Set this for production. |
HAPROXY_MAXCONN | 100000 | Max HAProxy connections. Lower if memory is limited. |
CORAZA_SPOA_ENABLED | true | Enable the Coraza WAF SPOA. |
3. Start the Stack
docker compose up -d --build
This starts five services:
| Service | Port | Description |
|---|---|---|
frontend | 3000 | React web GUI |
api | 8000 | FastAPI control plane |
corex | 80, 443 | HAProxy data plane |
coraza-spoa | — | Coraza WAF SPOA |
valkey | — | In-memory store (caching, rate limits, tokens) |
4. Log In
Open your browser to http://<host>:3000 and log in with:
- Username:
admin - Password: the value of
ADMIN_PASSWORDfrom your.envfile (oradminif unset)
Change the default password
For production deployments, always set ADMIN_PASSWORD in your .env file before starting the stack. If left unset, a random password is generated and printed in the API logs.
5. Add a Listener
- Navigate to Configuration > Listeners
- Click Add Listener
- Enter a name (e.g.
web-frontend) - Set bind address to
0.0.0.0and port to80 - Select protocol
http - Click Save
6. Add a Backend
- Navigate to Configuration > Backends
- Click Add Backend
- Enter a name (e.g.
web-servers) - Select protocol
http - Select algorithm
roundrobin - Click Save
- Click Servers on the backend row
- Add a server: name
web1, address127.0.0.1, port8080 - Click Save
7. Apply Configuration
- Navigate to the Dashboard (home page)
- Click Preview to see the generated HAProxy config
- Review the config, then click Apply Config
- Watch the task toast in the bottom-right corner for progress
- Once applied, HAProxy is live and routing traffic
Config snapshots
Every Apply Config creates a config snapshot. You can revert to any previous snapshot from Management > Snapshots.
Service URLs
After deployment, the services are available at:
| Service | URL |
|---|---|
| Web GUI | http://<host>:3000 |
| API | http://<host>:8000 |
| HAProxy | http://<host>:80 / https://<host>:443 |
| HAProxy Stats | http://<host>:8404 |
Next Steps
- Listeners & Backends — Configure TLS, HTTP/2, QUIC, and load balancing
- Certificates & TLS — Set up Let’s Encrypt and cipher suites
- Security Rules — Create ordered rules with the coreX expression language
- WAF — Enable Coraza WAF with OWASP CRS