mirror of
https://github.com/ershisan99/coolify.git
synced 2025-12-16 20:49:28 +00:00
3835 lines
136 KiB
YAML
3835 lines
136 KiB
YAML
- 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: <clickhouse><profiles><default><log_queries>0</log_queries><log_query_threads>0</log_query_threads></default></profiles></clickhouse>
|
|
- location: /etc/clickhouse-server/config.d/logging.xml
|
|
content: <clickhouse><logger><level>warning</level><console>true</console></logger><query_thread_log remove="remove"/><query_log remove="remove"/><text_log remove="remove"/><trace_log remove="remove"/><metric_log remove="remove"/><asynchronous_metric_log remove="remove"/><session_log remove="remove"/><part_log remove="remove"/></clickhouse>
|
|
- 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: <clickhouse><profiles><default><log_queries>0</log_queries><log_query_threads>0</log_query_threads></default></profiles></clickhouse>
|
|
- location: /etc/clickhouse-server/config.d/logging.xml
|
|
content: <clickhouse><logger><level>warning</level><console>true</console></logger><query_thread_log remove="remove"/><query_log remove="remove"/><text_log remove="remove"/><trace_log remove="remove"/><metric_log remove="remove"/><asynchronous_metric_log remove="remove"/><session_log remove="remove"/><part_log remove="remove"/></clickhouse>
|
|
- 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<br>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<br>1 - debugging enabled
|
|
- id: $$config_soketi_metrics_enabled
|
|
name: SOKETI_METRICS_ENABLED
|
|
label: Metrics Enabled
|
|
defaultValue: '0'
|
|
description: 0 - metrics disabled<br>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
|