139 lines
4.0 KiB
YAML
139 lines
4.0 KiB
YAML
services:
|
|
webapi:
|
|
build:
|
|
context: .
|
|
dockerfile: ./src/Imprink.WebApi/Dockerfile
|
|
expose:
|
|
- "8080"
|
|
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;
|
|
- HTTP_PORTS=${ASPNETCORE_HTTP_PORTS}
|
|
- Auth0__Authority=${AUTH0_AUTHORITY}
|
|
- Auth0__Audience=${AUTH0_AUDIENCE}
|
|
- Serilog__SeqUrl=${ASPNETCORE_SEQ_URL}
|
|
- Serilog__MinimumLevel__Default=${ASPNETCORE_LOGGING_LEVEL_DEFAULT}
|
|
- Serilog__MinimumLevel__Override__Microsoft=${ASPNETCORE_LOGGING_LEVEL}
|
|
- Serilog__MinimumLevel__Override__Microsoft.AspNetCore=${ASPNETCORE_LOGGING_LEVEL}
|
|
- Serilog__MinimumLevel__Override__Microsoft.EntityFrameworkCore=${ASPNETCORE_LOGGING_LEVEL_EFCORE}
|
|
- Serilog__MinimumLevel__Override__Imprink=${ASPNETCORE_LOGGING_LEVEL_IMPRINK}
|
|
- Serilog__WriteTo__0__Name=Console
|
|
- Serilog__WriteTo__1__Name=Seq
|
|
- Serilog__WriteTo__1__Args__serverUrl=${ASPNETCORE_SEQ_URL}
|
|
- Serilog__Enrich__0=FromLogContext
|
|
- DatabaseOptions__ApplyMigrationsAtStartup=${ASPNETCORE_APPLY_MIGRATIONS_AT_STARTUP}
|
|
depends_on:
|
|
- mssql
|
|
networks:
|
|
- app-network
|
|
|
|
seq:
|
|
image: datalust/seq
|
|
expose:
|
|
- "80"
|
|
- "5341"
|
|
environment:
|
|
- ACCEPT_EULA=Y
|
|
- SEQ_CACHE_SYSTEMRAMTARGET=0.9
|
|
- BASE_URI=${SEQ_BASE_URI}
|
|
networks:
|
|
- app-network
|
|
|
|
webui:
|
|
image: node:18-alpine
|
|
working_dir: /app
|
|
volumes:
|
|
- ./webui:/app
|
|
- /app/node_modules
|
|
ports:
|
|
- "3000"
|
|
environment:
|
|
- NODE_ENV=${NODE_ENV}
|
|
- 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}
|
|
- COOKIE_DOMAIN=${COOKIE_DOMAIN}
|
|
- 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
|
|
tty: false
|
|
stdin_open: false
|
|
ports:
|
|
- "1433:1433"
|
|
environment:
|
|
- SA_PASSWORD=${SQL_PASSWORD}
|
|
- ACCEPT_EULA=Y
|
|
- MSSQL_AGENT_ENABLED=false
|
|
restart: unless-stopped
|
|
networks:
|
|
- app-network
|
|
logging:
|
|
driver: "none"
|
|
|
|
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
|
|
- seq
|
|
networks:
|
|
- app-network
|
|
|
|
zipline:
|
|
image: ghcr.io/diced/zipline:latest
|
|
expose:
|
|
- "3000"
|
|
environment:
|
|
- CORE_RETURN_HTTPS=true
|
|
- CORE_SECRET=${ZIPLINE_SECRET}
|
|
- CORE_HOST=0.0.0.0
|
|
- CORE_PORT=3000
|
|
- CORE_DATABASE_URL=file:./zipline.db
|
|
- CORE_LOGGER=true
|
|
- URLS_ROUTE=${ZIPLINE_ROUTE}
|
|
- URLS_LENGTH=6
|
|
- UPLOADER_DEFAULT_FORMAT=RANDOM
|
|
- UPLOADER_DISABLED_EXTENSIONS=
|
|
- UPLOADER_FORMAT_DATE=%Y-%m-%d_%H-%M-%S
|
|
- FEATURES_INVITES=false
|
|
- FEATURES_REGISTRATION=false
|
|
- FEATURES_HEADLESS=true
|
|
- FEATURES_USER_REGISTRATION=false
|
|
- FEATURES_OAUTH_REGISTRATION=false
|
|
- FEATURES_ANONYMOUS_UPLOAD=true
|
|
- WEBSITE_TITLE=File Upload
|
|
- WEBSITE_EXTERNAL_LINKS=${ZIPLINE_URL}
|
|
volumes:
|
|
- zipline_data:/zipline/uploads
|
|
- zipline_public:/zipline/public
|
|
- zipline_db:/zipline
|
|
restart: unless-stopped
|
|
networks:
|
|
- app-network
|
|
|
|
networks:
|
|
app-network:
|
|
driver: bridge
|
|
|
|
volumes:
|
|
zipline_data:
|
|
zipline_public:
|
|
zipline_db: |