Sign inSign up

mszajner/beanguard-server

By mszajner

•Updated about 2 months ago

REST API + PostgreSQL backend that issues, signs, and encrypts BeanGuard licences.

Image
Security
Languages & frameworks
0

273

mszajner/beanguard-server repository overview

⁠BeanGuard Server

REST API + PostgreSQL backend for BeanGuard⁠ — a licensing system for Java/Spring Boot applications. Issues, signs, and encrypts licences; stores licence templates, users, orders, and the cryptographic keys used to sign/encrypt licences.

⁠Quick start

The fastest way to see BeanGuard in action: server, admin panel, and shop, plus PostgreSQL. Create a docker-compose.yml:

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
    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
    depends_on:
      - server
    environment:
      BEANGUARD_SERVER_URL: http://server:80
    ports:
      - '8002:80'

  shop:
    image: mszajner/beanguard-shop:0.1
    depends_on:
      - server
    environment:
      BEANGUARD_SERVER_URL: http://server:80
    ports:
      - '8001:80'

volumes:
  beanguard-db:
docker compose up -d

Server: localhost:8000 (Swagger UI at /swagger-ui.html) · Admin: localhost:8002 · Shop: localhost:8001.

On first boot the server applies its own database migrations (Liquibase) and generates the RSA/AES keys used to sign and encrypt licences — no manual setup. The default administrator password is printed once to the logs:

docker compose logs server | grep -i admin

Log in and change it immediately.

⁠Environment variables

VariablePurpose
SPRING_DATASOURCE_URL / _USERNAME / _PASSWORDPostgreSQL connection
BEANGUARD_ADMIN_URLPublic admin panel URL, used in outbound emails
BEANGUARD_SHOP_URLPublic shop URL

Everything else (cryptographic keys, mail settings, licence defaults) is configured at runtime in the admin panel under Settings — no rebuild needed.

Full guide: https://beanguard.dev/en/server⁠

Tag summary

Content type

Image

Digest

sha256:c46666732…

Size

163.1 MB

Last updated

about 2 months ago

docker pull mszajner/beanguard-server:0.1-latest