version: '3.8' services: teleshop: image: localhost:5000/littleshop:latest container_name: teleshop restart: unless-stopped ports: - "5100:8080" # External access on port 5100 environment: - ASPNETCORE_ENVIRONMENT=Production - ASPNETCORE_URLS=http://+:8080 # CRITICAL: Must use URLS not HTTP_PORTS - ConnectionStrings__DefaultConnection=Data Source=/app/data/littleshop-production.db # JWT Configuration - MUST be > 32 bytes/256 bits - Jwt__Key=ThisIsAVeryLongSecretKeyThatIsDefinitelyLongerThan32BytesForSure123456789ABCDEF - Jwt__Issuer=LittleShop-Production - Jwt__Audience=LittleShop-Production - Jwt__ExpiryInHours=24 # SilverPay Configuration (pay.thebankofdebbie.giize.com) - SilverPay__BaseUrl=http://silverdotpay-api:8080 # Internal Docker network via silverpay-network - SilverPay__PublicUrl=https://pay.thebankofdebbie.giize.com - SilverPay__ApiKey=7703aa7a62fa4b40a87e9cfd867f5407147515c0986116ea54fc00c0a0bc30d8 - SilverPay__WebhookSecret=Thefa1r1esd1d1twebhooks2024 - SilverPay__DefaultWebhookUrl=https://admin.thebankofdebbie.giize.com/api/orders/payments/webhook - SilverPay__AllowUnsignedWebhooks=false # Admin Credentials (for initial setup) - AdminUser__Username=admin - AdminUser__Password=Thefa1r1esd1d1t # Royal Mail Settings (if needed) - RoyalMail__ClientId= - RoyalMail__ClientSecret= # WebPush Notifications - WebPush__VapidPublicKey=BMc6fFJZ8oIQKQzcl3kMnP9tTsjrm3oI_VxLt3lAGYUMWGInzDKn7jqclEoZzjvXy1QXGFb3dIun8mVBwh-QuS4 - WebPush__VapidPrivateKey=dYuuagbz2CzCnPDFUpO_qkGLBgnN3MEFZQnjXNkc1MY - WebPush__Subject=mailto:admin@thebankofdebbie.giize.com volumes: - /opt/littleshop/data:/app/data - /opt/littleshop/uploads:/app/wwwroot/uploads - /opt/littleshop/logs:/app/logs networks: teleshop-network: aliases: - teleshop - littleshop silverpay-network: aliases: - teleshop healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8080/health"] interval: 30s timeout: 10s retries: 3 start_period: 60s logging: driver: "json-file" options: max-size: "10m" max-file: "3" networks: teleshop-network: name: sysadmin_teleshop-network external: true silverpay-network: name: silverdotpay_silverdotpay-network external: true