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.

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:

  1. In the admin panel, open Cryptographic keys, Licence tab.
  2. Use the Copy button to copy the public key and the encryption key (AES).
  3. Paste them into ServerConfig in your application's BeanGuardConfiguration implementation.

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.

Was this page helpful?