123 lines
4.4 KiB
YAML
123 lines
4.4 KiB
YAML
services:
|
|
migrator:
|
|
image: ghcr.io/kanbn/kan-migrate:latest
|
|
container_name: ${MIGRATOR_CONTAINER_NAME:-kan-migrate}
|
|
build:
|
|
context: ..
|
|
dockerfile: apps/web/Dockerfile
|
|
target: migrate
|
|
networks:
|
|
- dokploy-network
|
|
environment:
|
|
- POSTGRES_URL=${POSTGRES_URL}
|
|
restart: "no"
|
|
|
|
web:
|
|
image: ghcr.io/kanbn/kan:latest
|
|
container_name: ${CONTAINER_NAME:-kan-web}
|
|
ports:
|
|
- "${WEB_PORT:-3000}:3000"
|
|
networks:
|
|
- dokploy-network
|
|
build:
|
|
context: ..
|
|
dockerfile: apps/web/Dockerfile
|
|
target: web
|
|
args:
|
|
APP_VERSION: ${APP_VERSION:-}
|
|
env_file:
|
|
- .env
|
|
restart: unless-stopped
|
|
environment:
|
|
- KAN_ADMIN_API_KEY=${KAN_ADMIN_API_KEY}
|
|
- NEXT_PUBLIC_KAN_ENV=${NEXT_PUBLIC_KAN_ENV}
|
|
- NEXT_PUBLIC_BASE_URL=${NEXT_PUBLIC_BASE_URL}
|
|
- BETTER_AUTH_SECRET=${BETTER_AUTH_SECRET}
|
|
- POSTGRES_URL=${POSTGRES_URL}
|
|
- NEXT_PUBLIC_USE_STANDALONE_OUTPUT=${NEXT_PUBLIC_USE_STANDALONE_OUTPUT}
|
|
- REDIS_URL=${REDIS_URL}
|
|
|
|
# Logging (optional - debug, info, warn, error; defaults to debug in dev, info in prod)
|
|
- LOG_LEVEL=${LOG_LEVEL}
|
|
- AXIOM_TOKEN=${AXIOM_TOKEN}
|
|
- AXIOM_DATASET=${AXIOM_DATASET}
|
|
|
|
# Stripe
|
|
- STRIPE_SECRET_KEY=${STRIPE_SECRET_KEY}
|
|
- STRIPE_WEBHOOK_SECRET=${STRIPE_WEBHOOK_SECRET}
|
|
- STRIPE_WEBHOOK_SECRET_LEGACY=${STRIPE_WEBHOOK_SECRET_LEGACY}
|
|
- STRIPE_TEAM_PLAN_MONTHLY_PRICE_ID=${STRIPE_TEAM_PLAN_MONTHLY_PRICE_ID}
|
|
- STRIPE_TEAM_PLAN_YEARLY_PRICE_ID=${STRIPE_TEAM_PLAN_YEARLY_PRICE_ID}
|
|
- STRIPE_PRO_PLAN_MONTHLY_PRICE_ID=${STRIPE_PRO_PLAN_MONTHLY_PRICE_ID}
|
|
- STRIPE_PRO_PLAN_YEARLY_PRICE_ID=${STRIPE_PRO_PLAN_YEARLY_PRICE_ID}
|
|
|
|
# Email
|
|
- SMTP_HOST=${SMTP_HOST}
|
|
- SMTP_PORT=${SMTP_PORT}
|
|
- SMTP_USER=${SMTP_USER}
|
|
- SMTP_PASSWORD=${SMTP_PASSWORD}
|
|
- SMTP_SECURE=${SMTP_SECURE}
|
|
- EMAIL_FROM=${EMAIL_FROM}
|
|
- SMTP_REJECT_UNAUTHORIZED=${SMTP_REJECT_UNAUTHORIZED}
|
|
|
|
# Notifications
|
|
- SUBSCRIBER_API_URL=${SUBSCRIBER_API_URL}
|
|
- SUBSCRIBER_API_KEY=${SUBSCRIBER_API_KEY}
|
|
- SUBSCRIBER_ENVIRONMENT_ID=${SUBSCRIBER_ENVIRONMENT_ID}
|
|
|
|
# S3 storage
|
|
- S3_ACCESS_KEY_ID=${S3_ACCESS_KEY_ID}
|
|
- S3_SECRET_ACCESS_KEY=${S3_SECRET_ACCESS_KEY}
|
|
- S3_REGION=${S3_REGION}
|
|
- S3_ENDPOINT=${S3_ENDPOINT}
|
|
- S3_FORCE_PATH_STYLE=${S3_FORCE_PATH_STYLE}
|
|
- S3_AVATAR_UPLOAD_LIMIT=${S3_AVATAR_UPLOAD_LIMIT}
|
|
- NEXT_PUBLIC_STORAGE_URL=${NEXT_PUBLIC_STORAGE_URL}
|
|
- NEXT_PUBLIC_AVATAR_BUCKET_NAME=${NEXT_PUBLIC_AVATAR_BUCKET_NAME}
|
|
- NEXT_PUBLIC_ATTACHMENTS_BUCKET_NAME=${NEXT_PUBLIC_ATTACHMENTS_BUCKET_NAME}
|
|
- NEXT_PUBLIC_STORAGE_DOMAIN=${NEXT_PUBLIC_STORAGE_DOMAIN}
|
|
- NEXT_PUBLIC_USE_VIRTUAL_HOSTED_URLS=${NEXT_PUBLIC_USE_VIRTUAL_HOSTED_URLS}
|
|
|
|
# Auth config (optional)
|
|
- NEXT_PUBLIC_ALLOW_CREDENTIALS=${NEXT_PUBLIC_ALLOW_CREDENTIALS}
|
|
- NEXT_PUBLIC_DISABLE_SIGN_UP=${NEXT_PUBLIC_DISABLE_SIGN_UP}
|
|
|
|
# API configuration (optional)
|
|
- NEXT_API_BODY_SIZE_LIMIT=${NEXT_API_BODY_SIZE_LIMIT}
|
|
|
|
# Integration providers
|
|
- TRELLO_APP_API_KEY=${TRELLO_APP_API_KEY}
|
|
- TRELLO_APP_SECRET=${TRELLO_APP_SECRET}
|
|
|
|
# OAuth providers (optional)
|
|
- BETTER_AUTH_TRUSTED_ORIGINS=${BETTER_AUTH_TRUSTED_ORIGINS}
|
|
- GOOGLE_CLIENT_ID=${GOOGLE_CLIENT_ID}
|
|
- GOOGLE_CLIENT_SECRET=${GOOGLE_CLIENT_SECRET}
|
|
- BETTER_AUTH_ALLOWED_DOMAINS=${BETTER_AUTH_ALLOWED_DOMAINS}
|
|
|
|
# Analytics
|
|
- NEXT_PUBLIC_UMAMI_ID=${NEXT_PUBLIC_UMAMI_ID}
|
|
- NEXT_PUBLIC_POSTHOG_KEY=${NEXT_PUBLIC_POSTHOG_KEY}
|
|
- NEXT_PUBLIC_POSTHOG_HOST=${NEXT_PUBLIC_POSTHOG_HOST}
|
|
|
|
# Partner config (optional)
|
|
- NEXT_PUBLIC_PARTNER_NAME=${NEXT_PUBLIC_PARTNER_NAME}
|
|
- PARTNER_CLIENT_ID=${PARTNER_CLIENT_ID}
|
|
- PARTNER_CLIENT_SECRET=${PARTNER_CLIENT_SECRET}
|
|
- PARTNER_REDIRECT_URL=${PARTNER_REDIRECT_URL}
|
|
- PARTNER_TOKEN_URL=${PARTNER_TOKEN_URL}
|
|
- PARTNER_OAUTH_LICENSE_URL=${PARTNER_OAUTH_LICENSE_URL}
|
|
- PARTNER_LICENSE_API_URL=${PARTNER_LICENSE_API_URL}
|
|
- PARTNER_API_KEY=${PARTNER_API_KEY}
|
|
- PARTNER_API_KEY_HEADER=${PARTNER_API_KEY_HEADER}
|
|
- PARTNER_SIGNATURE_HEADER=${PARTNER_SIGNATURE_HEADER}
|
|
- PARTNER_TIMESTAMP_HEADER=${PARTNER_TIMESTAMP_HEADER}
|
|
depends_on:
|
|
migrator:
|
|
condition: service_completed_successfully
|
|
|
|
networks:
|
|
dokploy-network:
|
|
external: true
|
|
#bump
|