mirror of
https://github.com/Dokploy/templates.git
synced 2026-06-15 20:25:24 +02:00
134 lines
4.9 KiB
YAML
134 lines
4.9 KiB
YAML
services:
|
|
postgres:
|
|
image: pgvector/pgvector:pg17
|
|
restart: always
|
|
environment:
|
|
POSTGRES_USER: ${POSTGRES_USER}
|
|
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
|
|
POSTGRES_DB: ${POSTGRES_DB}
|
|
volumes:
|
|
- postgres_data:/var/lib/postgresql/data
|
|
|
|
valkey:
|
|
image: valkey/valkey:8.1
|
|
restart: always
|
|
command: ["valkey-server", "--requirepass", "${VALKEY_PASSWORD}"]
|
|
volumes:
|
|
- valkey_data:/data
|
|
|
|
minio:
|
|
image: minio/minio:RELEASE.2025-04-08T15-41-24Z
|
|
restart: always
|
|
environment:
|
|
MINIO_ROOT_USER: ${MINIO_ROOT_USER}
|
|
MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PASSWORD}
|
|
MINIO_BROWSER: "on"
|
|
MINIO_DOMAIN: minio
|
|
MINIO_ADDRESS: ":9000"
|
|
MINIO_CONSOLE_ADDRESS: ":9001"
|
|
volumes:
|
|
- minio_data:/data
|
|
entrypoint: sh
|
|
command: -c 'mkdir -p /data/colanode-avatars /data/colanode-files && minio server /data --address ":9000" --console-address ":9001"'
|
|
|
|
server:
|
|
image: ghcr.io/colanode/server:latest
|
|
restart: always
|
|
depends_on:
|
|
- postgres
|
|
- valkey
|
|
- minio
|
|
environment:
|
|
# ---------------------------------------------------------------
|
|
# General Node/Server Config
|
|
# ---------------------------------------------------------------
|
|
NODE_ENV: production
|
|
PORT: 3000
|
|
|
|
# The server requires a name and avatar URL which will be displayed in the desktop app login screen.
|
|
SERVER_NAME: ${SERVER_NAME}
|
|
SERVER_AVATAR: ${SERVER_AVATAR}
|
|
# Possible values for SERVER_MODE: 'standalone', 'cluster'
|
|
SERVER_MODE: "standalone"
|
|
|
|
# ---------------------------------------------------------------
|
|
# Account Configuration
|
|
# ---------------------------------------------------------------
|
|
# Possible values for ACCOUNT_VERIFICATION_TYPE: 'automatic', 'manual', 'email'
|
|
ACCOUNT_VERIFICATION_TYPE: "automatic"
|
|
ACCOUNT_OTP_TIMEOUT: "600" # in seconds
|
|
ACCOUNT_ALLOW_GOOGLE_LOGIN: "false"
|
|
|
|
# ---------------------------------------------------------------
|
|
# User Configuration
|
|
# ---------------------------------------------------------------
|
|
USER_STORAGE_LIMIT: "10737418240" # 10 GB
|
|
USER_MAX_FILE_SIZE: "104857600" # 100 MB
|
|
|
|
# ---------------------------------------------------------------
|
|
# PostgreSQL Configuration
|
|
# ---------------------------------------------------------------
|
|
# The server expects a PostgreSQL database with the pgvector extension installed.
|
|
POSTGRES_URL: "postgres://${POSTGRES_USER}:${POSTGRES_PASSWORD}@postgres:5432/${POSTGRES_DB}"
|
|
|
|
# Optional variables for SSL connection to the database
|
|
# POSTGRES_SSL_REJECT_UNAUTHORIZED: 'false'
|
|
# POSTGRES_SSL_CA: ''
|
|
# POSTGRES_SSL_KEY: ''
|
|
# POSTGRES_SSL_CERT: ''
|
|
|
|
# ---------------------------------------------------------------
|
|
# Redis Configuration
|
|
# ---------------------------------------------------------------
|
|
REDIS_URL: "redis://:${VALKEY_PASSWORD}@valkey:6379/0"
|
|
REDIS_DB: "0"
|
|
# Optional variables:
|
|
REDIS_JOBS_QUEUE_NAME: "jobs"
|
|
REDIS_JOBS_QUEUE_PREFIX: "colanode"
|
|
REDIS_EVENTS_CHANNEL: "events"
|
|
|
|
# ---------------------------------------------------------------
|
|
# S3 Configuration for Avatars
|
|
# ---------------------------------------------------------------
|
|
S3_AVATARS_ENDPOINT: "http://minio:9000"
|
|
S3_AVATARS_ACCESS_KEY: ${MINIO_ROOT_USER}
|
|
S3_AVATARS_SECRET_KEY: ${MINIO_ROOT_PASSWORD}
|
|
S3_AVATARS_BUCKET_NAME: "colanode-avatars"
|
|
S3_AVATARS_REGION: "us-east-1"
|
|
S3_AVATARS_FORCE_PATH_STYLE: "true"
|
|
|
|
# ---------------------------------------------------------------
|
|
# S3 Configuration for Files
|
|
# ---------------------------------------------------------------
|
|
STORAGE_S3_ENDPOINT: "http://minio:9000"
|
|
STORAGE_S3_ACCESS_KEY: ${MINIO_ROOT_USER}
|
|
STORAGE_S3_SECRET_KEY: ${MINIO_ROOT_PASSWORD}
|
|
STORAGE_S3_BUCKET: "colanode-files"
|
|
STORAGE_S3_REGION: "us-east-1"
|
|
STORAGE_S3_FORCE_PATH_STYLE: "true"
|
|
|
|
# ---------------------------------------------------------------
|
|
# SMTP configuration
|
|
# ---------------------------------------------------------------
|
|
SMTP_ENABLED: ${SMTP_ENABLED}
|
|
SMTP_HOST: ${SMTP_HOST}
|
|
SMTP_PORT: ${SMTP_PORT}
|
|
SMTP_USER: ${SMTP_USER}
|
|
SMTP_PASSWORD: ${SMTP_PASSWORD}
|
|
SMTP_EMAIL_FROM: ${SMTP_EMAIL_FROM}
|
|
SMTP_EMAIL_FROM_NAME: ${SMTP_EMAIL_FROM_NAME}
|
|
|
|
# ---------------------------------------------------------------
|
|
# AI Configuration
|
|
# ---------------------------------------------------------------
|
|
# The AI integration is in experimental mode yet and we don't
|
|
# recommend using it.
|
|
# ---------------------------------------------------------------
|
|
AI_ENABLED: "false"
|
|
# ---------------------------------------------------------------
|
|
|
|
volumes:
|
|
postgres_data:
|
|
valkey_data:
|
|
minio_data:
|