Files
easystream-main/docker-compose.srs.yml
SamiAhmed7777 0b7e2d0a5b feat: Add comprehensive documentation suite and reorganize project structure
- Created complete documentation in docs/ directory
- Added PROJECT_OVERVIEW.md with feature highlights and getting started guide
- Added ARCHITECTURE.md with system design and technical details
- Added SECURITY.md with comprehensive security implementation guide
- Added DEVELOPMENT.md with development workflows and best practices
- Added DEPLOYMENT.md with production deployment instructions
- Added API.md with complete REST API documentation
- Added CONTRIBUTING.md with contribution guidelines
- Added CHANGELOG.md with version history and migration notes
- Reorganized all documentation files into docs/ directory for better organization
- Updated README.md with proper documentation links and quick navigation
- Enhanced project structure with professional documentation standards
2025-10-21 00:39:45 -07:00

94 lines
2.1 KiB
YAML

# Docker Compose for SRS + Caddy Live Streaming Setup
version: '3.8'
services:
# SRS (Simple Realtime Server) for RTMP
srs:
image: ossrs/srs:5
container_name: easystream_srs
ports:
- "1935:1935" # RTMP port
- "8080:8080" # HTTP port for HLS
- "1985:1985" # API port
volumes:
- ./srs.conf:/usr/local/srs/conf/srs.conf
- ./f_data/streams:/usr/local/srs/objs/nginx/html/live
environment:
- SRS_LOG_LEVEL=info
restart: unless-stopped
networks:
- easystream_network
# Caddy for HTTP/HTTPS (your existing setup)
caddy:
image: caddy:2-alpine
container_name: easystream_caddy
ports:
- "80:80"
- "443:443"
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile
- ./f_data:/var/www/html/f_data
- caddy_data:/data
- caddy_config:/config
environment:
- DOMAIN=${DOMAIN:-localhost}
restart: unless-stopped
networks:
- easystream_network
# Your PHP application
php:
build: .
container_name: easystream_php
volumes:
- .:/var/www/html
environment:
- SRS_HOST=srs
- SRS_RTMP_PORT=1935
- SRS_HTTP_PORT=8080
- SRS_API_PORT=1985
networks:
- easystream_network
depends_on:
- srs
# Redis for queue system
redis:
image: redis:7-alpine
container_name: easystream_redis
ports:
- "6379:6379"
volumes:
- redis_data:/data
restart: unless-stopped
networks:
- easystream_network
# MySQL database
mysql:
image: mysql:8.0
container_name: easystream_mysql
environment:
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD:-rootpassword}
MYSQL_DATABASE: ${MYSQL_DATABASE:-easystream}
MYSQL_USER: ${MYSQL_USER:-easystream}
MYSQL_PASSWORD: ${MYSQL_PASSWORD:-password}
volumes:
- mysql_data:/var/lib/mysql
- ./deploy:/docker-entrypoint-initdb.d
ports:
- "3306:3306"
restart: unless-stopped
networks:
- easystream_network
volumes:
caddy_data:
caddy_config:
redis_data:
mysql_data:
networks:
easystream_network:
driver: bridge