Environment setup
Clone Defguard Core repository recursively (including Git submodules like protos and UI):
git clone --recursive [email protected]:DefGuard/defguard.gitWith docker-compose
Using Docker Compose you can setup a simple stack with:
Defguard Core
PostgreSQL database
Defguard Gateway
example device connected to the gateway
This way you'll have some live stats data to work with.
To do so follow these steps:
Migrate database and insert test network and device:
docker compose run core init-dev-envRun the application:
docker compose upSwitching images
To use different versions of Defguard images, edit docker-compose.yaml file, replacing image: sections. Consult Defguard Package versions to browse for available image tags.
For example, to use current development version, change this section in docker-compose.yaml:
Running local code
To run local code you will need to build core image from local changes:
Then just run the compose normally.
Cargo
To run Defguard Core without Docker, you'll need:
PostgreSQL database
Protobuf compiler (
protoc)environment variables set
The procedure to start Defguard Core:
Launch PostgreSQL database, for example using Docker:
Install pnpm
or use another method described in pnpm installation.
Build front-end
Start Defguard Core in development mode
You'll find environment variables in .env file. Source them however you like (we recommend direnv).
Once that's done, you can run backend with:
Use a web browser to connect to Defguard. For example, when using the default configuration the web site should be accessible under this address:
http://localhost:8000/
Minimum required settings
Consult Configuration manual for a list of all available configuration settings.
DEFGUARD_COOKIE_INSECURE=true- running HTTP server locally does not need secured cookiesDEFGUARD_SECRET_KEY=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx- 64-character long security keyDEFGUARD_LOG_LEVEL=debug- increase logging level
Frontend
Was this helpful?