Files
imprink/docker-compose.yml
2025-06-18 13:35:12 +03:00

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: