2274 lines
93 KiB
YAML
2274 lines
93 KiB
YAML
- templateVersion: 1.0.0
|
|
defaultVersion: 1.0.3
|
|
name: Appwrite
|
|
documentation: https://appwrite.io/docs
|
|
description: Secure Backend Server for Web, Mobile & Flutter Developers.
|
|
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=$$generate_fqdn
|
|
- _APP_DOMAIN_TARGET=$$generate_fqdn
|
|
- _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"
|
|
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=$$generate_fqdn
|
|
- _APP_DOMAIN_TARGET=$$generate_fqdn
|
|
- _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-timeseries":
|
|
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=$$generate_fqdn
|
|
- _APP_DOMAIN_TARGET=$$generate_fqdn
|
|
- _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: "$$secret__app_db_root_pass"
|
|
name: MARIADB_ROOT_PASSWORD
|
|
label: MariaDB | _APP_DB_ROOT_PASS
|
|
defaultValue: "$$generate_hex(16)"
|
|
description: MariaDB server root password.
|
|
- id: "$$config__app_db_schema"
|
|
name: MARIADB_DATABASE
|
|
label: MariaDB | _APP_DB_SCHEMA
|
|
defaultValue: appwrite
|
|
description: MariaDB server database schema.
|
|
- id: "$$config__app_db_user"
|
|
name: MARIADB_USER
|
|
label: MariaDB | _APP_DB_USER
|
|
defaultValue: user
|
|
description: MariaDB server user name.
|
|
- id: "$$secret__app_db_pass"
|
|
name: MARIADB_PASSWORD
|
|
label: MariaDB | _APP_DB_PASS
|
|
defaultValue: "$$generate_hex(16)"
|
|
description: MariaDB server user password.
|
|
- 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: "$$generate_fqdn"
|
|
name: _APP_DOMAIN
|
|
label: General | _APP_DOMAIN
|
|
defaultValue: localhost
|
|
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: "$$generate_fqdn"
|
|
name: _APP_DOMAIN_TARGET
|
|
label: General | _APP_DOMAIN_TARGET
|
|
defaultValue: localhost
|
|
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_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: latest
|
|
name: Weblate
|
|
description: ''
|
|
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: ''
|
|
showOnUI: 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: ''
|
|
showOnUI: true
|
|
- id: $$config_postgres_db
|
|
main: $$id-postgresql
|
|
name: POSTGRES_DB
|
|
label: PostgreSQL Database
|
|
defaultValue: weblate
|
|
description: ''
|
|
- templateVersion: 1.0.0
|
|
defaultVersion: 2022.10.14-1a5b0965
|
|
name: SearXNG
|
|
description: ''
|
|
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:
|
|
- source: $$workdir/settings.yml
|
|
destination: /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: v2.0.6
|
|
name: GlitchTip
|
|
description: ''
|
|
services:
|
|
$$id:
|
|
name: GlitchTip
|
|
depends_on:
|
|
- $$id-postgresql
|
|
- $$id-redis
|
|
image: 'glitchtip/glitchtip:$$core_version'
|
|
volumes: []
|
|
environment:
|
|
- PORT=3000
|
|
- 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_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
|
|
ports:
|
|
- '8000'
|
|
$$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: []
|
|
$$id-redis:
|
|
name: Redis
|
|
depends_on: []
|
|
image: 'redis:7-alpine'
|
|
volumes:
|
|
- '$$id-postgresql-redis-data:/data'
|
|
environment: []
|
|
ports: []
|
|
variables:
|
|
- id: $$config_glitchtip_domain
|
|
name: GLITCHTIP_DOMAIN
|
|
label: GlitchTip Domain
|
|
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
|
|
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: ''
|
|
- id: $$secret_sendgrid_api_key
|
|
name: SENDGRID_API_KEY
|
|
label: Sendgrid API Key
|
|
defaultValue: ''
|
|
description: ''
|
|
- 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: ''
|
|
description: ''
|
|
- id: $$config_django_superuser_username
|
|
name: DJANGO_SUPERUSER_USERNAME
|
|
label: Django Superuser Username
|
|
defaultValue: ''
|
|
description: ''
|
|
- id: $$secret_django_superuser_password
|
|
name: DJANGO_SUPERUSER_PASSWORD
|
|
label: Django Superuser Password
|
|
defaultValue: $$generate_password
|
|
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: ''
|
|
description: ''
|
|
- id: $$config_postgres_db
|
|
main: $$id-postgresql
|
|
name: POSTGRES_DB
|
|
label: PostgreSQL Database
|
|
defaultValue: hasura
|
|
description: ''
|
|
- templateVersion: 1.0.0
|
|
defaultVersion: v2.13.0
|
|
name: Hasura
|
|
description: 'Instant realtime GraphQL APIs on any Postgres application, existing or new.'
|
|
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_PASSWORD=$$secret_hasura_graphql_admin_password
|
|
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_password
|
|
name: HASURA_GRAPHQL_ADMIN_PASSWORD
|
|
label: Hasura Admin Password
|
|
defaultValue: $$generate_password
|
|
description: ''
|
|
showOnUI: 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: postgresql-v1.38.0
|
|
name: Umami
|
|
description: >-
|
|
Umami is a simple, easy to use, self-hosted web analytics solution. The goal
|
|
is to provide you with a friendly privacy-focused alternative to Google
|
|
Analytics.
|
|
services:
|
|
$$id:
|
|
name: Umami
|
|
documentation: 'Official docs are [here](https://umami.is/docs/getting-started)'
|
|
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=postgresql
|
|
- HASH_SALT=$$secret_hash_salt
|
|
ports:
|
|
- '3000'
|
|
$$id-postgresql:
|
|
name: PostgreSQL
|
|
documentation: 'Official docs are [here](https://umami.is/docs/getting-started)'
|
|
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: []
|
|
files:
|
|
- source: $$workdir/schema.postgresql.sql
|
|
destination: /docker-entrypoint-initdb.d/schema.postgresql.sql
|
|
content: |2-
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "account" (
|
|
"user_id" SERIAL NOT NULL,
|
|
"username" VARCHAR(255) NOT NULL,
|
|
"password" VARCHAR(60) NOT NULL,
|
|
"is_admin" BOOLEAN NOT NULL DEFAULT false,
|
|
"created_at" TIMESTAMPTZ(6) DEFAULT CURRENT_TIMESTAMP,
|
|
"updated_at" TIMESTAMPTZ(6) DEFAULT CURRENT_TIMESTAMP,
|
|
|
|
PRIMARY KEY ("user_id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "event" (
|
|
"event_id" SERIAL NOT NULL,
|
|
"website_id" INTEGER NOT NULL,
|
|
"session_id" INTEGER NOT NULL,
|
|
"created_at" TIMESTAMPTZ(6) DEFAULT CURRENT_TIMESTAMP,
|
|
"url" VARCHAR(500) NOT NULL,
|
|
"event_type" VARCHAR(50) NOT NULL,
|
|
"event_value" VARCHAR(50) NOT NULL,
|
|
|
|
PRIMARY KEY ("event_id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "pageview" (
|
|
"view_id" SERIAL NOT NULL,
|
|
"website_id" INTEGER NOT NULL,
|
|
"session_id" INTEGER NOT NULL,
|
|
"created_at" TIMESTAMPTZ(6) DEFAULT CURRENT_TIMESTAMP,
|
|
"url" VARCHAR(500) NOT NULL,
|
|
"referrer" VARCHAR(500),
|
|
|
|
PRIMARY KEY ("view_id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "session" (
|
|
"session_id" SERIAL NOT NULL,
|
|
"session_uuid" UUID NOT NULL,
|
|
"website_id" INTEGER NOT NULL,
|
|
"created_at" TIMESTAMPTZ(6) DEFAULT CURRENT_TIMESTAMP,
|
|
"hostname" VARCHAR(100),
|
|
"browser" VARCHAR(20),
|
|
"os" VARCHAR(20),
|
|
"device" VARCHAR(20),
|
|
"screen" VARCHAR(11),
|
|
"language" VARCHAR(35),
|
|
"country" CHAR(2),
|
|
|
|
PRIMARY KEY ("session_id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "website" (
|
|
"website_id" SERIAL NOT NULL,
|
|
"website_uuid" UUID NOT NULL,
|
|
"user_id" INTEGER NOT NULL,
|
|
"name" VARCHAR(100) NOT NULL,
|
|
"domain" VARCHAR(500),
|
|
"share_id" VARCHAR(64),
|
|
"created_at" TIMESTAMPTZ(6) DEFAULT CURRENT_TIMESTAMP,
|
|
|
|
PRIMARY KEY ("website_id")
|
|
);
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "account.username_unique" ON "account"("username");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "event_created_at_idx" ON "event"("created_at");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "event_session_id_idx" ON "event"("session_id");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "event_website_id_idx" ON "event"("website_id");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "pageview_created_at_idx" ON "pageview"("created_at");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "pageview_session_id_idx" ON "pageview"("session_id");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "pageview_website_id_created_at_idx" ON "pageview"("website_id", "created_at");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "pageview_website_id_idx" ON "pageview"("website_id");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "pageview_website_id_session_id_created_at_idx" ON "pageview"("website_id", "session_id", "created_at");
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "session.session_uuid_unique" ON "session"("session_uuid");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "session_created_at_idx" ON "session"("created_at");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "session_website_id_idx" ON "session"("website_id");
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "website.website_uuid_unique" ON "website"("website_uuid");
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "website.share_id_unique" ON "website"("share_id");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "website_user_id_idx" ON "website"("user_id");
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "event" ADD FOREIGN KEY ("session_id") REFERENCES "session"("session_id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "event" ADD FOREIGN KEY ("website_id") REFERENCES "website"("website_id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "pageview" ADD FOREIGN KEY ("session_id") REFERENCES "session"("session_id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "pageview" ADD FOREIGN KEY ("website_id") REFERENCES "website"("website_id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "session" ADD FOREIGN KEY ("website_id") REFERENCES "website"("website_id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "website" ADD FOREIGN KEY ("user_id") REFERENCES "account"("user_id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
|
|
insert into account (username, password, is_admin) values ('admin', '$$hashed$$secret_admin_password', true);
|
|
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_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: ''
|
|
showOnUI: true
|
|
- templateVersion: 1.0.0
|
|
defaultVersion: v0.29.1
|
|
name: MeiliSearch
|
|
description: >-
|
|
MeiliSearch is 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: ''
|
|
showOnUI: true
|
|
- templateVersion: 1.0.0
|
|
defaultVersion: latest
|
|
name: Ghost
|
|
description: >-
|
|
Ghost is a free and open source blogging platform written in JavaScript and
|
|
distributed under the MIT License
|
|
services:
|
|
$$id:
|
|
name: Ghost
|
|
documentation: 'Taken from https://docs.ghost.org/'
|
|
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: ''
|
|
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: ''
|
|
- 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: php8.1
|
|
name: WordPress
|
|
description: WordPress is a content management system based on PHP.
|
|
services:
|
|
$$id:
|
|
name: WordPress
|
|
documentation: ' Taken from https://docs.docker.com/compose/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:5.7'
|
|
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: WordPress DB Host
|
|
defaultValue: $$id-mysql
|
|
description: ''
|
|
- id: $$config_wordpress_db_user
|
|
name: WORDPRESS_DB_USER
|
|
label: WordPress DB User
|
|
defaultValue: $$config_mysql_user
|
|
description: ''
|
|
- id: $$secret_wordpress_db_password
|
|
name: WORDPRESS_DB_PASSWORD
|
|
label: WordPress DB Password
|
|
defaultValue: $$secret_mysql_password
|
|
description: ''
|
|
- id: $$config_wordpress_db_name
|
|
name: WORDPRESS_DB_NAME
|
|
label: WordPress DB Name
|
|
defaultValue: $$config_mysql_database
|
|
description: ''
|
|
- id: $$config_wordpress_config_extra
|
|
name: WORDPRESS_CONFIG_EXTRA
|
|
label: WordPress Config Extra
|
|
defaultValue: ''
|
|
description: ''
|
|
- id: $$secret_mysql_root_password
|
|
name: MYSQL_ROOT_PASSWORD
|
|
label: MySQL Root Password
|
|
defaultValue: $$generate_password
|
|
description: ''
|
|
- id: $$config_mysql_root_user
|
|
name: MYSQL_ROOT_USER
|
|
label: MySQL Root User
|
|
defaultValue: $$generate_username
|
|
description: ''
|
|
- id: $$config_mysql_database
|
|
name: MYSQL_DATABASE
|
|
label: MySQL Database
|
|
defaultValue: wordpress
|
|
description: ''
|
|
- id: $$config_mysql_user
|
|
name: MYSQL_USER
|
|
label: MySQL User
|
|
defaultValue: $$generate_username
|
|
description: ''
|
|
- id: $$secret_mysql_password
|
|
name: MYSQL_PASSWORD
|
|
label: MySQL Password
|
|
defaultValue: $$generate_password
|
|
description: ''
|
|
- templateVersion: 1.0.0
|
|
defaultVersion: 4.7.1
|
|
name: VSCode Server
|
|
description: >-
|
|
vscode-server by Coder is VS Code running on a remote server, accessible
|
|
through the browser.
|
|
services:
|
|
$$id:
|
|
name: VSCode Server
|
|
documentation: 'Taken from https://github.com/coder/code-server/. '
|
|
depends_on: []
|
|
image: 'codercom/code-server:$$core_version'
|
|
volumes:
|
|
- '$$id-config-data:/home/coder/.local/share/code-server'
|
|
- '$$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: ''
|
|
showOnUI: true
|
|
- templateVersion: 1.0.0
|
|
defaultVersion: RELEASE.2022-10-15T19-57-03Z
|
|
name: MinIO
|
|
description: ' MinIO is a cloud storage server compatible with Amazon S3'
|
|
services:
|
|
$$id:
|
|
name: MinIO
|
|
command: 'server /data --console-address :9001'
|
|
documentation: 'Taken from https://docs.min.io/docs/minio-docker-quickstart-guide.html'
|
|
depends_on: []
|
|
image: 'minio/minio:$$core_version'
|
|
volumes:
|
|
- '$$id-data-write:/files'
|
|
environment:
|
|
- MINIO_SERVER_URL=$$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: $$coolify_fqdn_minio_console
|
|
- port: '9001'
|
|
variables:
|
|
- id: $$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: ''
|
|
showOnUI: true
|
|
- templateVersion: 1.0.0
|
|
defaultVersion: 0.21.1
|
|
name: Fider
|
|
description: Fider is a platform to collect and organize customer feedback.
|
|
services:
|
|
$$id:
|
|
name: Fider
|
|
image: 'getfider/fider:$$core_version'
|
|
documentation: 'Taken from https://hub.docker.com/r/getfider/fider/'
|
|
depends_on:
|
|
- $$id-postgresql
|
|
environment:
|
|
- BASE_URL=$$config_base_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
|
|
documentation: 'Taken from https://hub.docker.com/r/getfider/fider/'
|
|
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
|
|
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: ''
|
|
- 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: ''
|
|
- 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
|
|
defaultVersion: 0.198.1
|
|
name: n8n.io
|
|
description: n8n is a free and open node based Workflow Automation Tool.
|
|
services:
|
|
$$id:
|
|
name: N8n
|
|
documentation: 'Taken from https://hub.docker.com/r/n8nio/n8n'
|
|
depends_on: []
|
|
image: 'n8nio/n8n:$$core_version'
|
|
volumes:
|
|
- '$$id-data:/root/.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: stable
|
|
name: Plausible Analytics
|
|
description: Plausible is a lightweight and open-source website analytics tool.
|
|
services:
|
|
$$id:
|
|
name: Plausible Analytics
|
|
documentation: 'Taken from https://plausible.io/'
|
|
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:
|
|
- ADMIN_USER_EMAIL=$$config_admin_user_email
|
|
- ADMIN_USER_NAME=$$config_admin_user_name
|
|
- ADMIN_USER_PWD=$$secret_admin_user_pwd
|
|
- 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
|
|
ports:
|
|
- '8000'
|
|
$$id-postgresql:
|
|
name: PostgreSQL
|
|
documentation: 'Taken from https://plausible.io/'
|
|
image: 'bitnami/postgresql:13.2.0'
|
|
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
|
|
documentation: 'Taken from https://plausible.io/'
|
|
volumes:
|
|
- '$$id-clickhouse-data:/var/lib/clickhouse'
|
|
image: 'yandex/clickhouse-server:21.3.2.5'
|
|
ulimits:
|
|
nofile:
|
|
soft: 262144
|
|
hard: 262144
|
|
files:
|
|
- source: $$workdir/clickhouse-config.xml
|
|
destination: /etc/clickhouse-server/users.d/logging.xml
|
|
content: >-
|
|
<yandex><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"/></yandex>
|
|
- source: $$workdir/clickhouse-user-config.xml
|
|
destination: /etc/clickhouse-server/config.d/logging.xml
|
|
content: >-
|
|
<yandex><profiles><default><log_queries>0</log_queries><log_query_threads>0</log_query_threads></default></profiles></yandex>
|
|
- source: $$workdir/init.query
|
|
destination: /docker-entrypoint-initdb.d/init.query
|
|
content: CREATE DATABASE IF NOT EXISTS plausible;
|
|
- source: $$workdir/init-db.sh
|
|
destination: /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: $$config_admin_user_email
|
|
name: ADMIN_USER_EMAIL
|
|
label: Admin Email Address
|
|
defaultValue: admin@example.com
|
|
description: This is the admin email. Please change it.
|
|
- id: $$config_admin_user_name
|
|
name: ADMIN_USER_NAME
|
|
label: Admin User Name
|
|
defaultValue: $$generate_username
|
|
description: This is the admin username. Please change it.
|
|
- id: $$secret_admin_user_pwd
|
|
name: ADMIN_USER_PWD
|
|
label: Admin User Password
|
|
defaultValue: $$generate_password
|
|
description: This is the admin password. Please change it.
|
|
showOnUI: true
|
|
- 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: Disable Authentication
|
|
defaultValue: 'false'
|
|
description: ''
|
|
- id: $$config_disable_registration
|
|
name: DISABLE_REGISTRATION
|
|
label: Disable 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: ''
|
|
showOnUI: true
|
|
- id: $$config_postgresql_database
|
|
main: $$id-postgresql
|
|
name: POSTGRESQL_DATABASE
|
|
label: PostgreSQL Database
|
|
defaultValue: plausible
|
|
description: ''
|
|
- 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.98.1
|
|
name: NocoDB
|
|
description: >-
|
|
The Open Source Airtable Alternative - Turns any MySQL, PostgreSQL, SQL
|
|
Server, SQLite & MariaDB into a smart-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: >-
|
|
For setting app running port.
|
|
- 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).
|
|
documentation: See https://github.com/nocodb/nocodb
|