littleshop/Deploy/docker-compose.production.yml
SysAdmin 13aa20ffa4 Add production deployment infrastructure
- Created comprehensive deployment package with production builds
- Added deployment scripts for Linux and Docker environments
- Generated Dockerfiles for containerized deployment
- Included nginx reverse proxy configuration
- Added systemd service definitions for native Linux deployment
- Created docker-compose.production.yml for orchestration
- Comprehensive deployment documentation in README.md
- Both LittleShop and TeleBot production builds included
- Ready for deployment to Hostinger VPS server

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-20 21:10:48 +01:00

93 lines
2.1 KiB
YAML

version: '3.8'
services:
littleshop:
image: littleshop:latest
build:
context: ./LittleShop
dockerfile: Dockerfile
container_name: littleshop
restart: unless-stopped
ports:
- "8080:8080"
environment:
- ASPNETCORE_ENVIRONMENT=Production
- ASPNETCORE_URLS=http://+:8080
volumes:
- ./data:/app/data
- ./logs:/app/logs
- ./config/littleshop-appsettings.Production.json:/app/appsettings.Production.json:ro
depends_on:
- db
networks:
- littleshop-network
telebot:
image: telebot:latest
build:
context: ./TeleBot
dockerfile: Dockerfile
container_name: telebot
restart: unless-stopped
ports:
- "5010:5010"
environment:
- ASPNETCORE_ENVIRONMENT=Production
- ASPNETCORE_URLS=http://+:5010
volumes:
- ./logs:/app/logs
- ./config/telebot-appsettings.Production.json:/app/appsettings.Production.json:ro
depends_on:
- littleshop
networks:
- littleshop-network
nginx:
image: nginx:alpine
container_name: littleshop-nginx
restart: unless-stopped
ports:
- "80:80"
- "443:443"
volumes:
- ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro
- ./nginx/sites:/etc/nginx/conf.d:ro
- ./ssl:/etc/ssl/certs:ro
- ./logs/nginx:/var/log/nginx
depends_on:
- littleshop
- telebot
networks:
- littleshop-network
db:
image: postgres:15-alpine
container_name: littleshop-db
restart: unless-stopped
environment:
POSTGRES_DB: littleshop
POSTGRES_USER: littleshop
POSTGRES_PASSWORD: ${DB_PASSWORD:-change_this_password}
volumes:
- postgres_data:/var/lib/postgresql/data
- ./backups:/backups
networks:
- littleshop-network
redis:
image: redis:alpine
container_name: littleshop-redis
restart: unless-stopped
command: redis-server --appendonly yes
volumes:
- redis_data:/data
networks:
- littleshop-network
volumes:
postgres_data:
redis_data:
networks:
littleshop-network:
driver: bridge