Skip to main content

Docker Compose Deployment

Deploy Site Availability Monitoring using Docker Compose for development and small-scale production environments.

Quick Start

# Clone repository
git clone https://github.com/Levy-Tal/site-availability.git
cd site-availability

# Start with single server setup
cd helpers/docker-compose/single-server
docker-compose up -d

Available Setups

Single Server

Best for development and testing:

cd helpers/docker-compose/single-server
docker-compose up -d

Multiple Servers

Production-like environment:

cd helpers/docker-compose/multiple-servers
docker-compose up -d

With Nginx

Includes reverse proxy:

cd helpers/docker-compose/single-server-nginx
docker-compose up -d

Custom Deployment

Create your own docker-compose.yml:

version: "3.8"

services:
backend:
image: site-availability/backend:latest
ports:
- "8080:8080"
environment:
- CONFIG_FILE=/app/config.yaml
volumes:
- ./config.yaml:/app/config.yaml
- ./certs:/app/certs
depends_on:
- prometheus

frontend:
image: site-availability/frontend:latest
ports:
- "3000:80"
environment:
- REACT_APP_API_URL=http://localhost:8080

prometheus:
image: prom/prometheus:latest
ports:
- "9090:9090"
volumes:
- ./prometheus.yml:/etc/prometheus/prometheus.yml

Production Considerations

  • Use external volumes for data persistence
  • Configure resource limits
  • Set up monitoring and logging
  • Use secrets management
  • Enable TLS/SSL