Quickstart¶
Get a NexCTF instance running locally with Docker Compose.
1. Download the compose file¶
2. Start the stack¶
This brings up the FastAPI backend, the React frontend, PostgreSQL, and Valkey.
3. Log in¶
Open https://localhost:8443.
Your browser will warn about the certificate
The bundled Caddy generates a self-signed certificate and does not use Let's Encrypt, so the warning is expected on a local run. Accept it and continue. For a real deployment, mount your own certificate or front the container with your own proxy; see Deployment.
Sign in with the default credentials:
| Username | Password |
|---|---|
admin |
admin |
Change the admin password immediately after first login.
Next steps¶
- Create your first challenge from the admin dashboard.
- Enrol TOTP 2FA on your own account from your profile settings, or add an OAuth2/OIDC provider under Admin → OAuth providers. See Authentication.
- Turn on the rate limits and captcha before the event opens.
- Register a custom challenge or solution type through the plugin system.
- Take the instance to production: Deployment.