- templateVersion: 1.0.0
defaultVersion: v1.9.27
documentation: https://docs.appsmith.com/getting-started/setup/instance-configuration/
type: appsmith
name: Appsmith
description: Fastest way to build internal apps over any database or API.
services:
$$id:
image: appsmith/appsmith-ce:$$core_version
environment:
- APPSMITH_MAIL_ENABLED=$$config_appsmith_mail_enabled
- APPSMITH_DISABLE_TELEMETRY=$$config_appsmith_disable_telemetry
- APPSMITH_DISABLE_INTERCOM=$$config_appsmith_disable_intercom
volumes:
- $$id-stacks-data:/appsmith-stacks
ports:
- '80'
variables:
- id: $$config_appsmith_mail_enabled
name: APPSMITH_MAIL_ENABLED
label: Enable Mail
defaultValue: 'false'
description: ''
- id: $$config_appsmith_disable_telemetry
name: APPSMITH_DISABLE_TELEMETRY
label: Disable Telemetry
defaultValue: 'true'
description: ''
- id: $$config_appsmith_disable_intercom
name: APPSMITH_DISABLE_INTERCOM
label: Disable Intercom
defaultValue: 'true'
description: ''
- templateVersion: 1.0.0
defaultVersion: 1.3.7
documentation: https://appwrite.io/docs
type: appwrite
name: Appwrite
description: Secure Backend Server for Web, Mobile & Flutter Developers.
labels:
- serverless
- backend
- storage
- api
services:
$$id:
image: appwrite/appwrite:$$core_version
environment:
- _APP_ENV=$$config__app_env
- _APP_WORKER_PER_CORE=$$config__app_worker_per_core
- _APP_LOCALE=$$config__app_locale
- _APP_CONSOLE_WHITELIST_ROOT=$$config__app_console_whitelist_root
- _APP_CONSOLE_WHITELIST_EMAILS=$$config__app_console_whitelist_emails
- _APP_CONSOLE_WHITELIST_IPS=$$config__app_console_whitelist_ips
- _APP_SYSTEM_EMAIL_NAME=$$config__app_system_email_name
- _APP_SYSTEM_EMAIL_ADDRESS=$$config__app_system_email_address
- >-
_APP_SYSTEM_SECURITY_EMAIL_ADDRESS=$$config__app_system_security_email_address
- _APP_SYSTEM_RESPONSE_FORMAT=$$config__app_system_response_format
- _APP_OPTIONS_ABUSE=$$config__app_options_abuse
- _APP_OPTIONS_FORCE_HTTPS=$$config__app_options_force_https
- _APP_OPENSSL_KEY_V1=$$secret__app_openssl_key_v1
- _APP_DOMAIN=$$config__app_domain
- _APP_DOMAIN_TARGET=$$config__app_domain_target
- _APP_REDIS_HOST=$$config__app_redis_host
- _APP_REDIS_PORT=$$config__app_redis_port
- _APP_REDIS_USER=$$config__app_redis_user
- _APP_REDIS_PASS=$$secret__app_redis_pass
- _APP_DB_HOST=$$config__app_db_host
- _APP_DB_PORT=$$config__app_db_port
- _APP_DB_SCHEMA=$$config__app_db_schema
- _APP_DB_USER=$$config__app_db_user
- _APP_DB_PASS=$$secret__app_db_pass
- _APP_SMTP_HOST=$$config__app_smtp_host
- _APP_SMTP_PORT=$$config__app_smtp_port
- _APP_SMTP_SECURE=$$config__app_smtp_secure
- _APP_SMTP_USERNAME=$$config__app_smtp_username
- _APP_SMTP_PASSWORD=$$secret__app_smtp_password
- _APP_USAGE_STATS=$$config__app_usage_stats
- _APP_INFLUXDB_HOST=$$config__app_influxdb_host
- _APP_INFLUXDB_PORT=$$config__app_influxdb_port
- _APP_STORAGE_LIMIT=$$config__app_storage_limit
- _APP_STORAGE_PREVIEW_LIMIT=$$config__app_storage_preview_limit
- _APP_STORAGE_ANTIVIRUS=$$config__app_storage_antivirus_enabled
- _APP_STORAGE_ANTIVIRUS_HOST=$$config__app_storage_antivirus_host
- _APP_STORAGE_ANTIVIRUS_PORT=$$config__app_storage_antivirus_port
- _APP_STORAGE_DEVICE=$$config__app_storage_device
- _APP_STORAGE_S3_ACCESS_KEY=$$secret__app_storage_s3_access_key
- _APP_STORAGE_S3_SECRET=$$secret__app_storage_s3_secret
- _APP_STORAGE_S3_REGION=$$config__app_storage_s3_region
- _APP_STORAGE_S3_BUCKET=$$config__app_storage_s3_bucket
- >-
_APP_STORAGE_DO_SPACES_ACCESS_KEY=$$secret__app_storage_do_spaces_access_key
- _APP_STORAGE_DO_SPACES_SECRET=$$secret__app_storage_do_spaces_secret
- _APP_STORAGE_DO_SPACES_REGION=$$config__app_storage_do_spaces_region
- _APP_STORAGE_DO_SPACES_BUCKET=$$config__app_storage_do_spaces_bucket
- >-
_APP_STORAGE_BACKBLAZE_ACCESS_KEY=$$secret__app_storage_backblaze_access_key
- _APP_STORAGE_BACKBLAZE_SECRET=$$secret__app_storage_backblaze_secret
- _APP_STORAGE_BACKBLAZE_REGION=$$config__app_storage_backblaze_region
- _APP_STORAGE_BACKBLAZE_BUCKET=$$config__app_storage_backblaze_bucket
- _APP_STORAGE_LINODE_ACCESS_KEY=$$secret__app_storage_linode_access_key
- _APP_STORAGE_LINODE_SECRET=$$secret__app_storage_linode_secret
- _APP_STORAGE_LINODE_REGION=$$config__app_storage_linode_region
- _APP_STORAGE_LINODE_BUCKET=$$config__app_storage_linode_bucket
- _APP_STORAGE_WASABI_ACCESS_KEY=$$secret__app_storage_wasabi_access_key
- _APP_STORAGE_WASABI_SECRET=$$secret__app_storage_wasabi_secret
- _APP_STORAGE_WASABI_REGION=$$config__app_storage_wasabi_region
- _APP_STORAGE_WASABI_BUCKET=$$config__app_storage_wasabi_bucket
- _APP_FUNCTIONS_SIZE_LIMIT=$$config__app_functions_size_limit
- _APP_FUNCTIONS_TIMEOUT=$$config__app_functions_timeout
- _APP_FUNCTIONS_BUILD_TIMEOUT=$$config__app_functions_build_timeout
- _APP_FUNCTIONS_CONTAINERS=$$config__app_functions_containers
- _APP_FUNCTIONS_CPUS=$$config__app_functions_cpus
- _APP_FUNCTIONS_MEMORY=$$config__app_functions_memory_allocated
- _APP_FUNCTIONS_MEMORY_SWAP=$$config__app_functions_memory_swap
- _APP_FUNCTIONS_RUNTIMES=$$config__app_functions_runtimes
- _APP_EXECUTOR_SECRET=$$secret__app_executor_secret
- _APP_EXECUTOR_HOST=$$config__app_executor_host
- _APP_LOGGING_PROVIDER=$$config__app_logging_provider
- _APP_LOGGING_CONFIG=$$config__app_logging_config
- _APP_STATSD_HOST=$$config__app_statsd_host
- _APP_STATSD_PORT=$$config__app_statsd_port
- _APP_MAINTENANCE_INTERVAL=$$config__app_maintenance_interval
- >-
_APP_MAINTENANCE_RETENTION_EXECUTION=$$config__app_maintenance_retention_execution
- >-
_APP_MAINTENANCE_RETENTION_CACHE=$$config__app_maintenance_retention_cache
- >-
_APP_MAINTENANCE_RETENTION_ABUSE=$$config__app_maintenance_retention_abuse
- >-
_APP_MAINTENANCE_RETENTION_AUDIT=$$config__app_maintenance_retention_audit
- _APP_SMS_PROVIDER=$$config__app_sms_provider
- _APP_SMS_FROM=$$config__app_sms_from
- OPEN_RUNTIMES_NETWORK=$$config_open_runtimes_network
volumes:
- $$id-uploads:/storage/uploads
- $$id-cache:/storage/cache
- $$id-config:/storage/config
- $$id-certificates:/storage/certificates
- $$id-functions:/storage/functions
ports:
- '80'
proxy:
- port: '80'
$$id-executor:
image: appwrite/appwrite:$$core_version
environment:
- _APP_ENV=$$config__app_env
- _APP_FUNCTIONS_TIMEOUT=$$config__app_functions_timeout
- _APP_FUNCTIONS_BUILD_TIMEOUT=$$config__app_functions_build_timeout
- _APP_FUNCTIONS_CONTAINERS=$$config__app_functions_containers
- _APP_FUNCTIONS_RUNTIMES=$$config__app_functions_runtimes
- _APP_FUNCTIONS_CPUS=$$config__app_functions_cpus
- _APP_FUNCTIONS_MEMORY=$$config__app_functions_memory_allocated
- _APP_FUNCTIONS_MEMORY_SWAP=$$config__app_functions_memory_swap
- >-
_APP_FUNCTIONS_INACTIVE_THRESHOLD=$$config__app_functions_inactive_threshold
- _APP_EXECUTOR_SECRET=$$secret__app_executor_secret
- _APP_LOGGING_PROVIDER=$$config__app_logging_provider
- _APP_LOGGING_CONFIG=$$config__app_logging_config
- _APP_STORAGE_DEVICE=$$config__app_storage_device
- _APP_STORAGE_S3_ACCESS_KEY=$$secret__app_storage_s3_access_key
- _APP_STORAGE_S3_SECRET=$$secret__app_storage_s3_secret
- _APP_STORAGE_S3_REGION=$$config__app_storage_s3_region
- _APP_STORAGE_S3_BUCKET=$$config__app_storage_s3_bucket
- >-
_APP_STORAGE_DO_SPACES_ACCESS_KEY=$$secret__app_storage_do_spaces_access_key
- _APP_STORAGE_DO_SPACES_SECRET=$$secret__app_storage_do_spaces_secret
- _APP_STORAGE_DO_SPACES_REGION=$$config__app_storage_do_spaces_region
- _APP_STORAGE_DO_SPACES_BUCKET=$$config__app_storage_do_spaces_bucket
- >-
_APP_STORAGE_BACKBLAZE_ACCESS_KEY=$$secret__app_storage_backblaze_access_key
- _APP_STORAGE_BACKBLAZE_SECRET=$$secret__app_storage_backblaze_secret
- _APP_STORAGE_BACKBLAZE_REGION=$$config__app_storage_backblaze_region
- _APP_STORAGE_BACKBLAZE_BUCKET=$$config__app_storage_backblaze_bucket
- _APP_STORAGE_LINODE_ACCESS_KEY=$$secret__app_storage_linode_access_key
- _APP_STORAGE_LINODE_SECRET=$$secret__app_storage_linode_secret
- _APP_STORAGE_LINODE_REGION=$$config__app_storage_linode_region
- _APP_STORAGE_LINODE_BUCKET=$$config__app_storage_linode_bucket
- _APP_STORAGE_WASABI_ACCESS_KEY=$$secret__app_storage_wasabi_access_key
- _APP_STORAGE_WASABI_SECRET=$$secret__app_storage_wasabi_secret
- _APP_STORAGE_WASABI_REGION=$$config__app_storage_wasabi_region
- _APP_STORAGE_WASABI_BUCKET=$$config__app_storage_wasabi_bucket
- DOCKERHUB_PULL_USERNAME=$$config_dockerhub_pull_username
- DOCKERHUB_PULL_PASSWORD=$$secret_dockerhub_pull_password
- OPEN_RUNTIMES_NETWORK=$$config_open_runtimes_network
volumes:
- $$id-functions:/storage/functions
- $$id-builds:/storage/builds
- /var/run/docker.sock:/var/run/docker.sock
- /tmp:/tmp:rw
entrypoint: executor
$$id-influxdb:
image: appwrite/influxdb:1.5.0
environment: []
volumes:
- $$id-influxdb:/var/lib/influxdb
$$id-maintenance:
image: appwrite/appwrite:$$core_version
environment:
- _APP_ENV=$$config__app_env
- _APP_OPENSSL_KEY_V1=$$secret__app_openssl_key_v1
- _APP_DOMAIN=$$config__app_domain
- _APP_DOMAIN_TARGET=$$config__app_domain_target
- _APP_REDIS_HOST=$$config__app_redis_host
- _APP_REDIS_PORT=$$config__app_redis_port
- _APP_REDIS_USER=$$config__app_redis_user
- _APP_REDIS_PASS=$$secret__app_redis_pass
- _APP_DB_HOST=$$config__app_db_host
- _APP_DB_PORT=$$config__app_db_port
- _APP_DB_SCHEMA=$$config__app_db_schema
- _APP_DB_USER=$$config__app_db_user
- _APP_DB_PASS=$$secret__app_db_pass
- _APP_MAINTENANCE_INTERVAL=$$config__app_maintenance_interval
- >-
_APP_MAINTENANCE_RETENTION_EXECUTION=$$config__app_maintenance_retention_execution
- >-
_APP_MAINTENANCE_RETENTION_CACHE=$$config__app_maintenance_retention_cache
- >-
_APP_MAINTENANCE_RETENTION_ABUSE=$$config__app_maintenance_retention_abuse
- >-
_APP_MAINTENANCE_RETENTION_AUDIT=$$config__app_maintenance_retention_audit
- OPEN_RUNTIMES_NETWORK=$$config_open_runtimes_network
volumes: []
entrypoint: maintenance
$$id-mariadb:
image: mariadb:10.7
command: '--innodb-flush-method fsync'
environment:
- MARIADB_ROOT_PASSWORD=$$secret__app_db_root_pass
- MARIADB_DATABASE=$$config__app_db_schema
- MARIADB_USER=$$config__app_db_user
- MARIADB_PASSWORD=$$secret__app_db_pass
- OPEN_RUNTIMES_NETWORK=$$config_open_runtimes_network
volumes:
- $$id-mariadb:/var/lib/mysql
$$id-realtime:
image: appwrite/appwrite:$$core_version
environment:
- _APP_ENV=$$config__app_env
- _APP_WORKER_PER_CORE=$$config__app_worker_per_core
- _APP_OPTIONS_ABUSE=$$config__app_options_abuse
- _APP_OPENSSL_KEY_V1=$$secret__app_openssl_key_v1
- _APP_REDIS_HOST=$$config__app_redis_host
- _APP_REDIS_PORT=$$config__app_redis_port
- _APP_DB_HOST=$$config__app_db_host
- _APP_DB_PORT=$$config__app_db_port
- _APP_DB_SCHEMA=$$config__app_db_schema
- _APP_DB_USER=$$config__app_db_user
- _APP_DB_PASS=$$secret__app_db_pass
- _APP_USAGE_STATS=$$config__app_usage_stats
- _APP_LOGGING_PROVIDER=$$config__app_logging_provider
- _APP_LOGGING_CONFIG=$$config__app_logging_config
- OPEN_RUNTIMES_NETWORK=$$config_open_runtimes_network
volumes: []
entrypoint: realtime
proxy:
- port: '80'
pathPrefix: /v1/realtime
$$id-redis:
image: redis:7.0.4-alpine
command: '--maxmemory 512mb --maxmemory-policy allkeys-lru --maxmemory-samples 5'
environment: []
volumes:
- $$id-redis:/data
$$id-schedule:
image: appwrite/appwrite:$$core_version
environment:
- _APP_ENV=$$config__app_env
- _APP_REDIS_HOST=$$config__app_redis_host
- _APP_REDIS_PORT=$$config__app_redis_port
- _APP_REDIS_USER=$$config__app_redis_user
- _APP_REDIS_PASS=$$secret__app_redis_pass
- OPEN_RUNTIMES_NETWORK=$$config_open_runtimes_network
volumes: []
entrypoint: schedule
$$id-telegraf:
image: appwrite/telegraf:1.4.0
environment:
- _APP_INFLUXDB_HOST=$$config__app_influxdb_host
- _APP_INFLUXDB_PORT=$$config__app_influxdb_port
- OPEN_RUNTIMES_NETWORK=$$config_open_runtimes_network
volumes:
- $$id-influxdb:/var/lib/influxdb
$$id-usage-database:
image: appwrite/appwrite:$$core_version
environment:
- _APP_ENV=$$config__app_env
- _APP_OPENSSL_KEY_V1=$$secret__app_openssl_key_v1
- _APP_DB_HOST=$$config__app_db_host
- _APP_DB_PORT=$$config__app_db_port
- _APP_DB_SCHEMA=$$config__app_db_schema
- _APP_DB_USER=$$config__app_db_user
- _APP_DB_PASS=$$secret__app_db_pass
- _APP_INFLUXDB_HOST=$$config__app_influxdb_host
- _APP_INFLUXDB_PORT=$$config__app_influxdb_port
- _APP_USAGE_TIMESERIES_INTERVAL=$$config__app_usage_timeseries_interval
- _APP_USAGE_DATABASE_INTERVAL=$$config__app_usage_database_interval
- _APP_REDIS_HOST=$$config__app_redis_host
- _APP_REDIS_PORT=$$config__app_redis_port
- _APP_REDIS_USER=$$config__app_redis_user
- _APP_REDIS_PASS=$$secret__app_redis_pass
- _APP_LOGGING_PROVIDER=$$config__app_logging_provider
- _APP_LOGGING_CONFIG=$$config__app_logging_config
- OPEN_RUNTIMES_NETWORK=$$config_open_runtimes_network
volumes: []
entrypoint: usage --type database
$$id-usage:
image: appwrite/appwrite:$$core_version
environment:
- _APP_ENV=$$config__app_env
- _APP_OPENSSL_KEY_V1=$$secret__app_openssl_key_v1
- _APP_DB_HOST=$$config__app_db_host
- _APP_DB_PORT=$$config__app_db_port
- _APP_DB_SCHEMA=$$config__app_db_schema
- _APP_DB_USER=$$config__app_db_user
- _APP_DB_PASS=$$secret__app_db_pass
- _APP_INFLUXDB_HOST=$$config__app_influxdb_host
- _APP_INFLUXDB_PORT=$$config__app_influxdb_port
- _APP_USAGE_TIMESERIES_INTERVAL=$$config__app_usage_timeseries_interval
- _APP_USAGE_DATABASE_INTERVAL=$$config__app_usage_database_interval
- _APP_REDIS_HOST=$$config__app_redis_host
- _APP_REDIS_PORT=$$config__app_redis_port
- _APP_REDIS_USER=$$config__app_redis_user
- _APP_REDIS_PASS=$$secret__app_redis_pass
- _APP_LOGGING_PROVIDER=$$config__app_logging_provider
- _APP_LOGGING_CONFIG=$$config__app_logging_config
- OPEN_RUNTIMES_NETWORK=$$config_open_runtimes_network
volumes: []
entrypoint: usage --type timeseries
$$id-worker-audits:
image: appwrite/appwrite:$$core_version
environment:
- _APP_ENV=$$config__app_env
- _APP_OPENSSL_KEY_V1=$$secret__app_openssl_key_v1
- _APP_REDIS_HOST=$$config__app_redis_host
- _APP_REDIS_PORT=$$config__app_redis_port
- _APP_REDIS_USER=$$config__app_redis_user
- _APP_REDIS_PASS=$$secret__app_redis_pass
- _APP_DB_HOST=$$config__app_db_host
- _APP_DB_PORT=$$config__app_db_port
- _APP_DB_SCHEMA=$$config__app_db_schema
- _APP_DB_USER=$$config__app_db_user
- _APP_DB_PASS=$$secret__app_db_pass
- _APP_LOGGING_PROVIDER=$$config__app_logging_provider
- _APP_LOGGING_CONFIG=$$config__app_logging_config
- OPEN_RUNTIMES_NETWORK=$$config_open_runtimes_network
volumes: []
entrypoint: worker-audits
$$id-worker-builds:
image: appwrite/appwrite:$$core_version
environment:
- _APP_ENV=$$config__app_env
- _APP_OPENSSL_KEY_V1=$$secret__app_openssl_key_v1
- _APP_EXECUTOR_SECRET=$$secret__app_executor_secret
- _APP_EXECUTOR_HOST=$$config__app_executor_host
- _APP_REDIS_HOST=$$config__app_redis_host
- _APP_REDIS_PORT=$$config__app_redis_port
- _APP_REDIS_USER=$$config__app_redis_user
- _APP_REDIS_PASS=$$secret__app_redis_pass
- _APP_DB_HOST=$$config__app_db_host
- _APP_DB_PORT=$$config__app_db_port
- _APP_DB_SCHEMA=$$config__app_db_schema
- _APP_DB_USER=$$config__app_db_user
- _APP_DB_PASS=$$secret__app_db_pass
- _APP_LOGGING_PROVIDER=$$config__app_logging_provider
- _APP_LOGGING_CONFIG=$$config__app_logging_config
- OPEN_RUNTIMES_NETWORK=$$config_open_runtimes_network
volumes: []
entrypoint: worker-builds
$$id-worker-certificates:
image: appwrite/appwrite:$$core_version
environment:
- _APP_ENV=$$config__app_env
- _APP_OPENSSL_KEY_V1=$$secret__app_openssl_key_v1
- _APP_DOMAIN=$$config__app_domain
- _APP_DOMAIN_TARGET=$$config__app_domain_target
- >-
_APP_SYSTEM_SECURITY_EMAIL_ADDRESS=$$config__app_system_security_email_address
- _APP_REDIS_HOST=$$config__app_redis_host
- _APP_REDIS_PORT=$$config__app_redis_port
- _APP_REDIS_USER=$$config__app_redis_user
- _APP_REDIS_PASS=$$secret__app_redis_pass
- _APP_DB_HOST=$$config__app_db_host
- _APP_DB_PORT=$$config__app_db_port
- _APP_DB_SCHEMA=$$config__app_db_schema
- _APP_DB_USER=$$config__app_db_user
- _APP_DB_PASS=$$secret__app_db_pass
- _APP_LOGGING_PROVIDER=$$config__app_logging_provider
- _APP_LOGGING_CONFIG=$$config__app_logging_config
- OPEN_RUNTIMES_NETWORK=$$config_open_runtimes_network
volumes:
- $$id-config:/storage/config
- $$id-certificates:/storage/certificates
entrypoint: worker-certificates
$$id-worker-databases:
image: appwrite/appwrite:$$core_version
environment:
- _APP_ENV=$$config__app_env
- _APP_OPENSSL_KEY_V1=$$secret__app_openssl_key_v1
- _APP_REDIS_HOST=$$config__app_redis_host
- _APP_REDIS_PORT=$$config__app_redis_port
- _APP_REDIS_USER=$$config__app_redis_user
- _APP_REDIS_PASS=$$secret__app_redis_pass
- _APP_DB_HOST=$$config__app_db_host
- _APP_DB_PORT=$$config__app_db_port
- _APP_DB_SCHEMA=$$config__app_db_schema
- _APP_DB_USER=$$config__app_db_user
- _APP_DB_PASS=$$secret__app_db_pass
- _APP_LOGGING_PROVIDER=$$config__app_logging_provider
- _APP_LOGGING_CONFIG=$$config__app_logging_config
- OPEN_RUNTIMES_NETWORK=$$config_open_runtimes_network
volumes: []
entrypoint: worker-databases
$$id-worker-deletes:
image: appwrite/appwrite:$$core_version
environment:
- _APP_ENV=$$config__app_env
- _APP_OPENSSL_KEY_V1=$$secret__app_openssl_key_v1
- _APP_REDIS_HOST=$$config__app_redis_host
- _APP_REDIS_PORT=$$config__app_redis_port
- _APP_REDIS_USER=$$config__app_redis_user
- _APP_REDIS_PASS=$$secret__app_redis_pass
- _APP_DB_HOST=$$config__app_db_host
- _APP_DB_PORT=$$config__app_db_port
- _APP_DB_SCHEMA=$$config__app_db_schema
- _APP_DB_USER=$$config__app_db_user
- _APP_DB_PASS=$$secret__app_db_pass
- _APP_STORAGE_DEVICE=$$config__app_storage_device
- _APP_STORAGE_S3_ACCESS_KEY=$$secret__app_storage_s3_access_key
- _APP_STORAGE_S3_SECRET=$$secret__app_storage_s3_secret
- _APP_STORAGE_S3_REGION=$$config__app_storage_s3_region
- _APP_STORAGE_S3_BUCKET=$$config__app_storage_s3_bucket
- >-
_APP_STORAGE_DO_SPACES_ACCESS_KEY=$$secret__app_storage_do_spaces_access_key
- _APP_STORAGE_DO_SPACES_SECRET=$$secret__app_storage_do_spaces_secret
- _APP_STORAGE_DO_SPACES_REGION=$$config__app_storage_do_spaces_region
- _APP_STORAGE_DO_SPACES_BUCKET=$$config__app_storage_do_spaces_bucket
- >-
_APP_STORAGE_BACKBLAZE_ACCESS_KEY=$$secret__app_storage_backblaze_access_key
- _APP_STORAGE_BACKBLAZE_SECRET=$$secret__app_storage_backblaze_secret
- _APP_STORAGE_BACKBLAZE_REGION=$$config__app_storage_backblaze_region
- _APP_STORAGE_BACKBLAZE_BUCKET=$$config__app_storage_backblaze_bucket
- _APP_STORAGE_LINODE_ACCESS_KEY=$$secret__app_storage_linode_access_key
- _APP_STORAGE_LINODE_SECRET=$$secret__app_storage_linode_secret
- _APP_STORAGE_LINODE_REGION=$$config__app_storage_linode_region
- _APP_STORAGE_LINODE_BUCKET=$$config__app_storage_linode_bucket
- _APP_STORAGE_WASABI_ACCESS_KEY=$$secret__app_storage_wasabi_access_key
- _APP_STORAGE_WASABI_SECRET=$$secret__app_storage_wasabi_secret
- _APP_STORAGE_WASABI_REGION=$$config__app_storage_wasabi_region
- _APP_STORAGE_WASABI_BUCKET=$$config__app_storage_wasabi_bucket
- _APP_LOGGING_PROVIDER=$$config__app_logging_provider
- _APP_LOGGING_CONFIG=$$config__app_logging_config
- _APP_EXECUTOR_SECRET=$$secret__app_executor_secret
- _APP_EXECUTOR_HOST=$$config__app_executor_host
- OPEN_RUNTIMES_NETWORK=$$config_open_runtimes_network
volumes:
- $$id-uploads:/storage/uploads
- $$id-cache:/storage/cache
- $$id-functions:/storage/functions
- $$id-builds:/storage/builds
- $$id-certificates:/storage/certificates
entrypoint: worker-deletes
$$id-worker-functions:
image: appwrite/appwrite:$$core_version
environment:
- _APP_ENV=$$config__app_env
- _APP_OPENSSL_KEY_V1=$$secret__app_openssl_key_v1
- _APP_REDIS_HOST=$$config__app_redis_host
- _APP_REDIS_PORT=$$config__app_redis_port
- _APP_REDIS_USER=$$config__app_redis_user
- _APP_REDIS_PASS=$$secret__app_redis_pass
- _APP_DB_HOST=$$config__app_db_host
- _APP_DB_PORT=$$config__app_db_port
- _APP_DB_SCHEMA=$$config__app_db_schema
- _APP_DB_USER=$$config__app_db_user
- _APP_DB_PASS=$$secret__app_db_pass
- _APP_FUNCTIONS_TIMEOUT=$$config__app_functions_timeout
- _APP_EXECUTOR_SECRET=$$secret__app_executor_secret
- _APP_EXECUTOR_HOST=$$config__app_executor_host
- _APP_USAGE_STATS=$$config__app_usage_stats
- DOCKERHUB_PULL_USERNAME=$$config_dockerhub_pull_username
- DOCKERHUB_PULL_PASSWORD=$$secret_dockerhub_pull_password
- OPEN_RUNTIMES_NETWORK=$$config_open_runtimes_network
volumes: []
entrypoint: worker-functions
$$id-worker-mails:
image: appwrite/appwrite:$$core_version
environment:
- _APP_ENV=$$config__app_env
- _APP_OPENSSL_KEY_V1=$$secret__app_openssl_key_v1
- _APP_SYSTEM_EMAIL_NAME=$$config__app_system_email_name
- _APP_SYSTEM_EMAIL_ADDRESS=$$config__app_system_email_address
- _APP_REDIS_HOST=$$config__app_redis_host
- _APP_REDIS_PORT=$$config__app_redis_port
- _APP_REDIS_USER=$$config__app_redis_user
- _APP_REDIS_PASS=$$secret__app_redis_pass
- _APP_SMTP_HOST=$$config__app_smtp_host
- _APP_SMTP_PORT=$$config__app_smtp_port
- _APP_SMTP_SECURE=$$config__app_smtp_secure
- _APP_SMTP_USERNAME=$$config__app_smtp_username
- _APP_SMTP_PASSWORD=$$secret__app_smtp_password
- _APP_LOGGING_PROVIDER=$$config__app_logging_provider
- _APP_LOGGING_CONFIG=$$config__app_logging_config
- OPEN_RUNTIMES_NETWORK=$$config_open_runtimes_network
volumes: []
entrypoint: worker-mails
$$id-worker-messaging:
image: appwrite/appwrite:$$core_version
environment:
- _APP_ENV=$$config__app_env
- _APP_REDIS_HOST=$$config__app_redis_host
- _APP_REDIS_PORT=$$config__app_redis_port
- _APP_REDIS_USER=$$config__app_redis_user
- _APP_REDIS_PASS=$$secret__app_redis_pass
- _APP_SMS_PROVIDER=$$config__app_sms_provider
- _APP_SMS_FROM=$$config__app_sms_from
- _APP_LOGGING_PROVIDER=$$config__app_logging_provider
- _APP_LOGGING_CONFIG=$$config__app_logging_config
- OPEN_RUNTIMES_NETWORK=$$config_open_runtimes_network
volumes: []
entrypoint: worker-messaging
$$id-worker-webhooks:
image: appwrite/appwrite:$$core_version
environment:
- _APP_ENV=$$config__app_env
- _APP_OPENSSL_KEY_V1=$$secret__app_openssl_key_v1
- >-
_APP_SYSTEM_SECURITY_EMAIL_ADDRESS=$$config__app_system_security_email_address
- _APP_REDIS_HOST=$$config__app_redis_host
- _APP_REDIS_PORT=$$config__app_redis_port
- _APP_REDIS_USER=$$config__app_redis_user
- _APP_REDIS_PASS=$$secret__app_redis_pass
- _APP_LOGGING_PROVIDER=$$config__app_logging_provider
- _APP_LOGGING_CONFIG=$$config__app_logging_config
- OPEN_RUNTIMES_NETWORK=$$config_open_runtimes_network
volumes: []
entrypoint: worker-webhooks
variables:
- id: $$config__app_influxdb_host
name: _APP_INFLUXDB_HOST
label: InfluxDB | _APP_INFLUXDB_HOST
defaultValue: $$id-influxdb
description: ''
- id: $$config__app_influxdb_port
name: _APP_INFLUXDB_PORT
label: InfluxDB | _APP_INFLUXDB_PORT
defaultValue: '8086'
description: InfluxDB server TCP port.
- id: $$config__app_env
name: _APP_ENV
label: General | _APP_ENV
defaultValue: production
description: Set your server running environment.
- id: $$config__app_worker_per_core
name: _APP_WORKER_PER_CORE
label: General | _APP_WORKER_PER_CORE
defaultValue: '6'
description: >-
Internal Worker per core for the API, Realtime and Executor containers.
Can be configured to optimize performance.
- id: $$config__app_locale
name: _APP_LOCALE
label: General | _APP_LOCALE
defaultValue: en
description: Set your Appwrite's locale. By default, the locale is set to 'en'.
- id: $$config__app_console_whitelist_root
name: _APP_CONSOLE_WHITELIST_ROOT
label: General | _APP_CONSOLE_WHITELIST_ROOT
defaultValue: enabled
description: >-
This option allows you to disable the creation of new users on the
Appwrite console. When enabled only 1 user will be able to use the
registration form. New users can be added by inviting them to your
project. By default this option is enabled.
- id: $$config__app_console_whitelist_emails
name: _APP_CONSOLE_WHITELIST_EMAILS
label: General | _APP_CONSOLE_WHITELIST_EMAILS
defaultValue: ''
description: >-
This option allows you to limit creation of new users on the Appwrite
console. This option is very useful for small teams or sole developers.
To enable it, pass a list of allowed email addresses separated by a
comma.
- id: $$config__app_console_whitelist_ips
name: _APP_CONSOLE_WHITELIST_IPS
label: General | _APP_CONSOLE_WHITELIST_IPS
defaultValue: ''
description: >-
This last option allows you to limit creation of users in Appwrite
console for users sharing the same set of IP addresses. This option is
very useful for team working with a VPN service or a company IP.\n\nTo
enable/activate this option, pass a list of allowed IP addresses
separated by a comma.
- id: $$config__app_system_email_name
name: _APP_SYSTEM_EMAIL_NAME
label: General | _APP_SYSTEM_EMAIL_NAME
defaultValue: Appwrite
description: >-
This is the sender name value that will appear on email messages sent to
developers from the Appwrite console. You can use url encoded strings
for spaces and special chars.
- id: $$config__app_system_email_address
name: _APP_SYSTEM_EMAIL_ADDRESS
label: General | _APP_SYSTEM_EMAIL_ADDRESS
defaultValue: team@appwrite.io
description: >-
This is the sender email address that will appear on email messages sent
to developers from the Appwrite console. You should choose an email
address that is allowed to be used from your SMTP server to avoid the
server email ending in the users' SPAM folders.
- id: $$config__app_system_security_email_address
name: _APP_SYSTEM_SECURITY_EMAIL_ADDRESS
label: General | _APP_SYSTEM_SECURITY_EMAIL_ADDRESS
defaultValue: certs@appwrite.io
description: >-
This is the email address used to issue SSL certificates for custom
domains or the user agent in your webhooks payload.
- id: $$config__app_system_response_format
name: _APP_SYSTEM_RESPONSE_FORMAT
label: General | _APP_SYSTEM_RESPONSE_FORMAT
defaultValue: ''
description: >-
Use this environment variable to set the default Appwrite HTTP response
format to support an older version of Appwrite. This option is useful to
overcome breaking changes between versions. You can also use the
X-Appwrite-Response-Format HTTP request header to overwrite the response
for a specific request. This variable accepts any valid Appwrite
version. To use the current version format, leave the value of the
variable empty.
- id: $$config__app_options_abuse
name: _APP_OPTIONS_ABUSE
label: General | _APP_OPTIONS_ABUSE
defaultValue: enabled
description: >-
Allows you to disable abuse checks and API rate limiting. By default,
set to 'enabled'. To cancel the abuse checking, set to 'disabled'. It is
not recommended to disable this check-in a production environment.
- id: $$config__app_options_force_https
name: _APP_OPTIONS_FORCE_HTTPS
label: General | _APP_OPTIONS_FORCE_HTTPS
defaultValue: disabled
description: >-
Allows you to force HTTPS connection to your API. This feature redirects
any HTTP call to HTTPS and adds the 'Strict-Transport-Security' header
to all HTTP responses.
- id: $$secret__app_openssl_key_v1
name: _APP_OPENSSL_KEY_V1
label: General | _APP_OPENSSL_KEY_V1
defaultValue: $$generate_hex(256)
description: >-
This is your server private secret key that is used to encrypt all
sensitive data on your server. Appwrite server encrypts all secret data
on your server like webhooks, HTTP passwords, user sessions, and storage
files. Keep it a secret and have a backup for it.
- id: $$config__app_domain
name: _APP_DOMAIN
label: General | _APP_DOMAIN
defaultValue: $$generate_domain
description: >-
Your Appwrite domain address. When setting a public suffix domain,
Appwrite will attempt to issue a valid SSL certificate automatically.
When used with a dev domain, Appwrite will assign a self-signed SSL
certificate. The default value is 'localhost'.
- id: $$config__app_domain_target
name: _APP_DOMAIN_TARGET
label: General | _APP_DOMAIN_TARGET
defaultValue: $$generate_fqdn
description: >-
A DNS A record hostname to serve as a CNAME target for your Appwrite
custom domains. You can use the same value as used for the Appwrite
'_APP_DOMAIN' variable. The default value is 'localhost'.
- id: $$config__app_redis_host
name: _APP_REDIS_HOST
label: Redis | _APP_REDIS_HOST
defaultValue: $$id-redis
description: ''
- id: $$config__app_redis_port
name: _APP_REDIS_PORT
label: Redis | _APP_REDIS_PORT
defaultValue: '6379'
description: Redis server TCP port.
- id: $$config__app_redis_user
name: _APP_REDIS_USER
label: Redis | _APP_REDIS_USER
defaultValue: ''
description: >-
Redis server user. This is an optional variable. Default value is an
empty string.
- id: $$secret__app_redis_pass
name: _APP_REDIS_PASS
label: Redis | _APP_REDIS_PASS
defaultValue: ''
description: >-
Redis server password. This is an optional variable. Default value is an
empty string.
- id: $$config__app_db_host
name: _APP_DB_HOST
label: MariaDB | _APP_DB_HOST
defaultValue: $$id-mariadb
description: ''
- id: $$config__app_db_port
name: _APP_DB_PORT
label: MariaDB | _APP_DB_PORT
defaultValue: '3306'
description: MariaDB server TCP port.
- id: $$config__app_db_schema
name: _APP_DB_SCHEMA
label: MariaDB | _APP_DB_SCHEMA
defaultValue: appwrite
description: MariaDB server database schema.
- id: $$config__app_db_user
name: _APP_DB_USER
label: MariaDB | _APP_DB_USER
defaultValue: user
description: MariaDB server user name.
- id: $$secret__app_db_root_pass
name: MARIADB_ROOT_PASSWORD
label: MariaDB | MARIADB_ROOT_PASSWORD
defaultValue: $$generate_hex(16)
description: MariaDB server root user password.
- id: $$secret__app_db_pass
name: _APP_DB_PASS
label: MariaDB | _APP_DB_PASS
defaultValue: $$generate_hex(16)
description: MariaDB server user password.
- id: $$config__app_smtp_host
name: _APP_SMTP_HOST
label: SMTP | _APP_SMTP_HOST
defaultValue: ''
description: >-
SMTP server host name address. Use an empty string to disable all mail
sending from the server. The default value for this variable is an empty
string.
- id: $$config__app_smtp_port
name: _APP_SMTP_PORT
label: SMTP | _APP_SMTP_PORT
defaultValue: ''
description: SMTP server TCP port. Empty by default.
- id: $$config__app_smtp_secure
name: _APP_SMTP_SECURE
label: SMTP | _APP_SMTP_SECURE
defaultValue: ''
description: >-
SMTP secure connection protocol. Empty by default, change to 'tls' if
running on a secure connection.
- id: $$config__app_smtp_username
name: _APP_SMTP_USERNAME
label: SMTP | _APP_SMTP_USERNAME
defaultValue: ''
description: SMTP server user name. Empty by default.
- id: $$secret__app_smtp_password
name: _APP_SMTP_PASSWORD
label: SMTP | _APP_SMTP_PASSWORD
defaultValue: ''
description: SMTP server user password. Empty by default.
- id: $$config__app_usage_stats
name: _APP_USAGE_STATS
label: General | _APP_USAGE_STATS
defaultValue: enabled
description: >-
This variable allows you to disable the collection and displaying of
usage stats. This value is set to 'enabled' by default, to disable the
usage stats set the value to 'disabled'. When disabled, it's recommended
to turn off the Worker Usage, Influxdb and Telegraf containers for
better resource usage.
- id: $$config__app_storage_limit
name: _APP_STORAGE_LIMIT
label: Storage | _APP_STORAGE_LIMIT
defaultValue: '30000000'
description: >-
Maximum file size allowed for file upload. The default value is 30MB.
You should pass your size limit value in bytes.
- id: $$config__app_storage_preview_limit
name: _APP_STORAGE_PREVIEW_LIMIT
label: Storage | _APP_STORAGE_PREVIEW_LIMIT
defaultValue: '20000000'
description: >-
Maximum file size allowed for file image preview. The default value is
20MB. You should pass your size limit value in bytes.
- id: $$config__app_storage_antivirus_enabled
name: _APP_STORAGE_ANTIVIRUS
label: Storage | _APP_STORAGE_ANTIVIRUS
defaultValue: disabled
description: >-
This variable allows you to disable the internal anti-virus scans. This
value is set to 'disabled' by default, to enable the scans set the value
to 'enabled'. Before enabling, you must add the ClamAV service and
depend on it on main Appwrite service.
- id: $$config__app_storage_antivirus_host
name: _APP_STORAGE_ANTIVIRUS_HOST
label: Storage | _APP_STORAGE_ANTIVIRUS_HOST
defaultValue: clamav
description: ClamAV server host name address.
- id: $$config__app_storage_antivirus_port
name: _APP_STORAGE_ANTIVIRUS_PORT
label: Storage | _APP_STORAGE_ANTIVIRUS_PORT
defaultValue: '3310'
description: ClamAV server TCP port.
- id: $$config__app_storage_device
name: _APP_STORAGE_DEVICE
label: Storage | _APP_STORAGE_DEVICE
defaultValue: Local
description: >-
Select default storage device. The default value is 'Local'. List of
supported adapters are 'Local', 'S3', 'DOSpaces', 'Backblaze', 'Linode'
and 'Wasabi'.
- id: $$secret__app_storage_s3_access_key
name: _APP_STORAGE_S3_ACCESS_KEY
label: Storage | _APP_STORAGE_S3_ACCESS_KEY
defaultValue: ''
description: >-
AWS S3 storage access key. Required when the storage adapter is set to
S3. You can get your access key from your AWS console.
- id: $$secret__app_storage_s3_secret
name: _APP_STORAGE_S3_SECRET
label: Storage | _APP_STORAGE_S3_SECRET
defaultValue: ''
description: >-
AWS S3 storage secret key. Required when the storage adapter is set to
S3. You can get your secret key from your AWS console.
- id: $$config__app_storage_s3_region
name: _APP_STORAGE_S3_REGION
label: Storage | _APP_STORAGE_S3_REGION
defaultValue: us-east-1
description: >-
AWS S3 storage region. Required when storage adapter is set to S3. You
can find your region info for your bucket from AWS console.
- id: $$config__app_storage_s3_bucket
name: _APP_STORAGE_S3_BUCKET
label: Storage | _APP_STORAGE_S3_BUCKET
defaultValue: ''
description: >-
AWS S3 storage bucket. Required when storage adapter is set to S3. You
can create buckets in your AWS console.
- id: $$secret__app_storage_do_spaces_access_key
name: _APP_STORAGE_DO_SPACES_ACCESS_KEY
label: Storage | _APP_STORAGE_DO_SPACES_ACCESS_KEY
defaultValue: ''
description: >-
DigitalOcean spaces access key. Required when the storage adapter is set
to DOSpaces. You can get your access key from your DigitalOcean console.
- id: $$secret__app_storage_do_spaces_secret
name: _APP_STORAGE_DO_SPACES_SECRET
label: Storage | _APP_STORAGE_DO_SPACES_SECRET
defaultValue: ''
description: >-
DigitalOcean spaces secret key. Required when the storage adapter is set
to DOSpaces. You can get your secret key from your DigitalOcean console.
- id: $$config__app_storage_do_spaces_region
name: _APP_STORAGE_DO_SPACES_REGION
label: Storage | _APP_STORAGE_DO_SPACES_REGION
defaultValue: us-east-1
description: >-
DigitalOcean spaces region. Required when storage adapter is set to
DOSpaces. You can find your region info for your space from DigitalOcean
console.
- id: $$config__app_storage_do_spaces_bucket
name: _APP_STORAGE_DO_SPACES_BUCKET
label: Storage | _APP_STORAGE_DO_SPACES_BUCKET
defaultValue: ''
description: >-
DigitalOcean spaces bucket. Required when storage adapter is set to
DOSpaces. You can create spaces in your DigitalOcean console.
- id: $$secret__app_storage_backblaze_access_key
name: _APP_STORAGE_BACKBLAZE_ACCESS_KEY
label: Storage | _APP_STORAGE_BACKBLAZE_ACCESS_KEY
defaultValue: ''
description: >-
Backblaze access key. Required when the storage adapter is set to
Backblaze. Your Backblaze keyID will be your access key. You can get
your keyID from your Backblaze console.
- id: $$secret__app_storage_backblaze_secret
name: _APP_STORAGE_BACKBLAZE_SECRET
label: Storage | _APP_STORAGE_BACKBLAZE_SECRET
defaultValue: ''
description: >-
Backblaze secret key. Required when the storage adapter is set to
Backblaze. Your Backblaze applicationKey will be your secret key. You
can get your applicationKey from your Backblaze console.
- id: $$config__app_storage_backblaze_region
name: _APP_STORAGE_BACKBLAZE_REGION
label: Storage | _APP_STORAGE_BACKBLAZE_REGION
defaultValue: us-west-004
description: >-
Backblaze region. Required when storage adapter is set to Backblaze. You
can find your region info from your Backblaze console.
- id: $$config__app_storage_backblaze_bucket
name: _APP_STORAGE_BACKBLAZE_BUCKET
label: Storage | _APP_STORAGE_BACKBLAZE_BUCKET
defaultValue: ''
description: >-
Backblaze bucket. Required when storage adapter is set to Backblaze. You
can create your bucket from your Backblaze console.
- id: $$secret__app_storage_linode_access_key
name: _APP_STORAGE_LINODE_ACCESS_KEY
label: Storage | _APP_STORAGE_LINODE_ACCESS_KEY
defaultValue: ''
description: >-
Linode object storage access key. Required when the storage adapter is
set to Linode. You can get your access key from your Linode console.
- id: $$secret__app_storage_linode_secret
name: _APP_STORAGE_LINODE_SECRET
label: Storage | _APP_STORAGE_LINODE_SECRET
defaultValue: ''
description: >-
Linode object storage secret key. Required when the storage adapter is
set to Linode. You can get your secret key from your Linode console.
- id: $$config__app_storage_linode_region
name: _APP_STORAGE_LINODE_REGION
label: Storage | _APP_STORAGE_LINODE_REGION
defaultValue: eu-central-1
description: >-
Linode object storage region. Required when storage adapter is set to
Linode. You can find your region info from your Linode console.
- id: $$config__app_storage_linode_bucket
name: _APP_STORAGE_LINODE_BUCKET
label: Storage | _APP_STORAGE_LINODE_BUCKET
defaultValue: ''
description: >-
Linode object storage bucket. Required when storage adapter is set to
Linode. You can create buckets in your Linode console.
- id: $$secret__app_storage_wasabi_access_key
name: _APP_STORAGE_WASABI_ACCESS_KEY
label: Storage | _APP_STORAGE_WASABI_ACCESS_KEY
defaultValue: ''
description: >-
Wasabi access key. Required when the storage adapter is set to Wasabi.
You can get your access key from your Wasabi console.
- id: $$secret__app_storage_wasabi_secret
name: _APP_STORAGE_WASABI_SECRET
label: Storage | _APP_STORAGE_WASABI_SECRET
defaultValue: ''
description: >-
Wasabi secret key. Required when the storage adapter is set to Wasabi.
You can get your secret key from your Wasabi console.
- id: $$config__app_storage_wasabi_region
name: _APP_STORAGE_WASABI_REGION
label: Storage | _APP_STORAGE_WASABI_REGION
defaultValue: eu-central-1
description: >-
Wasabi region. Required when storage adapter is set to Wasabi. You can
find your region info from your Wasabi console.
- id: $$config__app_storage_wasabi_bucket
name: _APP_STORAGE_WASABI_BUCKET
label: Storage | _APP_STORAGE_WASABI_BUCKET
defaultValue: ''
description: >-
Wasabi bucket. Required when storage adapter is set to Wasabi. You can
create buckets in your Wasabi console.
- id: $$config__app_functions_size_limit
name: _APP_FUNCTIONS_SIZE_LIMIT
label: Functions | _APP_FUNCTIONS_SIZE_LIMIT
defaultValue: '30000000'
description: The maximum size deployment in bytes. The default value is 30MB.
- id: $$config__app_functions_timeout
name: _APP_FUNCTIONS_TIMEOUT
label: Functions | _APP_FUNCTIONS_TIMEOUT
defaultValue: '900'
description: >-
The maximum number of seconds allowed as a timeout value when creating a
new function. The default value is 900 seconds.
- id: $$config__app_functions_build_timeout
name: _APP_FUNCTIONS_BUILD_TIMEOUT
label: Functions | _APP_FUNCTIONS_BUILD_TIMEOUT
defaultValue: '900'
description: >-
The maximum number of seconds allowed as a timeout value when building a
new function. The default value is 900 seconds.
- id: $$config__app_functions_containers
name: _APP_FUNCTIONS_CONTAINERS
label: Functions | _APP_FUNCTIONS_CONTAINERS
defaultValue: '10'
description: >-
The maximum number of containers Appwrite is allowed to keep alive in
the background for function environments. Running containers allow
faster execution time as there is no need to recreate each container
every time a function gets executed. The default value is 10.
- id: $$config__app_functions_cpus
name: _APP_FUNCTIONS_CPUS
label: Functions | _APP_FUNCTIONS_CPUS
defaultValue: ''
description: >-
The maximum number of CPU core a single cloud function is allowed to
use. Please note that setting a value higher than available cores will
result in a function error, which might result in an error. The default
value is empty. When it's empty, CPU limit will be disabled.
- id: $$config__app_functions_memory_allocated
name: _APP_FUNCTIONS_MEMORY
label: Functions | _APP_FUNCTIONS_MEMORY
defaultValue: ''
description: >-
The maximum amount of memory a single cloud function is allowed to use
in megabytes. The default value is empty. When it's empty, memory limit
will be disabled.
- id: $$config__app_functions_memory_swap
name: _APP_FUNCTIONS_MEMORY_SWAP
label: Functions | _APP_FUNCTIONS_MEMORY_SWAP
defaultValue: ''
description: >-
The maximum amount of swap memory a single cloud function is allowed to
use in megabytes. The default value is empty. When it's empty, swap
memory limit will be disabled.
- id: $$config__app_functions_runtimes
name: _APP_FUNCTIONS_RUNTIMES
label: Functions | _APP_FUNCTIONS_RUNTIMES
defaultValue: node-18.0
description: >-
This option allows you to limit the available environments for cloud
functions. This option is very useful for low-cost servers to safe disk
space.
To enable/activate this option, pass a list of allowed environments
separated by a comma.
Currently, supported environments are: node-14.5, node-16.0, node-18.0,
php-8.0, php-8.1, ruby-3.0, ruby-3.1, python-3.8, python-3.9,
python-3.10, deno-1.21, deno-1.24, dart-2.15, dart-2.16, dart-2.17,
dotnet-3.1, dotnet-6.0, java-8.0, java-11.0, java-17.0, java-18.0,
swift-5.5, kotlin-1.6, cpp-17.0
- id: $$secret__app_executor_secret
name: _APP_EXECUTOR_SECRET
label: Functions | _APP_EXECUTOR_SECRET
defaultValue: $$generate_hex(16)
description: >-
The secret key used by Appwrite to communicate with the function
executor.
- id: $$config__app_executor_host
name: _APP_EXECUTOR_HOST
label: ''
defaultValue: http://$$id-executor/v1
description: ''
- id: $$config__app_logging_provider
name: _APP_LOGGING_PROVIDER
label: General | _APP_LOGGING_PROVIDER
defaultValue: ''
description: >-
This variable allows you to enable logging errors to 3rd party
providers. This value is empty by default, to enable the logger set the
value to one of 'sentry', 'raygun', 'appsignal', 'logowl'
- id: $$config__app_logging_config
name: _APP_LOGGING_CONFIG
label: General | _APP_LOGGING_CONFIG
defaultValue: ''
description: >-
This variable configures authentication to 3rd party error logging
providers. If using Sentry, this should be
'SENTRY_API_KEY;SENTRY_APP_ID'. If using Raygun, this should be Raygun
API key. If using AppSignal, this should be AppSignal API key. If using
LogOwl, this should be LogOwl Service Ticket.
- id: $$config__app_statsd_host
name: _APP_STATSD_HOST
label: ''
defaultValue: $$id-telegraf
description: ''
- id: $$config__app_statsd_port
name: _APP_STATSD_PORT
label: StatsD | _APP_STATSD_PORT
defaultValue: '8125'
description: StatsD server TCP port.
- id: $$config__app_maintenance_interval
name: _APP_MAINTENANCE_INTERVAL
label: Functions | _APP_MAINTENANCE_INTERVAL
defaultValue: '86400'
description: >-
Interval value containing the number of seconds that the Appwrite
maintenance process should wait before executing system cleanups and
optimizations. The default value is 86400 seconds (1 day).
- id: $$config__app_maintenance_retention_execution
name: _APP_MAINTENANCE_RETENTION_EXECUTION
label: Functions | _APP_MAINTENANCE_RETENTION_EXECUTION
defaultValue: '1209600'
description: >-
The maximum duration (in seconds) upto which to retain execution logs.
The default value is 1209600 seconds (14 days).
- id: $$config__app_maintenance_retention_cache
name: _APP_MAINTENANCE_RETENTION_CACHE
label: Functions | _APP_MAINTENANCE_RETENTION_CACHE
defaultValue: '2592000'
description: >-
The maximum duration (in seconds) upto which to retain cached files. The
default value is 2592000 seconds (30 days).
- id: $$config__app_maintenance_retention_abuse
name: _APP_MAINTENANCE_RETENTION_ABUSE
label: Functions | _APP_MAINTENANCE_RETENTION_ABUSE
defaultValue: '86400'
description: >-
The maximum duration (in seconds) upto which to retain abuse logs. The
default value is 86400 seconds (1 day).
- id: $$config__app_maintenance_retention_audit
name: _APP_MAINTENANCE_RETENTION_AUDIT
label: Functions | _APP_MAINTENANCE_RETENTION_AUDIT
defaultValue: '1209600'
description: >-
The maximum duration (in seconds) upto which to retain audit logs. The
default value is 1209600 seconds (14 days).
- id: $$config__app_sms_provider
name: _APP_SMS_PROVIDER
label: Phone | _APP_SMS_PROVIDER
defaultValue: ''
description: >-
Provider used for delivering SMS for Phone authentication. Use the
following format: 'sms://[USER]:[SECRET]@[PROVIDER]'. Available
providers are twilio, text-magic, telesign, msg91, and vonage.
- id: $$config__app_sms_from
name: _APP_SMS_FROM
label: Phone | _APP_SMS_FROM
defaultValue: ''
description: >-
Phone number used for sending out messages. Must start with a leading
'+' and maximum of 15 digits without spaces (+123456789).
- id: $$config__app_functions_inactive_threshold
name: _APP_FUNCTIONS_INACTIVE_THRESHOLD
label: Functions | _APP_FUNCTIONS_INACTIVE_THRESHOLD
defaultValue: '60'
description: >-
The minimum time a function can be inactive before it's container is
shutdown and put to sleep. The default value is 60 seconds
- id: $$config_open_runtimes_network
name: OPEN_RUNTIMES_NETWORK
label: ''
defaultValue: $$generate_network
description: ''
- id: $$config_dockerhub_pull_username
name: DOCKERHUB_PULL_USERNAME
label: Functions | DOCKERHUB_PULL_USERNAME
defaultValue: ''
description: >-
The username for hub.docker.com. This variable is used to pull images
from hub.docker.com.
- id: $$secret_dockerhub_pull_password
name: DOCKERHUB_PULL_PASSWORD
label: Functions | DOCKERHUB_PULL_PASSWORD
defaultValue: ''
description: >-
The password for hub.docker.com. This variable is used to pull images
from hub.docker.com.
- id: $$config__app_usage_timeseries_interval
name: _APP_USAGE_TIMESERIES_INTERVAL
label: General | _APP_USAGE_TIMESERIES_INTERVAL
defaultValue: '30'
description: >-
Interval value containing the number of seconds that the Appwrite usage
process should wait before aggregating stats and syncing it to mariadb
from InfluxDB. The default value is 30 seconds.
- id: $$config__app_usage_database_interval
name: _APP_USAGE_DATABASE_INTERVAL
label: General | _APP_USAGE_DATABASE_INTERVAL
defaultValue: '900'
description: >-
Interval value containing the number of seconds that the Appwrite usage
process should wait before aggregating stats from data in Appwrite
Database. The default value is 15 minutes.
- templateVersion: 1.0.0
defaultVersion: 10.4.3
documentation: https://docs.directus.io/getting-started/introduction.html
type: directus-postgresql
name: Directus
subname: (PostgreSQL)
description: >-
Directus is a free and open-source headless CMS framework for managing
custom SQL-based databases.
labels:
- CMS
- headless
services:
$$id:
name: Directus
depends_on:
- $$id-postgresql
- $$id-redis
image: directus/directus:$$core_version
volumes:
- $$id-uploads:/directus/uploads
- $$id-database:/directus/database
- $$id-extensions:/directus/extensions
environment:
- KEY=$$secret_key
- SECRET=$$secret_secret
- DB_CLIENT=pg
- DB_CONNECTION_STRING=$$secret_db_connection_string
- CACHE_ENABLED=true
- CACHE_STORE=redis
- CACHE_REDIS=$$secret_cache_redis
- ADMIN_EMAIL=$$config_admin_email
- ADMIN_PASSWORD=$$secret_admin_password
- CACHE_AUTO_PURGE=true
- PUBLIC_URL=$$config_public_url
ports:
- '8055'
$$id-postgresql:
name: Directus PostgreSQL
depends_on: []
image: postgres:14-alpine
volumes:
- $$id-postgresql-data:/var/lib/postgresql/data
environment:
- POSTGRES_USER=$$config_postgres_user
- POSTGRES_PASSWORD=$$secret_postgres_password
- POSTGRES_DB=$$config_postgres_db
ports: []
$$id-redis:
name: Directus Redis
depends_on: []
image: redis:7.0.4-alpine
command: '--maxmemory 512mb --maxmemory-policy allkeys-lru --maxmemory-samples 5'
volumes:
- $$id-redis:/data
environment: []
variables:
- id: $$config_public_url
name: PUBLIC_URL
label: Public URL
defaultValue: $$generate_fqdn
description: ''
- id: $$secret_db_connection_string
name: DB_CONNECTION_STRING
label: Directus Database Url
defaultValue: >-
postgresql://$$config_postgres_user:$$secret_postgres_password@$$id-postgresql:5432/$$config_postgres_db
description: ''
- id: $$config_postgres_db
main: $$id-postgresql
name: POSTGRES_DB
label: Database
defaultValue: directus
description: ''
- id: $$config_postgres_user
main: $$id-postgresql
name: POSTGRES_USER
label: User
defaultValue: $$generate_username
description: ''
- id: $$secret_postgres_password
main: $$id-postgresql
name: POSTGRES_PASSWORD
label: Password
defaultValue: $$generate_password
description: ''
showOnConfiguration: true
- id: $$secret_cache_redis
name: CACHE_REDIS
label: Redis Url
defaultValue: redis://$$id-redis:6379
description: ''
- id: $$config_admin_email
name: ADMIN_EMAIL
label: Initial Admin Email
defaultValue: admin@example.com
description: >-
The email address of the first user that is automatically created. You
can change it later in Directus.
- id: $$secret_admin_password
name: ADMIN_PASSWORD
label: Initial Admin Password
defaultValue: $$generate_password
description: The password of the first user that is automatically created.
showOnConfiguration: true
- id: $$secret_key
name: KEY
label: Key
defaultValue: $$generate_password
description: Unique identifier for the project.
showOnConfiguration: true
- id: $$secret_secret
name: SECRET
label: Secret
defaultValue: $$generate_password
description: Secret string for the project.
showOnConfiguration: true
- templateVersion: 1.0.0
defaultVersion: stable
documentation: https://fider.io/docs
type: fider
name: Fider
description: A platform to collect and organize customer feedback.
labels:
- suggestion
- feedback
services:
$$id:
name: Fider
image: getfider/fider:$$core_version
depends_on:
- $$id-postgresql
environment:
- BASE_URL=$$config_base_url
- DATABASE_URL=$$secret_database_url
- JWT_SECRET=$$secret_jwt_secret
- EMAIL_NOREPLY=$$config_email_noreply
- EMAIL_MAILGUN_API=$$secret_email_mailgun_api
- EMAIL_MAILGUN_REGION=$$config_email_mailgun_region
- EMAIL_MAILGUN_DOMAIN=$$config_email_mailgun_domain
- EMAIL_SMTP_HOST=$$config_email_smtp_host
- EMAIL_SMTP_PORT=$$config_email_smtp_port
- EMAIL_SMTP_USER=$$config_email_smtp_user
- EMAIL_SMTP_PASSWORD=$$secret_email_smtp_password
- EMAIL_SMTP_ENABLE_STARTTLS=$$config_email_smtp_enable_starttls
ports:
- '3000'
$$id-postgresql:
name: PostgreSQL
depends_on: []
image: postgres:12-alpine
volumes:
- $$id-postgresql-data:/var/lib/postgresql/data
environment:
- POSTGRES_USER=$$config_postgres_user
- POSTGRES_PASSWORD=$$secret_postgres_password
- POSTGRES_DB=$$config_postgres_db
variables:
- id: $$config_base_url
name: BASE_URL
label: Base URL
defaultValue: $$generate_fqdn
description: ''
- id: $$secret_database_url
name: DATABASE_URL
label: Database URL for PostgreSQL
defaultValue: >-
postgresql://$$config_postgres_user:$$secret_postgres_password@$$id-postgresql:5432/$$config_postgres_db?sslmode=disable
description: ''
- id: $$secret_jwt_secret
name: JWT_SECRET
label: JWT Secret
defaultValue: $$generate_hex(64)
description: ''
- id: $$config_email_noreply
name: EMAIL_NOREPLY
label: No Reply Email Address
defaultValue: noreply@example.com
description: ''
- id: $$secret_email_mailgun_api
name: EMAIL_MAILGUN_API
label: Mailgun API Key
defaultValue: ''
description: ''
showOnConfiguration: true
- id: $$config_email_mailgun_region
name: EMAIL_MAILGUN_REGION
label: Mailgun Region
defaultValue: EU
description: ''
- id: $$config_email_mailgun_domain
name: EMAIL_MAILGUN_DOMAIN
label: Mailgun Domain
defaultValue: ''
description: ''
- id: $$config_email_smtp_host
name: EMAIL_SMTP_HOST
label: SMTP Host
defaultValue: ''
description: ''
- id: $$config_email_smtp_port
name: EMAIL_SMTP_PORT
label: SMTP Port
defaultValue: '587'
description: ''
- id: $$config_email_smtp_user
name: EMAIL_SMTP_USER
label: SMTP User
defaultValue: ''
description: ''
- id: $$secret_email_smtp_password
name: EMAIL_SMTP_PASSWORD
label: SMTP Password
defaultValue: ''
description: ''
showOnConfiguration: true
- id: $$config_email_smtp_enable_starttls
name: EMAIL_SMTP_ENABLE_STARTTLS
label: SMTP Enable StartTLS
defaultValue: 'false'
description: ''
- id: $$config_postgres_user
name: POSTGRES_USER
label: PostgreSQL User
defaultValue: $$generate_username
description: ''
- id: $$secret_postgres_password
name: POSTGRES_PASSWORD
label: PostgreSQL Password
defaultValue: $$generate_password
description: ''
- id: $$config_postgres_db
name: POSTGRES_DB
label: PostgreSQL Database
defaultValue: $$generate_username
description: ''
- templateVersion: 1.0.0
ignore: true
defaultVersion: 5.54.4
documentation: https://docs.ghost.org
arch: amd64
type: ghost-mariadb
name: Ghost
subname: (MariaDB)
description: Free and open source blogging platform.
labels:
- cms
- blog
services:
$$id:
name: Ghost
depends_on:
- $$id-mariadb
image: bitnami/ghost:$$core_version
volumes:
- $$id-ghost:/bitnami/ghost
environment:
- url=$$config_url
- GHOST_HOST=$$config_ghost_host
- GHOST_ENABLE_HTTPS=$$config_ghost_enable_https
- GHOST_EMAIL=$$config_ghost_email
- GHOST_PASSWORD=$$secret_ghost_password
- GHOST_DATABASE_HOST=$$config_ghost_database_host
- GHOST_DATABASE_USER=$$config_mariadb_user
- GHOST_DATABASE_PASSWORD=$$secret_ghost_database_password
- GHOST_DATABASE_NAME=$$config_mariadb_database
- GHOST_DATABASE_PORT_NUMBER=3306
ports:
- '2368'
$$id-mariadb:
name: MariaDB
depends_on: []
image: bitnami/mariadb:latest
volumes:
- $$id-mariadb:/bitnami/mariadb
environment:
- MARIADB_USER=$$config_mariadb_user
- MARIADB_PASSWORD=$$secret_mariadb_password
- MARIADB_DATABASE=$$config_mariadb_database
- MARIADB_ROOT_USER=$$config_mariadb_root_user
- MARIADB_ROOT_PASSWORD=$$secret_mariadb_root_password
ports: []
variables:
- id: $$config_url
name: url
label: URL
defaultValue: $$generate_fqdn
description: ''
- id: $$config_ghost_host
name: GHOST_HOST
label: Ghost Host
defaultValue: $$generate_domain
description: ''
- id: $$config_ghost_enable_https
name: GHOST_ENABLE_HTTPS
label: Ghost Enable HTTPS
defaultValue: 'no'
description: ''
- id: $$config_ghost_email
name: GHOST_EMAIL
label: Ghost Default Email
defaultValue: admin@example.com
description: ''
- id: $$secret_ghost_password
name: GHOST_PASSWORD
label: Ghost Default Password
defaultValue: $$generate_password
description: ''
showOnConfiguration: true
- id: $$config_ghost_database_host
name: GHOST_DATABASE_HOST
label: Ghost Database Host
defaultValue: $$id-mariadb
description: ''
- id: $$config_ghost_database_user
name: GHOST_DATABASE_USER
label: MariaDB User
defaultValue: $$config_mariadb_user
description: ''
- id: $$secret_ghost_database_password
name: GHOST_DATABASE_PASSWORD
label: MariaDB Password
defaultValue: $$secret_mariadb_password
description: ''
- id: $$config_ghost_database_name
name: GHOST_DATABASE_NAME
label: MariaDB Database
defaultValue: $$config_mariadb_database
description: ''
- id: $$config_mariadb_user
name: MARIADB_USER
label: MariaDB User
defaultValue: $$generate_username
description: ''
- id: $$secret_mariadb_password
name: MARIADB_PASSWORD
label: MariaDB Password
defaultValue: $$generate_password
description: ''
- id: $$config_mariadb_database
name: MARIADB_DATABASE
label: MariaDB Database
defaultValue: ghost
description: ''
- id: $$config_mariadb_root_user
name: MARIADB_ROOT_USER
label: MariaDB Root User
defaultValue: $$generate_username
description: ''
- id: $$secret_mariadb_root_password
name: MARIADB_ROOT_PASSWORD
label: MariaDB Root Password
defaultValue: $$generate_password
description: ''
- templateVersion: 1.0.0
defaultVersion: 5.54.4
documentation: https://docs.ghost.org
type: ghost-mysql
name: Ghost
subname: (MySQL)
description: Ghost is a free and open source blogging platform.
services:
$$id:
name: Ghost
depends_on:
- $$id-mysql
image: ghost:$$core_version
volumes:
- $$id-ghost:/var/lib/ghost/content
environment:
- url=$$config_url
- database__client=$$config_database__client
- database__connection__host=$$config_database__connection__host
- database__connection__user=$$config_mysql_user
- database__connection__password=$$secret_mysql_password
- database__connection__database=$$config_mysql_database
ports:
- '2368'
$$id-mysql:
name: MySQL
depends_on: []
image: mysql:8.0
volumes:
- $$id-mysql:/var/lib/mysql
environment:
- MYSQL_USER=$$config_mysql_user
- MYSQL_PASSWORD=$$secret_mysql_password
- MYSQL_DATABASE=$$config_mysql_database
- MYSQL_ROOT_PASSWORD=$$secret_mysql_root_password
ports: []
variables:
- id: $$config_url
name: url
label: URL
defaultValue: $$generate_fqdn
description: ''
- id: $$config_database__client
name: database__client
label: Database Client
defaultValue: mysql
description: ''
readOnly: true
- id: $$config_database__connection__host
name: database__connection__host
label: Database Host
defaultValue: $$id-mysql
description: ''
- id: $$config_mysql_user
main: $$id-mysql
name: MYSQL_USER
label: MySQL User
defaultValue: $$generate_username
description: ''
- id: $$secret_mysql_password
main: $$id-mysql
name: MYSQL_PASSWORD
label: MySQL Password
defaultValue: $$generate_password
description: ''
- id: $$config_mysql_database
main: $$id-mysql
name: MYSQL_DATABASE
label: MySQL Database
defaultValue: ghost
description: ''
- id: $$secret_mysql_root_password
name: MYSQL_ROOT_PASSWORD
label: MySQL Root Password
defaultValue: $$generate_password
description: ''
- templateVersion: 1.0.0
defaultVersion: 5.54.4
documentation: https://docs.ghost.org
type: ghost-only
name: Ghost
subname: (without Database)
description: Free and open source blogging platform.
services:
$$id:
name: Ghost
image: ghost:$$core_version
volumes:
- $$id-ghost:/var/lib/ghost/content
environment:
- url=$$config_url
- database__client=$$config_database__client
- database__connection__host=$$config_database__connection__host
- database__connection__user=$$config_database__connection__user
- database__connection__password=$$secret_database__connection__password
- database__connection__database=$$config_database__connection__database
ports:
- '2368'
variables:
- id: $$config_url
name: url
label: URL
defaultValue: $$generate_fqdn
description: ''
- id: $$config_database__client
name: database__client
label: Database Client
defaultValue: mysql
description: ''
required: true
- id: $$config_database__connection__host
name: database__connection__host
label: Database Host
defaultValue: ''
description: ''
required: true
placeholder: db.coolify.io
- id: $$config_database__connection__user
name: database__connection__user
label: Database User
defaultValue: ''
description: ''
placeholder: ghost
required: true
- id: $$secret_database__connection__password
name: database__connection__password
label: Database Password
defaultValue: ''
description: ''
placeholder: superSecretP4ssword
showOnConfiguration: true
required: true
- id: $$config_database__connection__database
name: database__connection__database
label: Database Name
defaultValue: ''
description: ''
placeholder: ghost_db
required: true
- templateVersion: 1.0.0
defaultVersion: 1.20.0
documentation: https://docs.gitea.io
type: gitea
name: Gitea
description: >-
Gitea is a community managed lightweight code hosting solution written in
Go.
labels:
- storage
- git
services:
$$id:
name: Gitea
documentation: https://docs.gitea.io
image: gitea/gitea:$$core_version
volumes:
- $$id-data:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
environment:
- USER_UID=1000
- USER_GID=1000
- DOMAIN=$$config_domain
- SSH_DOMAIN=$$config_ssh_domain
- ROOT_URL=$$config_root_url
- SECRET_KEY=$$secret_secret_key
- INTERNAL_TOKEN=$$secret_internal_token
- SSH_PORT=22
- START_SSH_SERVER=$$config_start_ssh_server
ports:
- '3000'
- '22'
proxy:
- port: '22'
hostPort: $$config_hostport_ssh
- port: '3000'
variables:
- id: $$config_hostport_ssh
name: SSH_PORT
label: SSH Port
defaultValue: '8022'
description: ''
required: true
- id: $$config_domain
name: DOMAIN
label: Domain
defaultValue: $$generate_domain
description: ''
- id: $$config_ssh_domain
name: SSH_DOMAIN
label: SSH Domain
defaultValue: $$generate_domain
description: ''
- id: $$config_start_ssh_server
name: START_SSH_SERVER
label: Start SSH Server
defaultValue: 'true'
description: ''
- id: $$config_root_url
name: ROOT_URL
label: Root URL of Gitea
defaultValue: $$generate_fqdn_slash
description: ''
- id: $$secret_secret_key
name: SECRET_KEY
label: Secret Key
defaultValue: $$generate_hex(32)
description: ''
- id: $$secret_internal_token
name: INTERNAL_TOKEN
label: Internal JWT Token
defaultValue: $$generate_token
description: ''
- templateVersion: 1.0.0
defaultVersion: v3.3.0
documentation: https://glitchtip.com/documentation
type: glitchtip
name: GlitchTip
description: Simple, open source error tracking.
labels:
- sentry
- bugsnag
services:
$$id:
name: GlitchTip
depends_on:
- $$id-postgresql
- $$id-redis
image: glitchtip/glitchtip:$$core_version
volumes: []
environment:
- PORT=$$config_port
- GLITCHTIP_DOMAIN=$$config_glitchtip_domain
- SECRET_KEY=$$secret_secret_key
- DATABASE_URL=$$secret_database_url
- REDIS_URL=$$secret_redis_url
- DEFAULT_FROM_EMAIL=$$config_default_from_email
- EMAIL_URL=$$secret_email_url
- EMAIL_HOST=$$config_email_host
- EMAIL_PORT=$$config_email_port
- EMAIL_HOST_USER=$$config_email_host_user
- EMAIL_HOST_PASSWORD=$$secret_email_host_password
- EMAIL_USE_TLS=$$config_email_use_tls
- EMAIL_USE_SSL=$$config_email_use_ssl
- EMAIL_BACKEND=$$config_email_backend
- MAILGUN_API_KEY=$$secret_mailgun_api_key
- SENDGRID_API_KEY=$$secret_sendgrid_api_key
- ENABLE_OPEN_USER_REGISTRATION=$$config_enable_open_user_registration
- DJANGO_SUPERUSER_EMAIL=$$config_django_superuser_email
- DJANGO_SUPERUSER_PASSWORD=$$secret_django_superuser_password
- DJANGO_SUPERUSER_USERNAME=$$config_django_superuser_username
- CELERY_WORKER_CONCURRENCY=$$config_celery_worker_concurrency
ports:
- '8000'
$$id-worker:
name: Celery Worker
command: ./bin/run-celery-with-beat.sh
depends_on:
- $$id-postgresql
- $$id-redis
image: glitchtip/glitchtip:$$core_version
environment:
- GLITCHTIP_DOMAIN=$$config_glitchtip_domain
- SECRET_KEY=$$secret_secret_key
- DATABASE_URL=$$secret_database_url
- REDIS_URL=$$secret_redis_url
- DEFAULT_FROM_EMAIL=$$config_default_from_email
- EMAIL_URL=$$secret_email_url
- CELERY_WORKER_CONCURRENCY=$$config_celery_worker_concurrency
ports: []
$$id-migrate:
exclude: true
name: Migrate
command: ./manage.py migrate
depends_on:
- $$id-postgresql
- $$id-redis
image: glitchtip/glitchtip:$$core_version
environment:
- GLITCHTIP_DOMAIN=$$config_glitchtip_domain
- SECRET_KEY=$$secret_secret_key
- DATABASE_URL=$$secret_database_url
- REDIS_URL=$$secret_redis_url
- DEFAULT_FROM_EMAIL=$$config_default_from_email
- EMAIL_URL=$$secret_email_url
ports: []
$$id-postgresql:
name: PostgreSQL
depends_on: []
image: postgres:14-alpine
volumes:
- $$id-postgresql-data:/var/lib/postgresql/data
environment:
- POSTGRES_USER=$$config_postgres_user
- POSTGRES_PASSWORD=$$secret_postgres_password
- POSTGRES_DB=$$config_postgres_db
ports: []
$$id-redis:
name: Redis
depends_on: []
image: redis:7-alpine
volumes:
- $$id-postgresql-redis-data:/data
environment: []
ports: []
variables:
- id: $$config_django_superuser_username
name: DJANGO_SUPERUSER_USERNAME
label: Django Superuser Username
defaultValue: $$generate_username
description: ''
- id: $$secret_django_superuser_password
name: DJANGO_SUPERUSER_PASSWORD
label: Django Superuser Password
defaultValue: $$generate_password
description: ''
showOnConfiguration: true
- id: $$config_port
name: PORT
label: GlitchTip Port
defaultValue: '8000'
description: ''
- id: $$config_celery_worker_concurrency
main: $$id-worker
name: CELERY_WORKER_CONCURRENCY
label: Celery Worker Concurrency
defaultValue: '2'
description: ''
- id: $$config_glitchtip_domain
name: GLITCHTIP_DOMAIN
label: GlitchTip Domain
defaultValue: $$generate_fqdn
description: ''
- id: $$secret_email_url
name: EMAIL_URL
label: SMTP Email URL
defaultValue: >-
smtp://$$config_email_host_user:$$secret_email_host_password@$$config_email_host:$$config_email_port
description: ''
- id: $$secret_database_url
name: DATABASE_URL
label: Database URL for PostgreSQL
defaultValue: >-
postgresql://$$config_postgres_user:$$secret_postgres_password@$$id-postgresql:5432/$$config_postgres_db
description: ''
- id: $$secret_redis_url
name: REDIS_URL
label: Redis URL
defaultValue: redis://$$id-redis:6379/0
description: ''
- id: $$config_default_from_email
name: DEFAULT_FROM_EMAIL
label: Default Email Address
defaultValue: noreply@example.com
description: ''
- id: $$config_email_host
name: EMAIL_HOST
label: Email SMTP Host
defaultValue: ''
description: ''
- id: $$config_email_port
name: EMAIL_PORT
label: Email SMTP Port
defaultValue: '25'
description: ''
- id: $$config_email_host_user
name: EMAIL_HOST_USER
label: Email SMTP User
defaultValue: ''
description: ''
- id: $$secret_email_host_password
name: EMAIL_HOST_PASSWORD
label: Email SMTP Password
defaultValue: ''
description: ''
- id: $$config_email_use_tls
name: EMAIL_USE_TLS
label: Email Use TLS
defaultValue: 'false'
description: ''
- id: $$config_email_use_ssl
name: EMAIL_USE_SSL
label: Email Use SSL
defaultValue: 'false'
description: ''
- id: $$secret_email_smtp_password
name: EMAIL_SMTP_PASSWORD
label: SMTP Password
defaultValue: ''
description: ''
- id: $$config_email_backend
name: EMAIL_BACKEND
label: Email Backend
defaultValue: ''
description: ''
- id: $$secret_mailgun_api_key
name: MAILGUN_API_KEY
label: Mailgun API Key
defaultValue: ''
description: ''
showOnConfiguration: true
- id: $$secret_sendgrid_api_key
name: SENDGRID_API_KEY
label: Sendgrid API Key
defaultValue: ''
description: ''
showOnConfiguration: true
- id: $$config_enable_open_user_registration
name: ENABLE_OPEN_USER_REGISTRATION
label: Enable Open User Registration
defaultValue: 'true'
description: ''
- id: $$config_django_superuser_email
name: DJANGO_SUPERUSER_EMAIL
label: Django Superuser Email
defaultValue: noreply@example.com
description: ''
- id: $$config_postgres_user
main: $$id-postgresql
name: POSTGRES_USER
label: PostgreSQL User
defaultValue: $$generate_username
description: ''
- id: $$secret_postgres_password
main: $$id-postgresql
name: POSTGRES_PASSWORD
label: PostgreSQL Password
defaultValue: $$generate_password
description: ''
- id: $$config_postgres_db
main: $$id-postgresql
name: POSTGRES_DB
label: PostgreSQL Database
defaultValue: glitchtip
description: ''
- templateVersion: 1.0.0
defaultVersion: 10.0.2
documentation: https://hub.docker.com/r/grafana/grafana
type: grafana
name: Grafana
description: >-
Grafana allows you to query, visualize, alert on and understand your
metrics.
labels:
- monitoring
- metrics
- dashboard
services:
$$id:
image: grafana/grafana:$$core_version
environment: []
volumes:
- $$id-config:/etc/grafana
- $$id-grafana:/var/lib/grafana
ports:
- '3000'
variables: []
- templateVersion: 1.0.0
defaultVersion: v2.30.0
documentation: https://hasura.io/docs/latest/index/
type: hasura
name: Hasura
description: Instant realtime GraphQL APIs on any Postgres application, existing or new.
labels:
- graphql
- database
services:
$$id:
name: Hasura
depends_on:
- $$id-postgresql
image: hasura/graphql-engine:$$core_version
volumes: []
environment:
- HASURA_GRAPHQL_ENABLE_CONSOLE=$$config_hasura_graphql_enable_console
- >-
HASURA_GRAPHQL_METADATA_DATABASE_URL=$$secret_hasura_graphql_metadata_database_url
- HASURA_GRAPHQL_ADMIN_SECRET=$$secret_hasura_graphql_admin_secret
ports:
- '8080'
$$id-postgresql:
name: PostgreSQL
depends_on: []
image: postgres:12-alpine
volumes:
- $$id-postgresql-data:/var/lib/postgresql/data
environment:
- POSTGRES_USER=$$config_postgres_user
- POSTGRES_PASSWORD=$$secret_postgres_password
- POSTGRES_DB=$$config_postgres_db
ports: []
variables:
- id: $$config_hasura_graphql_enable_console
name: HASURA_GRAPHQL_ENABLE_CONSOLE
label: Enable Hasura Console
defaultValue: 'true'
description: ''
- id: $$secret_hasura_graphql_metadata_database_url
name: HASURA_GRAPHQL_METADATA_DATABASE_URL
label: Hasura Metadata Database URL
defaultValue: >-
postgresql://$$config_postgres_user:$$secret_postgres_password@$$id-postgresql:5432/$$config_postgres_db
description: ''
- id: $$secret_hasura_graphql_admin_secret
name: HASURA_GRAPHQL_ADMIN_SECRET
label: Hasura Admin Password
defaultValue: $$generate_password
description: ''
showOnConfiguration: true
- id: $$config_postgres_user
name: POSTGRES_USER
label: PostgreSQL User
defaultValue: $$generate_username
description: ''
- id: $$secret_postgres_password
name: POSTGRES_PASSWORD
label: PostgreSQL Password
defaultValue: $$generate_password
description: ''
- id: $$config_postgres_db
name: POSTGRES_DB
label: PostgreSQL Database
defaultValue: hasura
description: ''
- templateVersion: 1.0.0
defaultVersion: 22.0.1
documentation: https://www.keycloak.org/documentation
type: keycloak
name: Keycloak
description: >-
Keycloak provides user federation, strong authentication, user management,
fine-grained authorization, and more.
labels:
- authentication
- authorization
- oidconnect
- saml2
services:
$$id:
name: Keycloak
command: start --db=postgres --features=token-exchange --import-realm
depends_on:
- $$id-postgresql
image: quay.io/keycloak/keycloak:$$core_version
volumes:
- $$id-import:/opt/keycloak/data/import
environment:
- KC_HEALTH_ENABLED=true
- KC_PROXY=edge
- KC_DB=postgres
- KC_HOSTNAME=$$config_keycloak_domain
- KEYCLOAK_ADMIN=$$config_admin_user
- KEYCLOAK_ADMIN_PASSWORD=$$secret_keycloak_admin_password
- KC_DB_PASSWORD=$$secret_postgres_password
- KC_DB_USERNAME=$$config_postgres_user
- KC_DB_URL=$$secret_keycloak_database_url
ports:
- '8080'
$$id-postgresql:
name: PostgreSQL
depends_on: []
image: postgres:14-alpine
volumes:
- $$id-postgresql-data:/var/lib/postgresql/data
environment:
- POSTGRES_USER=$$config_postgres_user
- POSTGRES_PASSWORD=$$secret_postgres_password
- POSTGRES_DB=$$config_postgres_db
ports: []
variables:
- id: $$config_keycloak_domain
name: KEYCLOAK_DOMAIN
label: Keycloak Domain
defaultValue: $$generate_domain
description: ''
- id: $$secret_keycloak_database_url
name: KEYCLOAK_DATABASE_URL
label: Keycloak Database Url
defaultValue: jdbc:postgresql://$$id-postgresql:5432/$$config_postgres_db
description: ''
- id: $$config_admin_user
name: KEYCLOAK_ADMIN
label: Keycloak Admin User
defaultValue: $$generate_username
description: ''
- id: $$secret_keycloak_admin_password
name: KEYCLOAK_ADMIN_PASSWORD
label: Keycloak Admin Password
defaultValue: $$generate_password
description: ''
showOnConfiguration: true
- id: $$config_postgres_user
main: $$id-postgresql
name: POSTGRES_USER
label: PostgreSQL User
defaultValue: $$generate_username
description: ''
- id: $$secret_postgres_password
main: $$id-postgresql
name: POSTGRES_PASSWORD
label: PostgreSQL Password
defaultValue: $$generate_password
description: ''
showOnConfiguration: true
- id: $$config_postgres_db
main: $$id-postgresql
name: POSTGRES_DB
label: PostgreSQL Database
defaultValue: keycloak
description: ''
- templateVersion: 1.0.0
defaultVersion: '6.0'
documentation: https://hub.docker.com/r/silviof/docker-languagetool
description: A multilingual grammar, style and spell checker.
type: languagetool
name: LanguageTool
services:
$$id:
image: silviof/docker-languagetool:$$core_version
environment: []
volumes:
- $$id-ngrams:/ngrams
ports:
- '8010'
variables: []
- templateVersion: 1.0.0
defaultVersion: 3.7.6
documentation: https://github.com/freyacodes/Lavalink
description: Standalone audio sending node based on Lavaplayer.
type: lavalink
name: Lavalink
labels:
- discord
- discord bot
- audio
- lavalink
- jda
services:
$$id:
name: Lavalink
image: fredboat/lavalink:$$core_version
environment: []
volumes:
- $$id-lavalink:/lavalink
ports:
- $$config_port
files:
- location: /opt/Lavalink/application.yml
content: |-
server:
port: 2333
address: 0.0.0.0
lavalink:
server:
password: "$$secret_password"
sources:
youtube: true
bandcamp: true
soundcloud: true
twitch: true
vimeo: true
http: true
local: false
logging:
file:
path: ./logs/
level:
root: INFO
lavalink: INFO
logback:
rollingpolicy:
max-file-size: 1GB
max-history: 30
variables:
- id: $$secret_password
name: PASSWORD
label: Password
defaultValue: $$generate_password
required: true
- templateVersion: 1.0.0
defaultVersion: v1.3.10
documentation: https://github.com/LibreTranslate/LibreTranslate
description: >-
Free and Open Source Machine Translation API. 100% self-hosted, offline
capable and easy to setup.
type: libretranslate
name: Libretranslate
labels:
- translator
- argos
- python
- libretranslate
services:
$$id:
name: Libretranslate
image: libretranslate/libretranslate:$$core_version
environment:
- LT_HOST=0.0.0.0
- LT_SUGGESTIONS=true
- LT_CHAR_LIMIT=$$config_lt_char_limit
- LT_REQ_LIMIT=$$config_lt_req_limit
- LT_BATCH_LIMIT=$$config_lt_batch_limit
- LT_GA_ID=$$config_lt_ga_id
- LT_DISABLE_WEB_UI=$$config_lt_web_ui
volumes:
- $$id-libretranslate:/libretranslate
ports:
- '5000'
variables:
- id: $$config_lt_char_limit
name: LT_CHAR_LIMIT
label: Char limit
defaultValue: '5000'
description: Set character limit.
- id: $$config_lt_req_limit
name: LT_REQ_LIMIT
label: Request limit
defaultValue: '5000'
description: Set maximum number of requests per minute per client.
- id: $$config_lt_batch_limit
name: LT_BATCH_LIMIT
label: Batch Limit
defaultValue: '5000'
description: Set maximum number of texts to translate in a batch request.
- id: $$config_lt_ga_id
name: LT_GA_ID
label: Google Analytics ID
defaultValue: ''
description: Enable Google Analytics on the API client page by providing an ID
- id: $$config_lt_web_ui
name: LT_DISABLE_WEB_UI
label: Web UI
defaultValue: 'false'
description: Disable or enable web ui. True or false.
- templateVersion: 1.0.0
defaultVersion: 8.0.0
isBeta: true
documentation: https://docs.mattermost.com/
type: mattermost-postgresql
subtype: (postgresql)
name: Mattermost
description: >-
Mattermost is an open source platform for secure collaboration across the
entire software development lifecycle.
labels:
- management
- collaboration
services:
$$id:
name: Mattermost
image: mattermost/mattermost-enterprise-edition:$$core_version
security_opt:
- no-new-privileges:true
ports:
- '8065'
pids_limit: 200
volumes:
- $$id-mattermost-config:/mattermost/config:rw
- $$id-mattermost-data:/mattermost/data:rw
- $$id-mattermost-logs:/mattermost/logs:rw
- $$id-mattermost-plugins:/mattermost/plugins:rw
- $$id-mattermost-client-plugins:/mattermost/client/plugins:rw
- $$id-mattermost-bleve-indexes:/mattermost/bleve-indexes:rw
environment:
- MM_BLEVESETTINGS_INDEXDIR=/mattermost/bleve-indexes
- MM_SQLSETTINGS_DRIVERNAME=postgres
- MM_SQLSETTINGS_DATASOURCE=$$secret_db_connection_string
- MM_SERVICESETTINGS_SITEURL=$$config_mm_servicesettings_siteurl
- CALLS_PORT=$$config_calls_port
- TZ=$$config_tz
proxy:
- port: '8065'
- port: '8067'
pathPrefix: /metrics
$$id-postgresql:
name: PostgreSQL
image: postgres:13-alpine
volumes:
- $$id-postgresql-data:/var/lib/postgresql/data
environment:
- POSTGRES_USER=$$config_postgres_user
- POSTGRES_PASSWORD=$$secret_postgres_password
- POSTGRES_DB=$$config_postgres_db
variables:
- id: $$secret_db_connection_string
name: DB_CONNECTION_STRING
label: Directus Database Url
defaultValue: >-
postgresql://$$config_postgres_user:$$secret_postgres_password@$$id-postgresql:5432/$$config_postgres_db?sslmode=disable&connect_timeout=10
description: ''
- id: $$config_postgres_db
main: $$id-postgresql
name: POSTGRES_DB
label: Database
defaultValue: directus
description: ''
- id: $$config_postgres_user
main: $$id-postgresql
name: POSTGRES_USER
label: User
defaultValue: $$generate_username
description: ''
- id: $$secret_postgres_password
main: $$id-postgresql
name: POSTGRES_PASSWORD
label: Password
defaultValue: $$generate_password
description: ''
showOnConfiguration: true
- id: $$config_calls_port
name: CALLS_PORT
label: Calls Port
defaultValue: '8443'
description: ''
- id: $$config_tz
name: TZ
label: Timezone
defaultValue: UTC
- id: $$config_mm_servicesettings_siteurl
name: MM_SERVICESETTINGS_SITEURL
label: Site URL
defaultValue: $$generate_fqdn
description: ''
- templateVersion: 1.0.0
defaultVersion: v1.2.0
documentation: https://docs.meilisearch.com/learn/getting_started/quick_start.html
type: meilisearch
name: MeiliSearch
description: A lightning Fast, Ultra Relevant, and Typo-Tolerant Search Engine.
services:
$$id:
name: MeiliSearch
documentation: https://docs.meilisearch.com/
depends_on: []
image: getmeili/meilisearch:$$core_version
volumes:
- $$id-datams:/meili_data/data.ms
- $$id-data:/meili_data
- $$id-snapshot:/snapshot
- $$id-dump:/dumps
environment:
- MEILI_MASTER_KEY=$$secret_meili_master_key
ports:
- '7700'
variables:
- id: $$secret_meili_master_key
name: MEILI_MASTER_KEY
label: Master Key
defaultValue: $$generate_hex(64)
description: ''
showOnConfiguration: true
- templateVersion: 1.0.0
defaultVersion: RELEASE.2023-07-18T17-49-40Z.fips
documentation: https://min.io/docs/minio
type: minio
name: MinIO
description: A cloud storage server compatible with Amazon S3.
labels:
- storage
- s3
services:
$$id:
name: MinIO
command: server /data --console-address :9001
depends_on: []
image: minio/minio:$$core_version
volumes:
- $$id-minio-data:/data
- $$id-data-write:/files
environment:
- MINIO_SERVER_URL=$$config_coolify_fqdn_minio_console
- MINIO_BROWSER_REDIRECT_URL=$$config_minio_browser_redirect_url
- MINIO_DOMAIN=$$config_minio_domain
- MINIO_ROOT_USER=$$config_minio_root_user
- MINIO_ROOT_PASSWORD=$$secret_minio_root_password
ports:
- '9000'
- '9001'
proxy:
- port: '9000'
domain: $$config_coolify_fqdn_minio_console
- port: '9001'
variables:
- id: $$config_coolify_fqdn_minio_console
name: MINIO_SERVER_URL
label: MinIO Server URL
defaultValue: ''
description: >-
Specify the URL hostname the MinIO Console should use for connecting to
the MinIO Server.
required: true
- id: $$config_minio_browser_redirect_url
name: MINIO_BROWSER_REDIRECT_URL
label: Browser Redirect URL
defaultValue: $$generate_fqdn
description: ''
- id: $$config_minio_domain
name: MINIO_DOMAIN
label: Domain
defaultValue: $$generate_domain
description: ''
- id: $$config_minio_root_user
name: MINIO_ROOT_USER
label: Root User
defaultValue: $$generate_username
description: ''
- id: $$secret_minio_root_password
name: MINIO_ROOT_PASSWORD
label: Root User Password
defaultValue: $$generate_password
description: ''
showOnConfiguration: true
- templateVersion: 1.0.0
defaultVersion: 1.0.3
documentation: https://docs.n8n.io
type: n8n
name: n8n.io
description: A free and open node based Workflow Automation Tool.
labels:
- workflow
- automation
- ifttt
- zapier
- nodered
services:
$$id:
name: N8n
depends_on: []
image: n8nio/n8n:$$core_version
volumes:
- $$id-data:/root/.n8n
- $$id-data:/home/node/.n8n
- $$id-data-write:/files
- /var/run/docker.sock:/var/run/docker.sock
environment:
- WEBHOOK_URL=$$config_webhook_url
ports:
- '5678'
variables:
- id: $$config_webhook_url
name: WEBHOOK_URL
label: Webhook URL
defaultValue: $$generate_fqdn
description: ''
- templateVersion: 1.0.0
defaultVersion: 0.109.3
documentation: https://docs.nocodb.com
type: nocodb
name: NocoDB
description: >-
Turns any MySQL, PostgreSQL, SQL Server, SQLite & MariaDB into a
smart-spreadsheet.
labels:
- database
- airtable
- spreadsheet
services:
$$id:
name: NocoDB
image: nocodb/nocodb:$$core_version
environment:
- PORT=$$config_port
- NC_DB=$$config_nc_db
- DATABASE_URL=$$secret_database_url
- NC_PUBLIC_URL=$$config_public_url
- NC_AUTH_JWT_SECRET=$$secret_auth_jwt_secret
- NC_SENTRY_DSN=$$secret_sentry_dsn
- >-
NC_CONNECT_TO_EXTERNAL_DB_DISABLED=$$config_connect_to_external_db_disabled
- NC_DISABLE_TELE=$$config_disable_tele
volumes:
- $$id-data:/usr/app/data
ports:
- '8080'
variables:
- id: $$config_nc_db
name: NC_DB
label: Database
defaultValue: ''
description: >-
MySQL, PostgreSQL and MSSQL connection urls supported. If absent: A
local SQLite will be created in root folder.
- id: $$config_port
name: PORT
label: Port
defaultValue: '8080'
description: ''
- id: $$secret_database_url
name: DATABASE_URL
label: Database URL
defaultValue: ''
description: >-
JDBC URL Format. Can be used instead of NC_DB. Used in 1-Click Heroku
deployment.
- id: $$config_public_url
name: NC_PUBLIC_URL
label: Public URL
defaultValue: ''
description: >-
Used for sending Email invitations. If absent: Best guess from http
request params.
- id: $$secret_auth_jwt_secret
name: NC_AUTH_JWT_SECRET
label: Auth JWT Secret
defaultValue: $$generate_hex(64)
description: >-
JWT secret used for auth and storing other secrets. If absent: A Random
secret will be generated.
- id: $$secret_sentry_dsn
name: NC_SENTRY_DSN
label: Sentry DSN
defaultValue: ''
description: For Sentry monitoring.
- id: $$config_connect_to_external_db_disabled
name: NC_CONNECT_TO_EXTERNAL_DB_DISABLED
label: Disable External Database
defaultValue: '0'
description: Disable Project creation with external database. (Enter "1" to disable).
- id: $$config_disable_tele
name: NC_DISABLE_TELE
label: NocoDB Disable Telemetry
defaultValue: '1'
description: Disable telemetry (Enter "1" to disable).
- templateVersion: 1.0.0
defaultVersion: 1.1.7
documentation: https://docs.openblocks.dev/
type: openblocks
name: Openblocks
description: The Open Source Retool Alternative
services:
$$id:
image: openblocksdev/openblocks-ce:$$core_version
volumes:
- $$id-stacks-data:/openblocks-stacks
ports:
- '3000'
- templateVersion: 1.0.0
defaultVersion: v2.0.0
documentation: https://plausible.io/docs/
type: plausibleanalytics-arm
name: Plausible Analytics (ARM)
description: A lightweight and open-source website analytics tool.
labels:
- analytics
- statistics
- plausible
- gdpr
- no-cookie
- google analytics
services:
$$id:
name: Plausible Analytics
command: >-
sh -c "sleep 10 && /entrypoint.sh db createdb && /entrypoint.sh db
migrate && /entrypoint.sh db init-admin && /entrypoint.sh run"
depends_on:
- $$id-postgresql
- $$id-clickhouse
image: plausible/analytics:$$core_version
environment:
- BASE_URL=$$config_base_url
- SECRET_KEY_BASE=$$secret_secret_key_base
- DISABLE_AUTH=$$config_disable_auth
- DISABLE_REGISTRATION=$$config_disable_registration
- DATABASE_URL=$$secret_database_url
- CLICKHOUSE_DATABASE_URL=$$secret_clickhouse_database_url
- MAILER_EMAIL=$$config_mailer_email
- SMTP_HOST_ADDR=$$config_smtp_host_addr
- SMTP_HOST_PORT=$$config_smtp_host_port
- SMTP_USER_NAME=$$config_smtp_user_name
- SMTP_USER_PWD=$$config_smtp_user_pwd
- SMTP_HOST_SSL_ENABLED=$$config_smtp_host_ssl_enabled
- SMTP_HOST_RETRIES=$$config_smtp_host_retries
ports:
- '8000'
$$id-postgresql:
name: PostgreSQL
image: postgres:14-alpine
volumes:
- $$id-postgresql-data:/var/lib/postgresql/data
environment:
- POSTGRES_PASSWORD=$$secret_postgres_password
- POSTGRES_USER=$$config_postgres_user
- POSTGRES_DB=$$config_postgres_db
$$id-clickhouse:
name: Clickhouse
volumes:
- $$id-clickhouse-data:/var/lib/clickhouse
image: clickhouse/clickhouse-server:22.6-alpine
ulimits:
nofile:
soft: 262144
hard: 262144
files:
- location: /etc/clickhouse-server/users.d/logging.xml
content: 00
- location: /etc/clickhouse-server/config.d/logging.xml
content: warningtrue
- location: /docker-entrypoint-initdb.d/init.query
content: CREATE DATABASE IF NOT EXISTS plausible;
- location: /docker-entrypoint-initdb.d/init-db.sh
content: >-
clickhouse client --queries-file
/docker-entrypoint-initdb.d/init.query
variables:
- id: $$config_base_url
name: BASE_URL
label: Base URL
defaultValue: $$generate_fqdn
description: >-
You must set this to the FQDN of the Plausible Analytics instance. This
is used to generate the links to the Plausible Analytics instance.
- id: $$secret_database_url
name: DATABASE_URL
label: Database URL for PostgreSQL
defaultValue: >-
postgresql://$$config_postgres_user:$$secret_postgres_password@$$id-postgresql:5432/$$config_postgres_db
description: ''
- id: $$secret_clickhouse_database_url
name: CLICKHOUSE_DATABASE_URL
label: Database URL for Clickhouse
defaultValue: http://$$id-clickhouse:8123/plausible
description: ''
- id: $$secret_secret_key_base
name: SECRET_KEY_BASE
label: Secret Key Base
defaultValue: $$generate_hex(64)
description: ''
- id: $$config_disable_auth
name: DISABLE_AUTH
label: Authentication
defaultValue: 'false'
description: ''
- id: $$config_disable_registration
name: DISABLE_REGISTRATION
label: Registration
defaultValue: 'true'
description: ''
- id: $$config_postgres_user
main: $$id-postgresql
name: POSTGRES_USER
label: PostgreSQL Username
defaultValue: postgresql
description: ''
- id: $$secret_postgres_password
main: $$id-postgresql
name: POSTGRES_PASSWORD
label: PostgreSQL Password
defaultValue: $$generate_password
description: ''
showOnConfiguration: true
- id: $$config_postgres_db
main: $$id-postgresql
name: POSTGRES_DB
label: PostgreSQL Database
defaultValue: plausible
description: ''
- id: $$config_mailer_email
name: MAILER_EMAIL
label: Mailer Email
defaultValue: hello@plausible.local
description: >-
The email id to use for as from address of all communications from
Plausible.
- id: $$config_smtp_host_addr
name: SMTP_HOST_ADDR
label: SMTP Host Address
defaultValue: localhost
description: The host address of your smtp server.
- id: $$config_smtp_host_port
name: SMTP_HOST_PORT
label: SMTP Port
defaultValue: '25'
description: The port of your smtp server.
- id: $$config_smtp_user_name
name: SMTP_USER_NAME
label: SMTP Username
defaultValue: ''
description: The username/email in case SMTP auth is enabled.
- id: $$config_smtp_user_pwd
name: SMTP_USER_PWD
label: SMTP Password
defaultValue: ''
description: The password in case SMTP auth is enabled.
showOnConfiguration: true
- id: $$config_smtp_host_ssl_enabled
name: SMTP_HOST_SSL_ENABLED
label: SMTP SSL
defaultValue: 'false'
description: If SSL is enabled for SMTP connection.
- id: $$config_smtp_host_retries
name: SMTP_HOST_RETRIES
label: SMTP Retries
defaultValue: '2'
description: Number of retries to make until mailer gives up.
- id: $$config_scriptName
name: SCRIPT_NAME
label: Custom Script Name
defaultValue: plausible.js
description: This is the default script name.
- templateVersion: 1.0.0
defaultVersion: v2.0.0
documentation: https://plausible.io/docs/
arch: amd64
type: plausibleanalytics
name: Plausible Analytics
description: A lightweight and open-source website analytics tool.
labels:
- analytics
- statistics
- plausible
- gdpr
- no-cookie
- google analytics
services:
$$id:
name: Plausible Analytics
command: >-
sh -c "sleep 10 && /entrypoint.sh db createdb && /entrypoint.sh db
migrate && /entrypoint.sh db init-admin && /entrypoint.sh run"
depends_on:
- $$id-postgresql
- $$id-clickhouse
image: plausible/analytics:$$core_version
environment:
- BASE_URL=$$config_base_url
- SECRET_KEY_BASE=$$secret_secret_key_base
- DISABLE_AUTH=$$config_disable_auth
- DISABLE_REGISTRATION=$$config_disable_registration
- DATABASE_URL=$$secret_database_url
- CLICKHOUSE_DATABASE_URL=$$secret_clickhouse_database_url
- MAILER_EMAIL=$$config_mailer_email
- SMTP_HOST_ADDR=$$config_smtp_host_addr
- SMTP_HOST_PORT=$$config_smtp_host_port
- SMTP_USER_NAME=$$config_smtp_user_name
- SMTP_USER_PWD=$$config_smtp_user_pwd
- SMTP_HOST_SSL_ENABLED=$$config_smtp_host_ssl_enabled
- SMTP_HOST_RETRIES=$$config_smtp_host_retries
ports:
- '8000'
$$id-postgresql:
name: PostgreSQL
image: bitnami/postgresql:13
volumes:
- $$id-postgresql-data:/bitnami/postgresql
environment:
- POSTGRESQL_PASSWORD=$$secret_postgresql_password
- POSTGRESQL_USERNAME=$$config_postgresql_username
- POSTGRESQL_DATABASE=$$config_postgresql_database
$$id-clickhouse:
name: Clickhouse
volumes:
- $$id-clickhouse-data:/var/lib/clickhouse
image: clickhouse/clickhouse-server:22.6-alpine
ulimits:
nofile:
soft: 262144
hard: 262144
files:
- location: /etc/clickhouse-server/users.d/logging.xml
content: 00
- location: /etc/clickhouse-server/config.d/logging.xml
content: warningtrue
- location: /docker-entrypoint-initdb.d/init.query
content: CREATE DATABASE IF NOT EXISTS plausible;
- location: /docker-entrypoint-initdb.d/init-db.sh
content: >-
clickhouse client --queries-file
/docker-entrypoint-initdb.d/init.query
variables:
- id: $$config_base_url
name: BASE_URL
label: Base URL
defaultValue: $$generate_fqdn
description: >-
You must set this to the FQDN of the Plausible Analytics instance. This
is used to generate the links to the Plausible Analytics instance.
- id: $$secret_database_url
name: DATABASE_URL
label: Database URL for PostgreSQL
defaultValue: >-
postgresql://$$config_postgresql_username:$$secret_postgresql_password@$$id-postgresql:5432/$$config_postgresql_database
description: ''
- id: $$secret_clickhouse_database_url
name: CLICKHOUSE_DATABASE_URL
label: Database URL for Clickhouse
defaultValue: http://$$id-clickhouse:8123/plausible
description: ''
- id: $$secret_secret_key_base
name: SECRET_KEY_BASE
label: Secret Key Base
defaultValue: $$generate_hex(64)
description: ''
- id: $$config_disable_auth
name: DISABLE_AUTH
label: Authentication
defaultValue: 'false'
description: ''
- id: $$config_disable_registration
name: DISABLE_REGISTRATION
label: Registration
defaultValue: 'true'
description: ''
- id: $$config_postgresql_username
main: $$id-postgresql
name: POSTGRESQL_USERNAME
label: PostgreSQL Username
defaultValue: postgresql
description: ''
- id: $$secret_postgresql_password
main: $$id-postgresql
name: POSTGRESQL_PASSWORD
label: PostgreSQL Password
defaultValue: $$generate_password
description: ''
showOnConfiguration: true
- id: $$config_postgresql_database
main: $$id-postgresql
name: POSTGRESQL_DATABASE
label: PostgreSQL Database
defaultValue: plausible
description: ''
- id: $$config_mailer_email
name: MAILER_EMAIL
label: Mailer Email
defaultValue: hello@plausible.local
description: >-
The email id to use for as from address of all communications from
Plausible.
- id: $$config_smtp_host_addr
name: SMTP_HOST_ADDR
label: SMTP Host Address
defaultValue: localhost
description: The host address of your smtp server.
- id: $$config_smtp_host_port
name: SMTP_HOST_PORT
label: SMTP Port
defaultValue: '25'
description: The port of your smtp server.
- id: $$config_smtp_user_name
name: SMTP_USER_NAME
label: SMTP Username
defaultValue: ''
description: The username/email in case SMTP auth is enabled.
- id: $$config_smtp_user_pwd
name: SMTP_USER_PWD
label: SMTP Password
defaultValue: ''
description: The password in case SMTP auth is enabled.
showOnConfiguration: true
- id: $$config_smtp_host_ssl_enabled
name: SMTP_HOST_SSL_ENABLED
label: SMTP SSL
defaultValue: 'false'
description: If SSL is enabled for SMTP connection.
- id: $$config_smtp_host_retries
name: SMTP_HOST_RETRIES
label: SMTP Retries
defaultValue: '2'
description: Number of retries to make until mailer gives up.
- id: $$config_scriptName
name: SCRIPT_NAME
label: Custom Script Name
defaultValue: plausible.js
description: This is the default script name.
- templateVersion: 1.0.0
defaultVersion: 0.16.10
documentation: https://pocketbase.io/docs/
type: pocketbase
name: Pocketbase
description: Open Source realtime backend in 1 file
services:
$$id:
image: ghcr.io/coollabsio/pocketbase:$$core_version
volumes:
- $$id-data:/app/pb_data
ports:
- '8080'
- templateVersion: 1.0.0
defaultVersion: 1.3.6
documentation: https://repman.io/
type: repman-postgresql
name: Repman
isBeta: true
subname: (postgresql)
description: Free and Open Source PHP Repository Manager
labels:
- php
- composer
- repository
services:
$$id-app:
name: Repman
depends_on:
- $$id-postgresql
image: buddy/repman:$$core_version
sysctls:
net.core.somaxconn: 2048
command: >
bash -c 'bin/console d:m:m --no-interaction && bin/console
messenger:setup-transports --no-interaction && bin/console
repman:security:update-db && bin/console assets:install && php-fpm'
volumes:
- $$id-app-public:/app/public
- $$id-app-var:/app/var
environment:
- APP_HOST=$$config_app_host
- APP_DEBUG=$$config_app_debug
- MAILER_DSN=$$config_mailer_dsn
- MAILER_SENDER=$$config_mailer_sender
- DATABASE_URL=$$secret_database_url
- APP_DOMAIN_SEPARATOR=$$config_app_domain_separator
- APP_ORGANIZATION_SEPARATOR=$$config_app_organization_separator
- APP_ALLOWED_PACKAGE_TYPES=$$config_app_allowed_package_types
- OAUTH_GITHUB_CLIENT_ID=$$secret_ouath_github_client_id
- OAUTH_GITHUB_CLIENT_SECRET=$$secret_ouath_github_client_secret
- OAUTH_GITLAB_CLIENT_ID=$$secret_ouath_gitlab_client_id
- OAUTH_GITLAB_CLIENT_SECRET=$$secret_ouath_gitlab_client_secret
- OAUTH_BITBUCKET_CLIENT_ID=$$secret_ouath_bitbucket_client_id
- OAUTH_BITBUCKET_CLIENT_SECRET=$$secret_ouath_bitbucket_client_secret
- OAUTH_BUDDY_CLIENT_ID=$$secret_ouath_buddy_client_id
- OAUTH_BUDDY_CLIENT_SECRET=$$secret_ouath_buddy_client_secret
proxy:
- port: '9000'
domain: repo.$$config_app_host
$$id-consumer:
name: Repman Consumer
depends_on:
- $$id-postgresql
image: buddy/repman:$$core_version
command:
- bin/console
- messenger:consume
- async
- '--limit=500'
volumes:
- $$id-app-var:/app/var
environment:
- APP_HOST=$$config_app_host
- APP_DEBUG=$$config_app_debug
- MAILER_DSN=$$config_mailer_dsn
- MAILER_SENDER=$$config_mailer_sender
- DATABASE_URL=$$secret_database_url
- APP_DOMAIN_SEPARATOR=$$config_app_domain_separator
- APP_ORGANIZATION_SEPARATOR=$$config_app_organization_separator
- APP_ALLOWED_PACKAGE_TYPES=$$config_app_allowed_package_types
- OAUTH_GITHUB_CLIENT_ID=$$secret_ouath_github_client_id
- OAUTH_GITHUB_CLIENT_SECRET=$$secret_ouath_github_client_secret
- OAUTH_GITLAB_CLIENT_ID=$$secret_ouath_gitlab_client_id
- OAUTH_GITLAB_CLIENT_SECRET=$$secret_ouath_gitlab_client_secret
- OAUTH_BITBUCKET_CLIENT_ID=$$secret_ouath_bitbucket_client_id
- OAUTH_BITBUCKET_CLIENT_SECRET=$$secret_ouath_bitbucket_client_secret
- OAUTH_BUDDY_CLIENT_ID=$$secret_ouath_buddy_client_id
- OAUTH_BUDDY_CLIENT_SECRET=$$secret_ouath_buddy_client_secret
$$id-cron:
name: Repman Cron
depends_on:
- $$id-postgresql
image: buddy/repman:$$core_version
command:
- crond
- '-f'
- '-L'
- /app/var/log/cron.log
volumes:
- $$id-app-var:/app/var
environment:
- APP_HOST=$$config_app_host
- APP_DEBUG=$$config_app_debug
- MAILER_DSN=$$config_mailer_dsn
- MAILER_SENDER=$$config_mailer_sender
- DATABASE_URL=$$secret_database_url
- APP_DOMAIN_SEPARATOR=$$config_app_domain_separator
- APP_ORGANIZATION_SEPARATOR=$$config_app_organization_separator
- APP_ALLOWED_PACKAGE_TYPES=$$config_app_allowed_package_types
- OAUTH_GITHUB_CLIENT_ID=$$secret_ouath_github_client_id
- OAUTH_GITHUB_CLIENT_SECRET=$$secret_ouath_github_client_secret
- OAUTH_GITLAB_CLIENT_ID=$$secret_ouath_gitlab_client_id
- OAUTH_GITLAB_CLIENT_SECRET=$$secret_ouath_gitlab_client_secret
- OAUTH_BITBUCKET_CLIENT_ID=$$secret_ouath_bitbucket_client_id
- OAUTH_BITBUCKET_CLIENT_SECRET=$$secret_ouath_bitbucket_client_secret
- OAUTH_BUDDY_CLIENT_ID=$$secret_ouath_buddy_client_id
- OAUTH_BUDDY_CLIENT_SECRET=$$secret_ouath_buddy_client_secret
files:
- location: /var/spool/cron/crontabs
content: >-
*/5 * * * * /app/bin/console repman:proxy:sync-releases */6 * * * *
/app/bin/console repman:proxy:sync-metadata 0 */2 * * *
/app/bin/console repman:security:update-db 0 1 * * *
/app/bin/console repman:package:clear-old-dists
$$id-postgresql:
name: PostgreSQL
image: postgres:14-alpine
volumes:
- $$id-postgresql-data:/var/lib/postgresql/data
environment:
- POSTGRES_PASSWORD=$$secret_postgres_password
- POSTGRES_USER=$$config_postgres_user
- POSTGRES_DB=$$config_postgres_db
$$id:
name: Nginx Proxy
image: nginx:1.17-alpine
depends_on:
- $$id-app
ports:
- '80'
proxy:
- port: '80'
domain: $$config_app_host
volumes:
- $$id-app-public:/app/public
files:
- location: /etc/nginx/conf.d/default.conf
content: |-
server {
listen 80;
root /app/public;
index index.php index.html;
server_name $$config_app_host;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass $$id-app:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
}
}
variables:
- id: $$config_app_host
main: $$id-app
name: APP_HOST
label: App Host
defaultValue: $$generate_domain
description: ''
- id: $$config_app_debug
main: $$id-app
name: APP_DEBUG
label: App Debug
defaultValue: '0'
description: 0 - debugging disabled
1 - debugging enabled
- id: $$config_app_domain_separator
main: $$id-app
name: APP_DOMAIN_SEPARATOR
label: App Domain Separator
defaultValue: .
description: ''
- id: $$config_app_organization_separator
main: $$id-app
name: APP_ORGANIZATION_SEPARATOR
label: App Organization Separator
defaultValue: .
description: ''
- id: $$config_app_allowed_package_types
main: $$id-app
name: APP_ALLOWED_PACKAGE_TYPES
label: List of Allowed Packages Types
defaultValue: git,github,gitlab,bitbucket,subversion,mercurial,pear,artifact,path
description: ''
- id: $$secret_ouath_github_client_id
main: $$id-app
name: OAUTH_GITHUB_CLIENT_ID
label: GITHUB OAuth Client ID
defaultValue: ''
description: ''
- id: $$secret_ouath_github_client_secret
main: $$id-app
name: OAUTH_GITHUB_CLIENT_SECRET
label: GITHUB OAuth Client Secret
defaultValue: ''
description: ''
- id: $$secret_ouath_gitlab_client_id
main: $$id-app
name: OAUTH_GITLAB_CLIENT_ID
label: GITLAB OAuth Client ID
defaultValue: ''
description: ''
- id: $$secret_ouath_gitlab_client_secret
main: $$id-app
name: OAUTH_GITLAB_CLIENT_SECRET
label: GITLAB OAuth Client Secret
defaultValue: ''
description: ''
- id: $$secret_ouath_bitbucket_client_id
main: $$id-app
name: OAUTH_BITBUCKET_CLIENT_ID
label: BITBUCKET OAuth Client ID
defaultValue: ''
description: ''
- id: $$secret_ouath_bitbucket_client_secret
main: $$id-app
name: OAUTH_BITBUCKET_CLIENT_SECRET
label: BITBUCKET OAuth Client Secret
defaultValue: ''
description: ''
- id: $$secret_ouath_buddy_client_id
main: $$id-app
name: OAUTH_BUDDY_CLIENT_ID
label: BUDDY OAuth Client ID
defaultValue: ''
description: ''
- id: $$secret_ouath_buddy_client_secret
main: $$id-app
name: OAUTH_BUDDY_CLIENT_SECRET
label: BUDDY OAuth Client Secret
defaultValue: ''
description: ''
- id: $$config_mailer_dsn
main: $$id-app
name: MAILER_DSN
label: Mailer DSN
defaultValue: smtp://mailhog:1025
description: ''
- id: $$config_mailer_sender
main: $$id-app
name: MAILER_SENDER
label: Mailer Sender
defaultValue: repman@buddy.works
description: ''
- id: $$secret_database_url
name: DATABASE_URL
label: Database URL for PostgreSQL
defaultValue: >-
postgresql://$$config_postgres_user:$$secret_postgres_password@$$id-postgresql:5432/$$config_postgres_db
description: ''
- id: $$config_postgres_user
main: $$id-postgresql
name: POSTGRES_USER
label: PostgreSQL Username
defaultValue: postgresql
description: ''
- id: $$secret_postgres_password
main: $$id-postgresql
name: POSTGRES_PASSWORD
label: PostgreSQL Password
defaultValue: $$generate_password
description: ''
showOnConfiguration: true
- id: $$config_postgres_db
main: $$id-postgresql
name: POSTGRES_DB
label: PostgreSQL Database
defaultValue: repman
description: ''
- templateVersion: 1.0.0
defaultVersion: 2023.7.19-a446dea1
documentation: https://docs.searxng.org/
type: searxng
name: SearXNG
description: >-
Free internet metasearch engine which aggregates results from more than 70
search services.
services:
$$id:
name: SearXNG
depends_on:
- $$id-redis
image: searxng/searxng:$$core_version
volumes:
- $$id-searxng:/etc/searxng
environment:
- SEARXNG_BASE_URL=$$config_searxng_base_url
ports:
- '8080'
cap_drop:
- ALL
cap_add:
- CHOWN
- SETGID
- SETUID
- DAC_OVERRIDE
files:
- location: /etc/searxng/settings.yml
content: |2-
# see https://docs.searxng.org/admin/engines/settings.html#use-default-settings
use_default_settings: true
server:
secret_key: $$secret_secret_key
limiter: true
image_proxy: true
ui:
static_use_hash: true
redis:
url: redis://:$$secret_redis_password@$$id-redis:6379/0
$$id-redis:
name: Redis
command: >-
redis-server --requirepass $$secret_redis_password --save ""
--appendonly "no"
depends_on: []
image: redis:7-alpine
volumes:
- $$id-redis-data:/data
environment:
- REDIS_PASSWORD=$$secret_redis_password
ports: []
cap_drop:
- ALL
cap_add:
- SETGID
- SETUID
- DAC_OVERRIDE
variables:
- id: $$config_searxng_base_url
name: SEARXNG_BASE_URL
label: SearXNG Base URL
defaultValue: $$generate_fqdn
description: ''
- id: $$secret_secret_key
name: SECRET_KEY
label: Secret Key
defaultValue: $$generate_hex(64)
description: ''
- id: $$secret_redis_password
name: REDIS_PASSWORD
label: Redis Password
defaultValue: $$generate_password
description: ''
- templateVersion: 1.0.0
defaultVersion: latest-16-distroless
documentation: https://docs.soketi.app/
isBeta: true
type: soketi-only
subtype: (Without DB)
name: Soketi
description: >-
Simple, fast, and resilient open-source WebSockets server as Pusher
replacement.
labels:
- pusher
- websockets
services:
$$id:
name: Soketi
image: quay.io/soketi/soketi:$$core_version
ports:
- '6001'
environment:
- SOKETI_DEBUG=$$config_soketi_debug
- SOKETI_METRICS_ENABLED=$$config_soketi_metrics_enabled
- SOKETI_DEFAULT_APP_ID=$$secret_soketi_default_app_id
- SOKETI_DEFAULT_APP_KEY=$$secret_soketi_default_app_key
- SOKETI_DEFAULT_APP_SECRET=$$secret_soketi_default_app_secret
- SOKETI_DEFAULT_APP_MAX_CONNS=$$config_soketi_default_app_max_conns
- >-
SOKETI_DEFAULT_APP_ENABLE_CLIENT_MESSAGES=$$config_soketi_default_app_enable_client_messages
- >-
SOKETI_DEFAULT_APP_USER_AUTHENTICATION=$$config_soketi_default_app_user_authentication
proxy:
- port: '6001'
- port: '9601'
domain: $$config_metrics_url
variables:
- id: $$config_metrics_url
name: METRICS_URL
label: Metrics URL
defaultValue: ''
description: ''
- id: $$config_soketi_debug
name: SOKETI_DEBUG
label: Debug
defaultValue: '0'
description: 0 - debugging disabled
1 - debugging enabled
- id: $$config_soketi_metrics_enabled
name: SOKETI_METRICS_ENABLED
label: Metrics Enabled
defaultValue: '0'
description: 0 - metrics disabled
1 - metrics enabled
- id: $$secret_soketi_default_app_id
required: true
name: SOKETI_DEFAULT_APP_ID
label: ID
defaultValue: $$generate_password
description: The default app ID for the array driver.
showOnConfiguration: true
- id: $$secret_soketi_default_app_key
required: true
name: SOKETI_DEFAULT_APP_KEY
label: Key
defaultValue: $$generate_password
description: The default app key for the array driver.
showOnConfiguration: true
- id: $$secret_soketi_default_app_secret
required: true
name: SOKETI_DEFAULT_APP_SECRET
label: Secret
defaultValue: $$generate_password
description: The default app secret for the array driver.
showOnConfiguration: true
- id: $$config_soketi_default_app_max_conns
name: SOKETI_DEFAULT_APP_MAX_CONNS
label: Max Connections
defaultValue: '-1'
description: The default app's limit of concurrent connections.
- id: $$config_soketi_default_app_enable_client_messages
name: SOKETI_DEFAULT_APP_ENABLE_CLIENT_MESSAGES
label: Enabled Client Messages
defaultValue: 'false'
description: false - client messages disabled, true - client messages enabled
- id: $$config_soketi_default_app_user_authentication
name: SOKETI_DEFAULT_APP_USER_AUTHENTICATION
label: User Authentication
defaultValue: 'true'
description: false - user auth disabled, true - user auth enabled
- templateVersion: 1.0.0
defaultVersion: 0.60.3
documentation: https://hub.docker.com/r/zadam/trilium
description: >-
A hierarchical note taking application with focus on building large personal
knowledge bases.
labels:
- personal
- knowledge
- notes
- wiki
type: trilium
name: Trilium Notes
services:
$$id:
image: zadam/trilium:$$core_version
environment: []
volumes:
- $$id-trilium:/home/node/trilium-data
ports:
- '8080'
variables: []
- templateVersion: 1.0.0
defaultVersion: postgresql-v2.3.0
documentation: https://umami.is/docs/getting-started
type: umami-postgresql
name: Umami
subname: (PostgreSQL)
description: A simple, easy to use, self-hosted web analytics solution.
services:
$$id:
name: Umami
depends_on:
- $$id-postgresql
image: ghcr.io/umami-software/umami:$$core_version
volumes: []
environment:
- ADMIN_PASSWORD=$$secret_admin_password
- DATABASE_URL=$$secret_database_url
- DATABASE_TYPE=$$config_database_type
- HASH_SALT=$$secret_hash_salt
ports:
- '3000'
$$id-postgresql:
name: PostgreSQL
depends_on: []
image: postgres:12-alpine
volumes:
- $$id-postgresql-data:/var/lib/postgresql/data
environment:
- POSTGRES_USER=$$config_postgres_user
- POSTGRES_PASSWORD=$$secret_postgres_password
- POSTGRES_DB=$$config_postgres_db
ports: []
variables:
- id: $$secret_database_url
name: DATABASE_URL
label: Database URL for PostgreSQL
defaultValue: >-
postgresql://$$config_postgres_user:$$secret_postgres_password@$$id-postgresql:5432/$$config_postgres_db
description: ''
- id: $$secret_hash_salt
name: HASH_SALT
label: Hash Salt
defaultValue: $$generate_hex(64)
description: ''
- id: $$config_database_type
name: DATABASE_TYPE
label: Database Type
defaultValue: postgresql
description: ''
- id: $$config_postgres_user
name: POSTGRES_USER
label: PostgreSQL User
defaultValue: $$generate_username
description: ''
- id: $$secret_postgres_password
name: POSTGRES_PASSWORD
label: PostgreSQL Password
defaultValue: $$generate_password
description: ''
- id: $$config_postgres_db
name: POSTGRES_DB
label: PostgreSQL Database
defaultValue: umami
description: ''
- id: $$secret_admin_password
name: ADMIN_PASSWORD
label: Initial Admin Password
defaultValue: $$generate_password
description: ''
showOnConfiguration: true
- templateVersion: 1.0.0
ignore: true
defaultVersion: postgresql-v2.3.0
documentation: https://umami.is/docs/getting-started
type: umami
name: Umami
subname: (PostgreSQL)
description: A simple, easy to use, self-hosted web analytics solution.
services:
$$id:
name: Umami
depends_on:
- $$id-postgresql
image: ghcr.io/umami-software/umami:$$core_version
volumes: []
environment:
- ADMIN_PASSWORD=$$secret_admin_password
- DATABASE_URL=$$secret_database_url
- DATABASE_TYPE=$$config_database_type
- HASH_SALT=$$secret_hash_salt
ports:
- '3000'
$$id-postgresql:
name: PostgreSQL
depends_on: []
image: postgres:12-alpine
volumes:
- $$id-postgresql-data:/var/lib/postgresql/data
environment:
- POSTGRES_USER=$$config_postgres_user
- POSTGRES_PASSWORD=$$secret_postgres_password
- POSTGRES_DB=$$config_postgres_db
ports: []
variables:
- id: $$secret_database_url
name: DATABASE_URL
label: Database URL for PostgreSQL
defaultValue: >-
postgresql://$$config_postgres_user:$$secret_postgres_password@$$id-postgresql:5432/$$config_postgres_db
description: ''
- id: $$secret_hash_salt
name: HASH_SALT
label: Hash Salt
defaultValue: $$generate_hex(64)
description: ''
- id: $$config_database_type
name: DATABASE_TYPE
label: Database Type
defaultValue: postgresql
description: ''
- id: $$config_postgres_user
name: POSTGRES_USER
label: PostgreSQL User
defaultValue: $$generate_username
description: ''
- id: $$secret_postgres_password
name: POSTGRES_PASSWORD
label: PostgreSQL Password
defaultValue: $$generate_password
description: ''
- id: $$config_postgres_db
name: POSTGRES_DB
label: PostgreSQL Database
defaultValue: umami
description: ''
- id: $$secret_admin_password
name: ADMIN_PASSWORD
label: Initial Admin Password
defaultValue: $$generate_password
description: ''
showOnConfiguration: true
- templateVersion: 1.0.0
defaultVersion: 1.22.1
documentation: https://hub.docker.com/r/louislam/uptime-kuma
description: A free & fancy self-hosted monitoring tool.
labels:
- uptime
type: uptimekuma
name: UptimeKuma
services:
$$id:
image: louislam/uptime-kuma:$$core_version
environment: []
volumes:
- $$id-uptimekuma:/app/data
ports:
- '3001'
variables: []
- templateVersion: 1.0.0
defaultVersion: 1.29.0
documentation: https://hub.docker.com/r/vaultwarden/server
description: Bitwarden compatible server written in Rust.
type: vaultwarden
name: VaultWarden
labels:
- bitwarden
- password manager
services:
$$id:
image: vaultwarden/server:$$core_version
environment: []
volumes:
- $$id-data:/data
ports:
- '80'
variables: []
- templateVersion: 1.0.0
defaultVersion: 4.14.1
documentation: https://coder.com/docs/coder-oss/latest
type: vscodeserver
name: VSCode Server
description: Visual Studio Code on a remote server, accessible through the browser.
labels:
- vscode
- ide
services:
$$id:
name: VSCode Server
depends_on: []
image: codercom/code-server:$$core_version
volumes:
- $$id-vscodeserver-data:/home/coder
- $$id-keys-directory:/root/.ssh
- $$id-theme-and-plugin-directory:/root/.local/share/code-server
environment:
- PASSWORD=$$secret_password
ports:
- '8080'
variables:
- id: $$secret_password
name: PASSWORD
label: Password
defaultValue: $$generate_password
description: ''
showOnConfiguration: true
- templateVersion: 1.0.0
defaultVersion: edge-2023-07-19-cc134e3a77d56e6dceba943131dabee1237c85c8
documentation: https://docs.weblate.org/en/latest/admin/install/docker.html
description: A copylefted libre software web-based continuous localization system.
type: weblate
name: Weblate
labels:
- translate
- localization
services:
$$id:
name: Weblate
depends_on:
- $$id-postgresql
- $$id-redis
image: weblate/weblate:$$core_version
volumes:
- $$id-data:/app/data
environment:
- WEBLATE_SITE_DOMAIN=$$config_weblate_site_domain
- WEBLATE_ADMIN_PASSWORD=$$secret_weblate_admin_password
- POSTGRES_PASSWORD=$$secret_postgres_password
- POSTGRES_USER=$$config_postgres_user
- POSTGRES_DATABASE=$$config_postgres_db
- POSTGRES_HOST=$$id-postgresql
- POSTGRES_PORT=5432
- REDIS_HOST=$$id-redis
ports:
- '8080'
$$id-postgresql:
name: PostgreSQL
depends_on: []
image: postgres:14-alpine
volumes:
- $$id-postgresql-data:/var/lib/postgresql/data
environment:
- POSTGRES_USER=$$config_postgres_user
- POSTGRES_PASSWORD=$$secret_postgres_password
- POSTGRES_DB=$$config_postgres_db
ports: []
$$id-redis:
name: Redis
depends_on: []
image: redis:7-alpine
volumes:
- $$id-redis-data:/data
environment: []
ports: []
variables:
- id: $$config_weblate_site_domain
name: WEBLATE_SITE_DOMAIN
label: Weblate Domain
defaultValue: $$generate_domain
description: ''
- id: $$secret_weblate_admin_password
name: WEBLATE_ADMIN_PASSWORD
label: Weblate Admin Password
defaultValue: $$generate_password
description: ''
showOnConfiguration: true
- id: $$config_postgres_user
main: $$id-postgresql
name: POSTGRES_USER
label: PostgreSQL User
defaultValue: $$generate_username
description: ''
- id: $$secret_postgres_password
main: $$id-postgresql
name: POSTGRES_PASSWORD
label: PostgreSQL Password
defaultValue: $$generate_password
description: ''
showOnConfiguration: true
- id: $$config_postgres_db
main: $$id-postgresql
name: POSTGRES_DB
label: PostgreSQL Database
defaultValue: weblate
description: ''
- templateVersion: 1.0.0
defaultVersion: 0.8.2
documentation: https://github.com/benbusby/whoogle-search
type: whoogle
name: Whoogle Search
description: A self-hosted, ad-free, privacy-respecting metasearch engine
labels:
- search
- google
services:
$$id:
name: Whoogle Search
documentation: https://github.com/benbusby/whoogle-search
depends_on: []
image: benbusby/whoogle-search:$$core_version
cap_drop:
- ALL
environment:
- WHOOGLE_USER=$$config_whoogle_username
- WHOOGLE_PASS=$$secret_whoogle_password
- WHOOGLE_CONFIG_PREFERENCES_KEY=$$secret_whoogle_preferences_key
ulimits:
nofile:
soft: 262144
hard: 262144
ports:
- '5000'
variables:
- id: $$config_whoogle_username
name: WHOOGLE_USER
label: Whoogle User
defaultValue: $$generate_username
description: Username to log into Whoogle
- id: $$secret_whoogle_password
name: WHOOGLE_PASSWORD
label: Whoogle Password
defaultValue: $$generate_password
description: Password to log into Whoogle
showOnConfiguration: true
- id: $$secret_whoogle_preferences_key
name: WHOOGLE_CONFIG_PREFERENCES_KEY
label: Whoogle preferences key
defaultValue: $$generate_password
description: password to encrypt preferences
- templateVersion: 1.0.0
defaultVersion: php8.2
documentation: https://wordpress.org/
type: wordpress-only
name: WordPress
subname: (without DB)
description: A content management system based on PHP.
labels:
- wordpress
- php
- cms
services:
$$id:
name: WordPress
image: wordpress:$$core_version
volumes:
- $$id-wordpress-data:/var/www/html
environment:
- WORDPRESS_DB_HOST=$$config_wordpress_db_host
- WORDPRESS_DB_PORT=$$config_wordpress_db_port
- WORDPRESS_DB_USER=$$config_wordpress_db_user
- WORDPRESS_DB_PASSWORD=$$secret_wordpress_db_password
- WORDPRESS_DB_NAME=$$config_wordpress_db_name
- WORDPRESS_CONFIG_EXTRA=$$config_wordpress_config_extra
ports:
- '80'
variables:
- id: $$config_wordpress_db_host
name: WORDPRESS_DB_HOST
label: Database Host
defaultValue: ''
description: ''
placeholder: db.coollabs.io
required: true
- id: $$config_wordpress_db_port
name: WORDPRESS_DB_PORT
label: Database Port
defaultValue: ''
description: ''
placeholder: '3306'
required: true
- id: $$config_wordpress_db_user
name: WORDPRESS_DB_USER
label: Database User
defaultValue: ''
description: ''
placeholder: wordpress
required: true
- id: $$secret_wordpress_db_password
name: WORDPRESS_DB_PASSWORD
label: Database Password
defaultValue: ''
description: ''
placeholder: supers3cr3tpassw0rd!
required: true
showOnConfiguration: true
- id: $$config_wordpress_db_name
name: WORDPRESS_DB_NAME
label: Database Name
defaultValue: ''
description: ''
placeholder: wordpress
required: true
- id: $$config_wordpress_config_extra
name: WORDPRESS_CONFIG_EXTRA
label: Extra Config
defaultValue: ''
description: ''
type: textarea
placeholder: |
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
@ini_set('display_errors', 0);
- templateVersion: 1.0.0
defaultVersion: php8.2
documentation: https://wordpress.org/
type: wordpress
name: WordPress
subname: (MySQL)
description: A content management system based on PHP.
labels:
- wordpress
- php
- cms
services:
$$id:
name: WordPress
depends_on:
- $$id-mysql
image: wordpress:$$core_version
volumes:
- $$id-wordpress-data:/var/www/html
environment:
- WORDPRESS_DB_HOST=$$config_wordpress_db_host
- WORDPRESS_DB_USER=$$config_mysql_user
- WORDPRESS_DB_PASSWORD=$$secret_mysql_password
- WORDPRESS_DB_NAME=$$config_mysql_database
- WORDPRESS_CONFIG_EXTRA=$$config_wordpress_config_extra
ports:
- '80'
$$id-mysql:
name: MySQL
depends_on: []
image: bitnami/mysql:5.7
imageArm: mysql:8.0
volumes:
- $$id-mysql-data:/bitnami/mysql/data
volumesArm:
- $$id-mysql-data:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=$$secret_mysql_root_password
- MYSQL_ROOT_USER=$$config_mysql_root_user
- MYSQL_DATABASE=$$config_mysql_database
- MYSQL_USER=$$config_mysql_user
- MYSQL_PASSWORD=$$secret_mysql_password
variables:
- id: $$config_wordpress_db_host
name: WORDPRESS_DB_HOST
label: Database Host
defaultValue: $$id-mysql
description: ''
readOnly: true
- id: $$config_wordpress_config_extra
name: WORDPRESS_CONFIG_EXTRA
label: WordPress Config Extra
defaultValue: ''
description: ''
type: textarea
placeholder: |
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
@ini_set('display_errors', 0);
- id: $$secret_mysql_root_password
name: MYSQL_ROOT_PASSWORD
label: MySQL Root Password
defaultValue: $$generate_password
description: ''
readOnly: true
- id: $$config_mysql_root_user
name: MYSQL_ROOT_USER
label: MySQL Root User
defaultValue: $$generate_username
description: ''
readOnly: true
- id: $$config_mysql_database
name: MYSQL_DATABASE
label: MySQL Database
defaultValue: wordpress
description: ''
readOnly: true
- id: $$config_mysql_user
name: MYSQL_USER
label: MySQL User
defaultValue: $$generate_username
description: ''
readOnly: true
- id: $$secret_mysql_password
name: MYSQL_PASSWORD
label: MySQL Password
defaultValue: $$generate_password
description: ''
readOnly: true