Files
2026-08-20 20:18:19 +10:00

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