Skip to content

oldzoomer-pingtower/pingtower-backend

Repository files navigation

PingTower Backend Layer

This is PingTower backend layer, based on Java and Spring.

Architecture

The backend consists of several microservices:

  • pinger - Service for system availability checking
  • notificator - Service for managing notifications
  • statistics - Service for statistics and data aggregation
  • common - Shared library module with common components

For detailed architecture documentation, see Architecture Documentation.

Authentication and Authorization

The services use Keycloak for authentication and authorization. Keycloak is included in the Docker Compose configuration and will be automatically started with the services.

Keycloak Configuration

  • Realm: pingtower
  • Default admin user: admin / admin
  • Default regular user: user / user
  • Backend Client ID: pingtower-backend
  • Backend Client secret: pingtower-secret
  • Frontend Client ID: pingtower-frontend
  • Frontend Client secret: pingtower-frontend-secret

External Access

To access Keycloak from external applications:

  1. Set the DOMAIN environment variable in your .env file to your public domain
  2. Keycloak will be accessible at:
    • http://your-domain:8080
  3. Use the pingtower-frontend client for web/mobile applications
  4. Use the pingtower-backend client for backend service-to-service communication

For detailed instructions on configuring external access, see KEYCLOAK_EXTERNAL_ACCESS.md.

Quick Start

  1. Copy .env.example to .env and adjust values if needed:

    cp .env.example .env
  2. For external access, set your domain in the .env file:

    DOMAIN=your-public-domain.com
    
  3. Start all services:

    docker compose up -d
  4. Access the services:

Building Services

To build a specific service, use:

./gradlew :[service-name]:build

For example:

./gradlew :pinger:build

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages