182 lines
5.1 KiB
YAML
182 lines
5.1 KiB
YAML
#-------------------------------------
|
|
# Default Networks
|
|
#-------------------------------------
|
|
|
|
networks:
|
|
istack:
|
|
external: true
|
|
appnet:
|
|
name: ${APP}
|
|
driver: bridge
|
|
internal: true
|
|
br1:
|
|
external: true
|
|
services:
|
|
calcom:
|
|
#image: calcom.docker.scarf.sh/calcom/cal.diy
|
|
build:
|
|
context: /app/repo/cal.diy/.
|
|
dockerfile: Dockerfile
|
|
args:
|
|
NEXT_PUBLIC_WEBAPP_URL: ${NEXT_PUBLIC_WEBAPP_URL}
|
|
#NEXT_PUBLIC_API_V2_URL:
|
|
#NEXT_PUBLIC_LICENSE_CONSENT:
|
|
#NEXT_PUBLIC_WEBSITE_TERMS_URL:
|
|
# NEXT_PUBLIC_WEBSITE_PRIVACY_POLICY_URL:
|
|
#NEXT_PUBLIC_SINGLE_ORG_SLUG:
|
|
ORGANIZATIONS_ENABLED:
|
|
CALCOM_TELEMETRY_DISABLED: ${CALCOM_TELEMETRY_DISABLED}
|
|
NEXTAUTH_SECRET: ${NEXTAUTH_SECRET}
|
|
CALENDSO_ENCRYPTION_KEY: ${CALENDSO_ENCRYPTION_KEY}
|
|
DATABASE_URL: ${DATABASE_URL}
|
|
DATABASE_DIRECT_URL: ${DATABASE_URL}
|
|
CSP_POLICY:
|
|
restart: always
|
|
networks:
|
|
istack:
|
|
aliases:
|
|
- ${APP}-worker
|
|
appnet:
|
|
aliases:
|
|
- ${APP}-worker
|
|
# change to br0 or br0.3 if you want to use a different preconfigured network
|
|
br1:
|
|
ipv4_address: "10.100.104.148"
|
|
aliases:
|
|
- ${APP}-worker
|
|
ports:
|
|
- 3000:3000
|
|
env_file: .env
|
|
environment:
|
|
- DATABASE_URL=${DATABASE_URL}
|
|
- DATABASE_DIRECT_URL=${DATABASE_URL}
|
|
depends_on:
|
|
redis:
|
|
condition: service_healthy
|
|
db:
|
|
condition: service_healthy
|
|
|
|
calcom-api:
|
|
#image: ${REPO}${VERSION:+:${VERSION}}
|
|
build:
|
|
context: /app/repo/cal.diy/.
|
|
dockerfile: apps/api/v2/Dockerfile
|
|
args:
|
|
DATABASE_URL: ${DATABASE_URL}
|
|
DATABASE_DIRECT_URL: ${DATABASE_URL}
|
|
container_name: ${APP}-api
|
|
networks:
|
|
istack:
|
|
aliases:
|
|
- ${APP}-api
|
|
appnet:
|
|
aliases:
|
|
- ${APP}-api
|
|
# change to br0 or br0.3 if you want to use a different preconfigured network
|
|
br1:
|
|
ipv4_address: "10.100.104.147"
|
|
aliases:
|
|
- ${APP}-api
|
|
ports:
|
|
- "3000"
|
|
labels:
|
|
net.unraid.docker.icon: ${ICON:-"https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/unraid.png"}
|
|
volumes:
|
|
# Nucleus default files paths
|
|
- ${PREFIX}/${APPDATA}/${APP}:/data
|
|
- ${PREFIX}/${CACHE}/${APP}:/cache
|
|
- ${PREFIX}/${BACKUP}/${APP}:/backup
|
|
- ${PREFIX}/${FS}/${APP}:/filestore
|
|
# Define service dependencies
|
|
depends_on:
|
|
redis:
|
|
condition: service_healthy
|
|
db:
|
|
condition: service_healthy
|
|
env_file: .env
|
|
environment:
|
|
- NODE_ENV=
|
|
- API_PORT=${API_PORT:-80}
|
|
- API_URL="127.0.0.1"
|
|
- DATABASE_URL=${DATABASE_URL}
|
|
- DATABASE_READ_URL=${DATABASE_URL}
|
|
- DATABASE_WRITE_URL=${DATABASE_URL}
|
|
- DATABASE_DIRECT_URL=${DATABASE_URL}
|
|
- NEXTAUTH_SECRET=${NEXTAUTH_SECRET}
|
|
- JWT_SECRET=${JWT_SECRET}
|
|
- REDIS_URL=${REDIS_URL}
|
|
- LOG_LEVEL=
|
|
- API_KEY_PREFIX=
|
|
- WEB_APP_URL=
|
|
- IS_E2E=${IS_E2E:-false}
|
|
- REWRITE_API_V2_PREFIX=${REWRITE_API_V2_PREFIX:-true}
|
|
- CALCOM_LICENSE_KEY=
|
|
- NEXT_PUBLIC_VAPID_PUBLIC_KEY=
|
|
- VAPID_PRIVATE_KEY=
|
|
- STRIPE_API_KEY=
|
|
- STRIPE_WEBHOOK_SECRET=
|
|
- STRIPE_PRICE_ID_STARTER=
|
|
- STRIPE_PRICE_ID_STARTER_OVERAGE=
|
|
- STRIPE_PRICE_ID_ESSENTIALS=
|
|
- STRIPE_PRICE_ID_ESSENTIALS_OVERAGE=
|
|
- STRIPE_PRICE_ID_ENTERPRISE=
|
|
- STRIPE_PRICE_ID_ENTERPRISE_OVERAGE=
|
|
- STRIPE_TEAM_MONTHLY_PRICE_ID=
|
|
- IS_TEAM_BILLING_ENABLED=${IS_TEAM_BILLING_ENABLED:-false}
|
|
- AXIOM_DATASET=
|
|
- AXIOM_TOKEN=
|
|
- LOGGER_BRIDGE_LOG_LEVEL=
|
|
- DOCS_URL=
|
|
- GET_LICENSE_KEY_URL=
|
|
|
|
|
|
#-------------------------------
|
|
# Application Dependencies
|
|
#-------------------------------
|
|
|
|
redis:
|
|
image: redis
|
|
container_name: ${APP}-redis
|
|
restart: unless-stopped
|
|
env_file: .env
|
|
volumes:
|
|
# Nucleus default files paths
|
|
- ${PREFIX}/${DB}/${APP}/redis:/data
|
|
networks:
|
|
appnet:
|
|
aliases:
|
|
- redis
|
|
healthcheck:
|
|
test: ['CMD', 'redis-cli', '--raw', 'incr', 'ping']
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 5
|
|
# Database Service Definition
|
|
db:
|
|
image: ${DB_REPO:-postgres}${DB_VERSION:+:${DB_VERSION}}
|
|
container_name: ${APP}-db
|
|
restart: unless-stopped
|
|
env_file: .env
|
|
networks:
|
|
appnet:
|
|
aliases:
|
|
- db
|
|
environment:
|
|
POSTGRES_PASSWORD: "${APP}"
|
|
POSTGRES_USER: "${APP}"
|
|
POSTGRES_DB: "${APP}"
|
|
#POSTGRES_INITDB_ARGS: "--data-checksums --auth-host=scram-sha-256"
|
|
#POSTGRES_HOST_AUTH_METHOD: scram-sha-256
|
|
shm_size: 128mb
|
|
volumes:
|
|
# Replace the following line with the uncommented version if you use a Postgres version 18 or later
|
|
# Deployments on nucleus the file path must always start with /mnt/user path, on daedalus it must follow /mnt/flash
|
|
- ${PREFIX}/${DB}/${APP}/pg:/var/lib/postgresql/data
|
|
# - ${PREFIX}/${DB}/${APP}:/var/lib/postgresql/${DB_VERSION}/docker
|
|
healthcheck:
|
|
test:
|
|
['CMD', 'pg_isready', '-U', "${APP}", '-d', "${APP}"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 5
|