Skip to content

Latest commit

 

History

9 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ping-Tower / Infra

Part of the Ping-Tower uptime monitoring system. 📖 Full project description and architecture →

Infrastructure for the PingTower platform: reverse proxy, all four datastores, and log aggregation — deployed separately from the six application services and shared with them via the external pingtower_network Docker network.

Components

Component What it does
proxy/ Traefik — TLS termination (Let's Encrypt, TLS challenge)
postgres/ PostgreSQL — transactional data (users, servers, ping settings, tokens)
redis/ Redis — per-service state (ping-service target store, state-elevator status/cooldown)
clickhouse/ ClickHouse — time-series ping metrics (server_pings), with init script and backup/restore scripts
rabbitmq/ RabbitMQ broker — topology defined in config/definitions.json, contract documented in asyncapi.yaml
logging/ Loki + Promtail + Grafana — centralized log aggregation for all services

Running

The root Makefile orchestrates every stack and service from one place:

make -C infra up             # infra (postgres, redis, clickhouse, rabbitmq) + API migrations + all services
make -C infra down            # stop everything

make -C infra infra-up        # just the datastores + broker
make -C infra services-up     # just api, workers and frontend (assumes infra is already up)
make -C infra migrate         # run the API's EF Core migrator once
make -C infra ps               # compose status across every stack
make -C infra logs             # tail infra logs

Each service also has its own <service>-up / <service>-down target (api-up, email-up, metrics-up, ping-up, state-up, tg-bot-up, frontend-up).

CI/CD (GitLab)

.gitlab-ci.yml — deploys over SSH: rsyncs this repo to the target host, creates pingtower_network if missing, then brings up postgres, redis, clickhouse, rabbitmq, the proxy, and logging via docker compose (production only, main branch).

About

Infrastructure for PingTower - Traefik, PostgreSQL, ClickHouse, Redis, RabbitMQ, and Loki/Grafana logging, deployed via Docker Compose.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages