services: webapi: build: context: . dockerfile: ./src/Imprink.WebApi/Dockerfile expose: - "80" environment: - ASPNETCORE_ENVIRONMENT=${ASPNETCORE_ENVIRONMENT} - ConnectionStrings__DefaultConnection=Server=${SQL_SERVER};Database=${SQL_DATABASE};User Id=${SQL_USER_ID};Password=${SQL_PASSWORD};Encrypt=false;TrustServerCertificate=true;MultipleActiveResultSets=true; - ASPNETCORE_URLS=${ASPNETCORE_URLS} - Auth0__Authority=${AUTH0_DOMAIN} - Auth0__Audience=${AUTH0_AUDIENCE} - Logging__LogLevel__Default=${ASPNETCORE_LOGGING_LEVEL_DEFAULT} - Logging__LogLevel__Microsoft.AspNetCore=${ASPNETCORE_LOGGING_LEVEL} - Logging__LogLevel__Microsoft.EntityFrameworkCore=${ASPNETCORE_LOGGING_LEVEL_EFCORE} - DatabaseOptions__ApplyMigrationsAtStartup=${ASPNETCORE_APPLY_MIGRATIONS_AT_STARTUP} depends_on: - mssql networks: - app-network webui: image: node:18-alpine working_dir: /app volumes: - ./webui:/app - /app/node_modules ports: - "3000" environment: - NODE_ENV=development - AUTH0_SECRET=${AUTH0_SECRET} - APP_BASE_URL=${APP_BASE_URL} - AUTH0_DOMAIN=${AUTH0_ISSUER_BASE_URL} - AUTH0_CLIENT_ID=${AUTH0_CLIENT_ID} - AUTH0_CLIENT_SECRET=${AUTH0_CLIENT_SECRET} - AUTH0_AUDIENCE=${AUTH0_AUDIENCE} - AUTH0_SCOPE=${AUTH0_SCOPE} - NEXT_PUBLIC_API_URL=${NEXT_PUBLIC_API_URL} - NEXT_PUBLIC_AUTH0_CLIENT_ID=${NEXT_PUBLIC_AUTH0_CLIENT_ID} - NEXT_PUBLIC_AUTH0_DOMAIN=${NEXT_PUBLIC_AUTH0_DOMAIN} command: sh -c "npm install && npm run dev" networks: - app-network mssql: image: mcr.microsoft.com/mssql/server:2022-latest container_name: sqlserver ports: - "1433:1433" environment: SA_PASSWORD: "${SQL_PASSWORD}" ACCEPT_EULA: "Y" restart: unless-stopped networks: - app-network nginx: image: nginx:latest ports: - "80:80" - "443:443" volumes: - ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro - ./ssl/impr.ink-chain.pem:/etc/ssl/certs/impr.ink.crt:ro - ./ssl/impr.ink-key.pem:/etc/ssl/private/impr.ink.key:ro depends_on: - webapi - webui networks: - app-network networks: app-network: driver: bridge