- Changed JSON naming policy from CamelCase to SnakeCaseLower for SilverPay API compatibility - Fixed field name from 'fiat_amount' to 'amount' in request body - Used unique payment ID instead of order ID to avoid duplicate external_id conflicts - Modified SilverPayApiResponse to handle string amounts from API - Added [JsonIgnore] attributes to computed properties to prevent JSON serialization conflicts - Fixed test compilation errors (mock service and enum casting issues) - Updated SilverPay endpoint to http://10.0.0.52:8001/ 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
60 lines
1.7 KiB
YAML
60 lines
1.7 KiB
YAML
version: '3.8'
|
|
|
|
services:
|
|
littleshop:
|
|
build: .
|
|
image: localhost:5000/littleshop:latest
|
|
container_name: littleshop
|
|
restart: unless-stopped
|
|
ports:
|
|
- "127.0.0.1:5100:5000" # Bind only to localhost
|
|
environment:
|
|
- ASPNETCORE_ENVIRONMENT=Development
|
|
- ASPNETCORE_URLS=http://+:5000
|
|
- ConnectionStrings__DefaultConnection=Data Source=/app/data/littleshop-production.db
|
|
- Jwt__Key=${JWT_SECRET_KEY}
|
|
- Jwt__Issuer=LittleShop-Production
|
|
- Jwt__Audience=LittleShop-Production
|
|
- Jwt__ExpiryInHours=24
|
|
- SilverPay__BaseUrl=${SILVERPAY_URL}
|
|
- SilverPay__ApiKey=${SILVERPAY_API_KEY}
|
|
- SilverPay__WebhookSecret=${SILVERPAY_WEBHOOK_SECRET}
|
|
- SilverPay__DefaultWebhookUrl=${SILVERPAY_WEBHOOK_URL}
|
|
- SilverPay__AllowUnsignedWebhooks=false
|
|
- WebPush__VapidPublicKey=${WEBPUSH_VAPID_PUBLIC_KEY}
|
|
- WebPush__VapidPrivateKey=${WEBPUSH_VAPID_PRIVATE_KEY}
|
|
- WebPush__VapidSubject=${WEBPUSH_SUBJECT}
|
|
- TeleBot__ApiUrl=${TELEBOT_API_URL}
|
|
- TeleBot__ApiKey=${TELEBOT_API_KEY}
|
|
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/catalog/products"]
|
|
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
|
|
ipam:
|
|
config:
|
|
- subnet: 172.23.0.0/16 |