version: "3.8" services: # RRWeb Demo Application rrweb-demo: build: . container_name: rrweb-demo restart: unless-stopped ports: - "8080:8080" environment: - HOST=0.0.0.0 - PORT=8080 - DB_PATH=/app/data/rrweb_sessions.db volumes: # Persist database between container restarts - ./data:/app/data # For development: mount source code # - ./src:/app/src # - ./web:/app/web networks: - rrweb_network healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8080/api/sessions"] interval: 30s timeout: 10s retries: 3 start_period: 40s # Optional: Nginx reverse proxy for production # nginx: # image: nginx:alpine # container_name: rrweb-nginx # restart: unless-stopped # ports: # - "80:80" # - "443:443" # volumes: # - ./nginx.conf:/etc/nginx/nginx.conf:ro # - ./certs:/etc/nginx/certs:ro # depends_on: # - rrweb-demo # networks: # - rrweb_network volumes: # Named volume for database (alternative to bind mount) # rrweb_data: networks: rrweb_network: driver: bridge