littleshop/docker-compose.yml

75 lines
1.8 KiB
YAML

version: '3.8'
services:
littleshop:
build: .
image: littleshop:latest
container_name: littleshop
restart: unless-stopped
ports:
- "5100:5000" # Host:Container
environment:
- ASPNETCORE_ENVIRONMENT=Production
- ASPNETCORE_URLS=http://+:5000
- ConnectionStrings__DefaultConnection=Data Source=/app/data/teleshop-prod.db
- Jwt__Key=LittleShop-Production-JWT-SecretKey-32Characters-2025
- Jwt__Issuer=LittleShop
- Jwt__Audience=LittleShop
volumes:
- littleshop-data:/app/data
- littleshop-uploads:/app/wwwroot/uploads
- littleshop-logs:/app/logs
networks:
- littleshop-network
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:5000/api/version"]
interval: 30s
timeout: 10s
retries: 3
start_period: 40s
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
telebot:
image: telebot:latest
container_name: telebot-service
restart: unless-stopped
environment:
- ASPNETCORE_ENVIRONMENT=Production
- LittleShop__ApiUrl=http://littleshop:5000
- LittleShop__UseTor=false
- Telegram__BotToken=${TELEGRAM_BOT_TOKEN}
networks:
- littleshop-network
- silverpay-network
depends_on:
littleshop:
condition: service_healthy
healthcheck:
test: ["CMD-SHELL", "ps aux | grep dotnet || exit 1"]
interval: 30s
timeout: 10s
retries: 3
start_period: 60s
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
volumes:
littleshop-data:
driver: local
littleshop-uploads:
driver: local
littleshop-logs:
driver: local
networks:
littleshop-network:
driver: bridge
silverpay-network:
external: true