Quick start
The fastest way to see BeanGuard in action: three Docker containers — server, admin panel, and shop — plus a PostgreSQL database.
Docker Compose
Create a docker-compose.yml file:
services:
postgres:
image: postgres:16
environment:
POSTGRES_DB: beanguard
POSTGRES_USER: beanguard
POSTGRES_PASSWORD: beanguard
volumes:
- beanguard-db:/var/lib/postgresql/data
server:
image: mszajner/beanguard-server:0.1.3
depends_on:
- postgres
environment:
SPRING_DATASOURCE_URL: jdbc:postgresql://postgres/beanguard
SPRING_DATASOURCE_USERNAME: beanguard
SPRING_DATASOURCE_PASSWORD: beanguard
BEANGUARD_ADMIN_URL: http://localhost:8002
BEANGUARD_SHOP_URL: http://localhost:8001
ports:
- '8000:80'
admin:
image: mszajner/beanguard-admin:0.1.3
depends_on:
- server
environment:
BEANGUARD_SERVER_URL: http://localhost:8000
ports:
- '8002:80'
shop:
image: mszajner/beanguard-shop:0.1.3
depends_on:
- server
environment:
BEANGUARD_SERVER_URL: http://localhost:8000
ports:
- '8001:80'
volumes:
beanguard-db:
Start everything:
docker compose up -d
The server listens on localhost:8000, the admin panel on localhost:8002, the shop on localhost:8001.
First startup
On startup, the server applies the database migrations itself (Liquibase), creates the default configuration parameters, and immediately generates the RSA/AES keys for signing licences and administrator sessions — no manual steps needed. Go to http://localhost:8002 and log in to the admin panel.
You'll find the default administrator login credentials in the server
container's logs on first startup:
docker compose logs server | grep -i admin.
See Admin panel for an overview of the whole menu.
Licence keys
The public key and AES secret you'll enter in the client configuration are already waiting for you — the server generated them automatically on first startup:
- In the admin panel, open Cryptographic keys, Licence tab.
- Use the Copy button to copy the public key and the encryption key (AES).
- Paste them into
ServerConfigin your application'sBeanGuardConfigurationimplementation.
Don't click Generate new keys here during initial setup — that button is for rotation and immediately invalidates already-issued licences. The keys generated automatically when the server started are ready to use.
What's next
- Configure Branding and Settings so emails, the panel, and certificates show your details instead of the defaults.
- Add your first product for sale, or go straight to a manual licence for a test customer.
- Integrate beanguard-client into your own application.
- Configure the shop so customers can buy licences themselves.
