coolify/apps/api/devTemplates.yaml

3203 lines
124 KiB
YAML
Raw Normal View History

2022-11-14 13:46:17 +01:00
- templateVersion: 1.0.0
defaultVersion: "1.17"
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
2022-11-22 13:17:09 +01:00
- SSH_PORT=22
- START_SSH_SERVER=$$config_start_ssh_server
ports:
- "3000"
- "22"
proxy:
- port: "22"
hostPort: $$config_hostport_ssh
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: ""
2022-11-22 13:17:09 +01:00
- 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: "20.0"
2022-11-14 13:46:17 +01:00
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
2022-11-14 13:46:17 +01:00
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"
2022-11-14 13:46:17 +01:00
$$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: ""
2022-11-10 15:29:44 +01:00
- templateVersion: 1.0.0
defaultVersion: v3.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:
- "2333"
files:
- location: /opt/Lavalink/application.yml
content: >-
server:
port: $$config_port
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: $$config_port
name: PORT
label: Port
defaultValue: "2333"
2022-11-10 15:29:44 +01:00
required: true
- id: $$secret_password
name: PASSWORD
label: Password
defaultValue: $$generate_password
required: true
2022-11-03 14:59:37 +01:00
- templateVersion: 1.0.0
defaultVersion: v1.8.6
2022-11-03 15:37:39 +01:00
documentation: https://docs.appsmith.com/getting-started/setup/instance-configuration/
2022-11-03 14:59:37 +01:00
type: appsmith
name: Appsmith
2022-11-07 08:59:06 +01:00
description: "Fastest way to build internal apps over any database or API."
2022-11-03 14:59:37 +01:00
services:
$$id:
image: appsmith/appsmith-ce:$$core_version
2022-11-04 15:20:31 +01:00
environment:
- APPSMITH_MAIL_ENABLED=$$config_appsmith_mail_enabled
- APPSMITH_DISABLE_TELEMETRY=$$config_appsmith_disable_telemetry
- APPSMITH_DISABLE_INTERCOM=$$config_appsmith_disable_intercom
2022-11-03 14:59:37 +01:00
volumes:
- $$id-stacks-data:/appsmith-stacks
ports:
2022-11-04 15:20:31 +01:00
- "80"
2022-11-03 14:59:37 +01:00
variables:
- id: $$config_appsmith_mail_enabled
name: APPSMITH_MAIL_ENABLED
label: Enable Mail
2022-11-04 15:20:31 +01:00
defaultValue: "false"
description: ""
2022-11-03 14:59:37 +01:00
- id: $$config_appsmith_disable_telemetry
name: APPSMITH_DISABLE_TELEMETRY
label: Disable Telemetry
2022-11-04 15:20:31 +01:00
defaultValue: "true"
description: ""
2022-11-03 14:59:37 +01:00
- id: $$config_appsmith_disable_intercom
name: APPSMITH_DISABLE_INTERCOM
label: Disable Intercom
2022-11-04 15:20:31 +01:00
defaultValue: "true"
description: ""
2022-11-02 15:19:20 +01:00
- templateVersion: 1.0.0
defaultVersion: 0.56.2
2022-11-03 15:37:39 +01:00
documentation: https://hub.docker.com/r/zadam/trilium
2022-11-07 08:59:06 +01:00
description: "A hierarchical note taking application with focus on building large personal knowledge bases."
labels:
- personal
- knowledge
- notes
- wiki
2022-11-02 15:19:20 +01:00
type: trilium
name: Trilium Notes
services:
$$id:
image: zadam/trilium:$$core_version
environment: []
volumes:
- $$id-trilium:/home/node/trilium-data
ports:
2022-11-04 15:20:31 +01:00
- "8080"
2022-11-02 15:19:20 +01:00
variables: []
- templateVersion: 1.0.0
defaultVersion: 1.9.2
2022-11-03 15:37:39 +01:00
documentation: https://hub.docker.com/r/louislam/uptime-kuma
2022-11-07 08:59:06 +01:00
description: A free & fancy self-hosted monitoring tool.
2022-11-07 13:40:18 +01:00
labels:
2022-11-07 08:59:06 +01:00
- uptime
2022-11-02 15:19:20 +01:00
type: uptimekuma
name: UptimeKuma
services:
$$id:
image: louislam/uptime-kuma:$$core_version
environment: []
volumes:
- $$id-uptimekuma:/app/data
ports:
2022-11-04 15:20:31 +01:00
- "3001"
2022-11-02 15:19:20 +01:00
variables: []
- templateVersion: 1.0.0
2022-11-04 15:20:31 +01:00
defaultVersion: "5.8"
2022-11-03 15:37:39 +01:00
documentation: https://hub.docker.com/r/silviof/docker-languagetool
2022-11-07 08:59:06 +01:00
description: "A multilingual grammar, style and spell checker."
2022-11-02 15:19:20 +01:00
type: languagetool
name: LanguageTool
services:
$$id:
image: silviof/docker-languagetool:$$core_version
environment: []
volumes:
- $$id-ngrams:/ngrams
ports:
2022-11-04 15:20:31 +01:00
- "8010"
2022-11-02 15:19:20 +01:00
variables: []
- templateVersion: 1.0.0
defaultVersion: 1.26.0
2022-11-03 15:37:39 +01:00
documentation: https://hub.docker.com/r/vaultwarden/server
2022-11-07 08:59:06 +01:00
description: "Bitwarden compatible server written in Rust."
2022-11-02 15:19:20 +01:00
type: vaultwarden
name: VaultWarden
2022-11-07 08:59:06 +01:00
labels:
- bitwarden
- password manager
2022-11-02 15:19:20 +01:00
services:
$$id:
image: vaultwarden/server:$$core_version
environment: []
volumes:
- $$id-data:/data
ports:
2022-11-04 15:20:31 +01:00
- "80"
2022-11-02 15:19:20 +01:00
variables: []
2022-11-02 09:49:21 +01:00
- templateVersion: 1.0.0
defaultVersion: 9.2.3
2022-11-03 15:37:39 +01:00
documentation: https://hub.docker.com/r/grafana/grafana
2022-11-02 09:49:21 +01:00
type: grafana
name: Grafana
description: >-
2022-11-07 08:59:06 +01:00
Grafana allows you to query, visualize, alert on and understand your metrics.
2022-11-07 13:40:18 +01:00
labels:
2022-11-07 08:59:06 +01:00
- monitoring
- metrics
- dashboard
2022-11-02 09:49:21 +01:00
services:
$$id:
image: grafana/grafana:$$core_version
environment: []
volumes:
- $$id-config:/etc/grafana
- $$id-grafana:/var/lib/grafana
2022-11-02 10:08:22 +01:00
ports:
2022-11-04 15:20:31 +01:00
- "3000"
2022-11-02 09:49:21 +01:00
variables: []
2022-10-25 15:12:40 +02:00
- templateVersion: 1.0.0
defaultVersion: 1.0.3
2022-11-03 15:37:39 +01:00
documentation: https://appwrite.io/docs
2022-10-28 11:54:03 +02:00
type: appwrite
2022-10-25 15:12:40 +02:00
name: Appwrite
description: Secure Backend Server for Web, Mobile & Flutter Developers.
2022-11-07 13:40:18 +01:00
labels:
2022-11-07 08:59:06 +01:00
- serverless
- backend
- storage
- api
2022-10-25 15:12:40 +02:00
services:
"$$id":
image: appwrite/appwrite:$$core_version
environment:
2022-11-04 15:20:31 +01:00
- _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
2022-10-25 15:12:40 +02:00
volumes:
2022-11-04 15:20:31 +01:00
- "$$id-uploads:/storage/uploads"
- "$$id-cache:/storage/cache"
- "$$id-config:/storage/config"
- "$$id-certificates:/storage/certificates"
- "$$id-functions:/storage/functions"
2022-10-25 15:12:40 +02:00
ports:
2022-11-04 15:20:31 +01:00
- "80"
2022-10-25 15:12:40 +02:00
proxy:
2022-11-04 15:20:31 +01:00
- port: "80"
2022-10-25 15:12:40 +02:00
"$$id-executor":
image: appwrite/appwrite:$$core_version
environment:
2022-11-04 15:20:31 +01:00
- _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
2022-10-25 15:12:40 +02:00
volumes:
2022-11-04 15:20:31 +01:00
- "$$id-functions:/storage/functions"
- "$$id-builds:/storage/builds"
- "/var/run/docker.sock:/var/run/docker.sock"
2022-10-25 15:12:40 +02:00
entrypoint: executor
"$$id-influxdb":
image: appwrite/influxdb:1.5.0
environment: []
volumes:
2022-11-04 15:20:31 +01:00
- "$$id-influxdb:/var/lib/influxdb"
2022-10-25 15:12:40 +02:00
"$$id-maintenance":
image: appwrite/appwrite:$$core_version
environment:
2022-11-04 15:20:31 +01:00
- _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
2022-10-25 15:12:40 +02:00
volumes: []
entrypoint: maintenance
"$$id-mariadb":
image: mariadb:10.7
command: "--innodb-flush-method fsync"
environment:
2022-11-04 15:20:31 +01:00
- 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
2022-10-25 15:12:40 +02:00
volumes:
2022-11-04 15:20:31 +01:00
- "$$id-mariadb:/var/lib/mysql"
2022-10-25 15:12:40 +02:00
"$$id-realtime":
image: appwrite/appwrite:$$core_version
environment:
2022-11-04 15:20:31 +01:00
- _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
2022-10-25 15:12:40 +02:00
volumes: []
entrypoint: realtime
proxy:
2022-11-04 15:20:31 +01:00
- port: "80"
pathPrefix: "/v1/realtime"
2022-10-25 15:12:40 +02:00
"$$id-redis":
image: redis:7.0.4-alpine
2022-11-04 15:20:31 +01:00
command:
"--maxmemory 512mb --maxmemory-policy allkeys-lru --maxmemory-samples
2022-10-25 15:12:40 +02:00
5"
environment: []
volumes:
2022-11-04 15:20:31 +01:00
- "$$id-redis:/data"
2022-10-25 15:12:40 +02:00
"$$id-schedule":
image: appwrite/appwrite:$$core_version
environment:
2022-11-04 15:20:31 +01:00
- _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
2022-10-25 15:12:40 +02:00
volumes: []
entrypoint: schedule
"$$id-telegraf":
image: appwrite/telegraf:1.4.0
environment:
2022-11-04 15:20:31 +01:00
- _APP_INFLUXDB_HOST=$$config__app_influxdb_host
- _APP_INFLUXDB_PORT=$$config__app_influxdb_port
- OPEN_RUNTIMES_NETWORK=$$config_open_runtimes_network
2022-10-25 15:12:40 +02:00
volumes:
2022-11-04 15:20:31 +01:00
- "$$id-influxdb:/var/lib/influxdb"
2022-10-25 15:12:40 +02:00
"$$id-usage-database":
image: appwrite/appwrite:$$core_version
environment:
2022-11-04 15:20:31 +01:00
- _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
2022-10-25 15:12:40 +02:00
volumes: []
entrypoint: usage --type database
2022-11-02 15:19:20 +01:00
"$$id-usage":
2022-10-25 15:12:40 +02:00
image: appwrite/appwrite:$$core_version
environment:
2022-11-04 15:20:31 +01:00
- _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
2022-10-25 15:12:40 +02:00
volumes: []
entrypoint: usage --type timeseries
"$$id-worker-audits":
image: appwrite/appwrite:$$core_version
environment:
2022-11-04 15:20:31 +01:00
- _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
2022-10-25 15:12:40 +02:00
volumes: []
entrypoint: worker-audits
"$$id-worker-builds":
image: appwrite/appwrite:$$core_version
environment:
2022-11-04 15:20:31 +01:00
- _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
2022-10-25 15:12:40 +02:00
volumes: []
entrypoint: worker-builds
"$$id-worker-certificates":
image: appwrite/appwrite:$$core_version
environment:
2022-11-04 15:20:31 +01:00
- _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
2022-10-25 15:12:40 +02:00
volumes:
2022-11-04 15:20:31 +01:00
- "$$id-config:/storage/config"
- "$$id-certificates:/storage/certificates"
2022-10-25 15:12:40 +02:00
entrypoint: worker-certificates
"$$id-worker-databases":
image: appwrite/appwrite:$$core_version
environment:
2022-11-04 15:20:31 +01:00
- _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
2022-10-25 15:12:40 +02:00
volumes: []
entrypoint: worker-databases
"$$id-worker-deletes":
image: appwrite/appwrite:$$core_version
environment:
2022-11-04 15:20:31 +01:00
- _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
2022-10-25 15:12:40 +02:00
volumes:
2022-11-04 15:20:31 +01:00
- "$$id-uploads:/storage/uploads"
- "$$id-cache:/storage/cache"
- "$$id-functions:/storage/functions"
- "$$id-builds:/storage/builds"
- "$$id-certificates:/storage/certificates"
2022-10-25 15:12:40 +02:00
entrypoint: worker-deletes
"$$id-worker-functions":
image: appwrite/appwrite:$$core_version
environment:
2022-11-04 15:20:31 +01:00
- _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
2022-10-25 15:12:40 +02:00
volumes: []
entrypoint: worker-functions
"$$id-worker-mails":
image: appwrite/appwrite:$$core_version
environment:
2022-11-04 15:20:31 +01:00
- _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
2022-10-25 15:12:40 +02:00
volumes: []
entrypoint: worker-mails
"$$id-worker-messaging":
image: appwrite/appwrite:$$core_version
environment:
2022-11-04 15:20:31 +01:00
- _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
2022-10-25 15:12:40 +02:00
volumes: []
entrypoint: worker-messaging
"$$id-worker-webhooks":
image: appwrite/appwrite:$$core_version
environment:
2022-11-04 15:20:31 +01:00
- _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
2022-10-25 15:12:40 +02:00
volumes: []
entrypoint: worker-webhooks
variables:
2022-11-04 15:20:31 +01:00
- 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.
2022-11-08 09:54:25 +01:00
- 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.
2022-11-04 15:20:31 +01:00
- 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.
2022-10-25 15:12:40 +02:00
- templateVersion: 1.0.0
defaultVersion: latest
2022-11-03 15:37:39 +01:00
documentation: https://docs.weblate.org/en/latest/admin/install/docker.html
2022-11-07 08:59:06 +01:00
description: "A copylefted libre software web-based continuous localization system."
2022-10-28 11:54:03 +02:00
type: weblate
2022-10-25 15:12:40 +02:00
name: Weblate
2022-11-07 08:59:06 +01:00
labels:
- translate
- localization
2022-10-25 15:12:40 +02:00
services:
$$id:
name: Weblate
depends_on:
- $$id-postgresql
- $$id-redis
2022-11-04 15:20:31 +01:00
image: "weblate/weblate:$$core_version"
2022-10-25 15:12:40 +02:00
volumes:
2022-11-04 15:20:31 +01:00
- "$$id-data:/app/data"
2022-10-25 15:12:40 +02:00
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:
2022-11-04 15:20:31 +01:00
- "8080"
2022-10-25 15:12:40 +02:00
$$id-postgresql:
name: PostgreSQL
depends_on: []
2022-11-04 15:20:31 +01:00
image: "postgres:14-alpine"
2022-10-25 15:12:40 +02:00
volumes:
2022-11-04 15:20:31 +01:00
- "$$id-postgresql-data:/var/lib/postgresql/data"
2022-10-25 15:12:40 +02:00
environment:
- POSTGRES_USER=$$config_postgres_user
- POSTGRES_PASSWORD=$$secret_postgres_password
- POSTGRES_DB=$$config_postgres_db
ports: []
$$id-redis:
name: Redis
depends_on: []
2022-11-04 15:20:31 +01:00
image: "redis:7-alpine"
2022-10-25 15:12:40 +02:00
volumes:
2022-11-04 15:20:31 +01:00
- "$$id-redis-data:/data"
2022-10-25 15:12:40 +02:00
environment: []
ports: []
variables:
- id: $$config_weblate_site_domain
name: WEBLATE_SITE_DOMAIN
label: Weblate Domain
defaultValue: $$generate_domain
2022-11-04 15:20:31 +01:00
description: ""
2022-10-25 15:12:40 +02:00
- id: $$secret_weblate_admin_password
name: WEBLATE_ADMIN_PASSWORD
label: Weblate Admin Password
defaultValue: $$generate_password
2022-11-04 15:20:31 +01:00
description: ""
2022-10-28 11:54:03 +02:00
showOnConfiguration: true
2022-10-25 15:12:40 +02:00
- id: $$config_postgres_user
main: $$id-postgresql
name: POSTGRES_USER
label: PostgreSQL User
defaultValue: $$generate_username
2022-11-04 15:20:31 +01:00
description: ""
2022-10-25 15:12:40 +02:00
- id: $$secret_postgres_password
main: $$id-postgresql
name: POSTGRES_PASSWORD
label: PostgreSQL Password
defaultValue: $$generate_password
2022-11-04 15:20:31 +01:00
description: ""
2022-10-28 11:54:03 +02:00
showOnConfiguration: true
2022-10-25 15:12:40 +02:00
- id: $$config_postgres_db
main: $$id-postgresql
name: POSTGRES_DB
label: PostgreSQL Database
defaultValue: weblate
2022-11-04 15:20:31 +01:00
description: ""
2022-10-25 15:12:40 +02:00
- templateVersion: 1.0.0
defaultVersion: 2022.10.14-1a5b0965
2022-11-03 15:37:39 +01:00
documentation: https://docs.searxng.org/
2022-10-28 11:54:03 +02:00
type: searxng
2022-10-25 15:12:40 +02:00
name: SearXNG
2022-11-07 08:59:06 +01:00
description: "Free internet metasearch engine which aggregates results from more than 70 search services."
2022-10-25 15:12:40 +02:00
services:
$$id:
name: SearXNG
depends_on:
- $$id-redis
2022-11-04 15:20:31 +01:00
image: "searxng/searxng:$$core_version"
2022-10-25 15:12:40 +02:00
volumes:
2022-11-04 15:20:31 +01:00
- "$$id-searxng:/etc/searxng"
2022-10-25 15:12:40 +02:00
environment:
- SEARXNG_BASE_URL=$$config_searxng_base_url
ports:
2022-11-04 15:20:31 +01:00
- "8080"
2022-10-25 15:12:40 +02:00
cap_drop:
- ALL
cap_add:
- CHOWN
- SETGID
- SETUID
- DAC_OVERRIDE
2022-10-26 10:12:17 +02:00
files:
2022-11-07 10:44:50 +01:00
- location: /etc/searxng/settings.yml
2022-10-26 10:12:17 +02:00
content: |2-
2022-10-25 15:12:40 +02:00
# 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: []
2022-11-04 15:20:31 +01:00
image: "redis:7-alpine"
2022-10-25 15:12:40 +02:00
volumes:
2022-11-04 15:20:31 +01:00
- "$$id-redis-data:/data"
2022-10-25 15:12:40 +02:00
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
2022-11-04 15:20:31 +01:00
description: ""
2022-10-25 15:12:40 +02:00
- id: $$secret_secret_key
name: SECRET_KEY
label: Secret Key
2022-10-26 10:12:17 +02:00
defaultValue: $$generate_hex(64)
2022-11-04 15:20:31 +01:00
description: ""
2022-10-25 15:12:40 +02:00
- id: $$secret_redis_password
name: REDIS_PASSWORD
label: Redis Password
defaultValue: $$generate_password
2022-11-04 15:20:31 +01:00
description: ""
2022-10-25 15:12:40 +02:00
- templateVersion: 1.0.0
defaultVersion: v2.0.6
2022-11-03 15:37:39 +01:00
documentation: https://glitchtip.com/documentation
2022-10-28 11:54:03 +02:00
type: glitchtip
2022-10-25 15:12:40 +02:00
name: GlitchTip
2022-11-07 08:59:06 +01:00
description: "Simple, open source error tracking."
2022-11-07 13:40:18 +01:00
labels:
2022-11-07 08:59:06 +01:00
- sentry
- bugsnag
2022-10-25 15:12:40 +02:00
services:
$$id:
name: GlitchTip
depends_on:
- $$id-postgresql
- $$id-redis
2022-11-04 15:20:31 +01:00
image: "glitchtip/glitchtip:$$core_version"
2022-10-25 15:12:40 +02:00
volumes: []
environment:
2022-11-02 16:03:27 +01:00
- PORT=$$config_port
2022-10-25 15:12:40 +02:00
- 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
2022-11-02 15:19:20 +01:00
- EMAIL_URL=$$secret_email_url
2022-10-25 15:12:40 +02:00
- 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
2022-11-02 15:19:20 +01:00
- CELERY_WORKER_CONCURRENCY=$$config_celery_worker_concurrency
2022-10-25 15:12:40 +02:00
ports:
2022-11-04 15:20:31 +01:00
- "8000"
2022-11-02 15:19:20 +01:00
$$id-worker:
name: Celery Worker
command: ./bin/run-celery-with-beat.sh
depends_on:
- $$id-postgresql
- $$id-redis
2022-11-04 15:20:31 +01:00
image: "glitchtip/glitchtip:$$core_version"
2022-11-02 15:19:20 +01:00
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
2022-11-04 15:20:31 +01:00
image: "glitchtip/glitchtip:$$core_version"
2022-11-02 15:19:20 +01:00
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: []
2022-10-25 15:12:40 +02:00
$$id-postgresql:
name: PostgreSQL
depends_on: []
2022-11-04 15:20:31 +01:00
image: "postgres:14-alpine"
2022-10-25 15:12:40 +02:00
volumes:
2022-11-04 15:20:31 +01:00
- "$$id-postgresql-data:/var/lib/postgresql/data"
2022-10-25 15:12:40 +02:00
environment:
- POSTGRES_USER=$$config_postgres_user
- POSTGRES_PASSWORD=$$secret_postgres_password
- POSTGRES_DB=$$config_postgres_db
ports: []
$$id-redis:
name: Redis
depends_on: []
2022-11-04 15:20:31 +01:00
image: "redis:7-alpine"
2022-10-25 15:12:40 +02:00
volumes:
2022-11-04 15:20:31 +01:00
- "$$id-postgresql-redis-data:/data"
2022-10-25 15:12:40 +02:00
environment: []
ports: []
variables:
2022-11-02 22:32:09 +01:00
- id: $$config_django_superuser_username
name: DJANGO_SUPERUSER_USERNAME
label: Django Superuser Username
defaultValue: $$generate_username
2022-11-04 15:20:31 +01:00
description: ""
2022-11-02 22:32:09 +01:00
- id: $$secret_django_superuser_password
name: DJANGO_SUPERUSER_PASSWORD
label: Django Superuser Password
defaultValue: $$generate_password
2022-11-04 15:20:31 +01:00
description: ""
2022-11-02 22:32:09 +01:00
showOnConfiguration: true
2022-11-02 16:03:27 +01:00
- id: $$config_port
name: PORT
label: GlitchTip Port
2022-11-04 15:20:31 +01:00
defaultValue: "8000"
description: ""
2022-11-02 15:19:20 +01:00
- id: $$config_celery_worker_concurrency
main: $$id-worker
name: CELERY_WORKER_CONCURRENCY
label: Celery Worker Concurrency
2022-11-04 15:20:31 +01:00
defaultValue: "2"
description: ""
2022-10-25 15:12:40 +02:00
- id: $$config_glitchtip_domain
name: GLITCHTIP_DOMAIN
label: GlitchTip Domain
defaultValue: $$generate_fqdn
2022-11-04 15:20:31 +01:00
description: ""
2022-11-02 15:19:20 +01:00
- 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
2022-11-04 15:20:31 +01:00
description: ""
2022-10-25 15:12:40 +02:00
- 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
2022-11-04 15:20:31 +01:00
description: ""
2022-10-25 15:12:40 +02:00
- id: $$secret_redis_url
name: REDIS_URL
label: Redis URL
2022-11-04 15:20:31 +01:00
defaultValue: "redis://$$id-redis:6379/0"
description: ""
2022-10-25 15:12:40 +02:00
- id: $$config_default_from_email
name: DEFAULT_FROM_EMAIL
label: Default Email Address
defaultValue: noreply@example.com
2022-11-04 15:20:31 +01:00
description: ""
2022-10-25 15:12:40 +02:00
- id: $$config_email_host
name: EMAIL_HOST
label: Email SMTP Host
2022-11-04 15:20:31 +01:00
defaultValue: ""
description: ""
2022-10-25 15:12:40 +02:00
- id: $$config_email_port
name: EMAIL_PORT
label: Email SMTP Port
2022-11-04 15:20:31 +01:00
defaultValue: "25"
description: ""
2022-10-25 15:12:40 +02:00
- id: $$config_email_host_user
name: EMAIL_HOST_USER
label: Email SMTP User
2022-11-04 15:20:31 +01:00
defaultValue: ""
description: ""
2022-10-25 15:12:40 +02:00
- id: $$secret_email_host_password
name: EMAIL_HOST_PASSWORD
label: Email SMTP Password
2022-11-04 15:20:31 +01:00
defaultValue: ""
description: ""
2022-10-25 15:12:40 +02:00
- id: $$config_email_use_tls
name: EMAIL_USE_TLS
label: Email Use TLS
2022-11-04 15:20:31 +01:00
defaultValue: "false"
description: ""
2022-10-25 15:12:40 +02:00
- id: $$config_email_use_ssl
name: EMAIL_USE_SSL
label: Email Use SSL
2022-11-04 15:20:31 +01:00
defaultValue: "false"
description: ""
2022-10-25 15:12:40 +02:00
- id: $$secret_email_smtp_password
name: EMAIL_SMTP_PASSWORD
label: SMTP Password
2022-11-04 15:20:31 +01:00
defaultValue: ""
description: ""
2022-10-25 15:12:40 +02:00
- id: $$config_email_backend
name: EMAIL_BACKEND
label: Email Backend
2022-11-04 15:20:31 +01:00
defaultValue: ""
description: ""
2022-10-25 15:12:40 +02:00
- id: $$secret_mailgun_api_key
name: MAILGUN_API_KEY
label: Mailgun API Key
2022-11-04 15:20:31 +01:00
defaultValue: ""
description: ""
2022-11-02 15:19:20 +01:00
showOnConfiguration: true
2022-10-25 15:12:40 +02:00
- id: $$secret_sendgrid_api_key
name: SENDGRID_API_KEY
label: Sendgrid API Key
2022-11-04 15:20:31 +01:00
defaultValue: ""
description: ""
2022-11-02 15:19:20 +01:00
showOnConfiguration: true
2022-10-25 15:12:40 +02:00
- id: $$config_enable_open_user_registration
name: ENABLE_OPEN_USER_REGISTRATION
label: Enable Open User Registration
2022-11-04 15:20:31 +01:00
defaultValue: "true"
description: ""
2022-10-25 15:12:40 +02:00
- id: $$config_django_superuser_email
name: DJANGO_SUPERUSER_EMAIL
label: Django Superuser Email
2022-11-02 15:19:20 +01:00
defaultValue: noreply@example.com
2022-11-04 15:20:31 +01:00
description: ""
2022-10-25 15:12:40 +02:00
- id: $$config_postgres_user
main: $$id-postgresql
name: POSTGRES_USER
label: PostgreSQL User
defaultValue: $$generate_username
2022-11-04 15:20:31 +01:00
description: ""
2022-10-25 15:12:40 +02:00
- id: $$secret_postgres_password
main: $$id-postgresql
name: POSTGRES_PASSWORD
label: PostgreSQL Password
2022-11-02 15:19:20 +01:00
defaultValue: $$generate_password
2022-11-04 15:20:31 +01:00
description: ""
2022-10-25 15:12:40 +02:00
- id: $$config_postgres_db
main: $$id-postgresql
name: POSTGRES_DB
label: PostgreSQL Database
2022-11-02 15:19:20 +01:00
defaultValue: glitchtip
2022-11-04 15:20:31 +01:00
description: ""
2022-10-25 15:12:40 +02:00
- templateVersion: 1.0.0
defaultVersion: v2.13.0
2022-11-03 15:37:39 +01:00
documentation: https://hasura.io/docs/latest/index/
2022-10-28 11:54:03 +02:00
type: hasura
2022-10-25 15:12:40 +02:00
name: Hasura
2022-11-04 15:20:31 +01:00
description: "Instant realtime GraphQL APIs on any Postgres application, existing or new."
2022-11-07 13:40:18 +01:00
labels:
2022-11-07 08:59:06 +01:00
- graphql
- database
2022-10-25 15:12:40 +02:00
services:
$$id:
name: Hasura
depends_on:
- $$id-postgresql
2022-11-04 15:20:31 +01:00
image: "hasura/graphql-engine:$$core_version"
2022-10-25 15:12:40 +02:00
volumes: []
environment:
- HASURA_GRAPHQL_ENABLE_CONSOLE=$$config_hasura_graphql_enable_console
- >-
HASURA_GRAPHQL_METADATA_DATABASE_URL=$$secret_hasura_graphql_metadata_database_url
2022-11-23 11:18:25 +01:00
- HASURA_GRAPHQL_ADMIN_SECRET=$$secret_hasura_graphql_admin_secret
2022-10-25 15:12:40 +02:00
ports:
2022-11-04 15:20:31 +01:00
- "8080"
2022-10-25 15:12:40 +02:00
$$id-postgresql:
name: PostgreSQL
depends_on: []
2022-11-04 15:20:31 +01:00
image: "postgres:12-alpine"
2022-10-25 15:12:40 +02:00
volumes:
2022-11-04 15:20:31 +01:00
- "$$id-postgresql-data:/var/lib/postgresql/data"
2022-10-25 15:12:40 +02:00
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
2022-11-04 15:20:31 +01:00
defaultValue: "true"
description: ""
2022-10-25 15:12:40 +02:00
- 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
2022-11-04 15:20:31 +01:00
description: ""
2022-11-23 11:18:25 +01:00
- id: $$secret_hasura_graphql_admin_secret
name: HASURA_GRAPHQL_ADMIN_SECRET
2022-10-25 15:12:40 +02:00
label: Hasura Admin Password
defaultValue: $$generate_password
2022-11-04 15:20:31 +01:00
description: ""
2022-10-28 11:54:03 +02:00
showOnConfiguration: true
2022-10-25 15:12:40 +02:00
- id: $$config_postgres_user
name: POSTGRES_USER
label: PostgreSQL User
defaultValue: $$generate_username
2022-11-04 15:20:31 +01:00
description: ""
2022-10-25 15:12:40 +02:00
- id: $$secret_postgres_password
name: POSTGRES_PASSWORD
label: PostgreSQL Password
defaultValue: $$generate_password
2022-11-04 15:20:31 +01:00
description: ""
2022-10-25 15:12:40 +02:00
- id: $$config_postgres_db
name: POSTGRES_DB
label: PostgreSQL Database
defaultValue: hasura
2022-11-04 15:20:31 +01:00
description: ""
2022-10-25 15:12:40 +02:00
- templateVersion: 1.0.0
defaultVersion: postgresql-v1.38.0
2022-11-03 15:37:39 +01:00
documentation: https://umami.is/docs/getting-started
2022-11-02 15:19:20 +01:00
type: umami-postgresql
2022-11-04 14:24:22 +01:00
name: Umami
2022-11-07 08:59:06 +01:00
subname: (PostgreSQL)
2022-11-08 15:23:18 +01:00
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: []
files:
- location: /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_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-v1.38.0
documentation: https://umami.is/docs/getting-started
type: umami
name: Umami
subname: (PostgreSQL)
2022-10-25 15:12:40 +02:00
description: >-
2022-11-07 08:59:06 +01:00
A simple, easy to use, self-hosted web analytics solution.
2022-10-25 15:12:40 +02:00
services:
$$id:
name: Umami
depends_on:
- $$id-postgresql
2022-11-04 15:20:31 +01:00
image: "ghcr.io/umami-software/umami:$$core_version"
2022-10-25 15:12:40 +02:00
volumes: []
environment:
- ADMIN_PASSWORD=$$secret_admin_password
- DATABASE_URL=$$secret_database_url
2022-11-02 15:19:20 +01:00
- DATABASE_TYPE=$$config_database_type
2022-10-25 15:12:40 +02:00
- HASH_SALT=$$secret_hash_salt
ports:
2022-11-04 15:20:31 +01:00
- "3000"
2022-10-25 15:12:40 +02:00
$$id-postgresql:
name: PostgreSQL
depends_on: []
2022-11-04 15:20:31 +01:00
image: "postgres:12-alpine"
2022-10-25 15:12:40 +02:00
volumes:
2022-11-04 15:20:31 +01:00
- "$$id-postgresql-data:/var/lib/postgresql/data"
2022-10-25 15:12:40 +02:00
environment:
- POSTGRES_USER=$$config_postgres_user
- POSTGRES_PASSWORD=$$secret_postgres_password
- POSTGRES_DB=$$config_postgres_db
ports: []
2022-10-26 10:12:17 +02:00
files:
2022-11-07 10:44:50 +01:00
- location: /docker-entrypoint-initdb.d/schema.postgresql.sql
2022-10-26 10:12:17 +02:00
content: |2-
2022-10-25 15:12:40 +02:00
-- 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
2022-11-04 15:20:31 +01:00
description: ""
2022-10-25 15:12:40 +02:00
- id: $$secret_hash_salt
name: HASH_SALT
label: Hash Salt
2022-10-26 10:12:17 +02:00
defaultValue: $$generate_hex(64)
2022-11-04 15:20:31 +01:00
description: ""
2022-11-02 15:19:20 +01:00
- id: $$config_database_type
name: DATABASE_TYPE
label: Database Type
2022-11-04 15:20:31 +01:00
defaultValue: "postgresql"
description: ""
2022-10-25 15:12:40 +02:00
- id: $$config_postgres_user
name: POSTGRES_USER
label: PostgreSQL User
defaultValue: $$generate_username
2022-11-04 15:20:31 +01:00
description: ""
2022-10-25 15:12:40 +02:00
- id: $$secret_postgres_password
name: POSTGRES_PASSWORD
label: PostgreSQL Password
defaultValue: $$generate_password
2022-11-04 15:20:31 +01:00
description: ""
2022-10-25 15:12:40 +02:00
- id: $$config_postgres_db
name: POSTGRES_DB
label: PostgreSQL Database
defaultValue: umami
2022-11-04 15:20:31 +01:00
description: ""
2022-10-25 15:12:40 +02:00
- id: $$secret_admin_password
name: ADMIN_PASSWORD
label: Initial Admin Password
defaultValue: $$generate_password
2022-11-04 15:20:31 +01:00
description: ""
2022-10-28 11:54:03 +02:00
showOnConfiguration: true
2022-10-25 15:12:40 +02:00
- templateVersion: 1.0.0
defaultVersion: v0.29.1
2022-11-03 15:37:39 +01:00
documentation: https://docs.meilisearch.com/learn/getting_started/quick_start.html
2022-10-28 11:54:03 +02:00
type: meilisearch
2022-10-25 15:12:40 +02:00
name: MeiliSearch
description: >-
2022-11-07 08:59:06 +01:00
A lightning Fast, Ultra Relevant, and Typo-Tolerant Search Engine.
2022-10-25 15:12:40 +02:00
services:
$$id:
name: MeiliSearch
2022-11-09 13:50:29 +01:00
documentation: https://docs.meilisearch.com/
2022-10-25 15:12:40 +02:00
depends_on: []
2022-11-04 15:20:31 +01:00
image: "getmeili/meilisearch:$$core_version"
2022-10-25 15:12:40 +02:00
volumes:
2022-11-04 15:20:31 +01:00
- "$$id-datams:/meili_data/data.ms"
- "$$id-data:/meili_data"
- "$$id-snapshot:/snapshot"
- "$$id-dump:/dumps"
2022-10-25 15:12:40 +02:00
environment:
- MEILI_MASTER_KEY=$$secret_meili_master_key
ports:
2022-11-04 15:20:31 +01:00
- "7700"
2022-10-25 15:12:40 +02:00
variables:
- id: $$secret_meili_master_key
name: MEILI_MASTER_KEY
label: Master Key
2022-10-26 10:12:17 +02:00
defaultValue: $$generate_hex(64)
2022-11-04 15:20:31 +01:00
description: ""
2022-10-28 11:54:03 +02:00
showOnConfiguration: true
2022-10-25 15:12:40 +02:00
- templateVersion: 1.0.0
ignore: true
2022-10-25 15:12:40 +02:00
defaultVersion: latest
2022-11-09 13:50:29 +01:00
documentation: https://docs.ghost.org
2022-11-03 09:31:01 +01:00
type: ghost-mariadb
2022-11-04 14:24:22 +01:00
name: Ghost
subname: (MariaDB)
2022-10-25 15:12:40 +02:00
description: >-
2022-11-07 08:59:06 +01:00
Free and open source blogging platform.
labels:
- cms
- blog
2022-10-25 15:12:40 +02:00
services:
$$id:
name: Ghost
depends_on:
- $$id-mariadb
2022-11-04 15:20:31 +01:00
image: "bitnami/ghost:$$core_version"
2022-10-25 15:12:40 +02:00
volumes:
2022-11-04 15:20:31 +01:00
- "$$id-ghost:/bitnami/ghost"
2022-10-25 15:12:40 +02:00
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:
2022-11-04 15:20:31 +01:00
- "2368"
2022-10-25 15:12:40 +02:00
$$id-mariadb:
name: MariaDB
depends_on: []
2022-11-04 15:20:31 +01:00
image: "bitnami/mariadb:latest"
2022-10-25 15:12:40 +02:00
volumes:
2022-11-04 15:20:31 +01:00
- "$$id-mariadb:/bitnami/mariadb"
2022-10-25 15:12:40 +02:00
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
2022-11-04 15:20:31 +01:00
description: ""
2022-10-25 15:12:40 +02:00
- id: $$config_ghost_host
name: GHOST_HOST
label: Ghost Host
2022-11-02 15:19:20 +01:00
defaultValue: $$generate_domain
2022-11-04 15:20:31 +01:00
description: ""
2022-10-25 15:12:40 +02:00
- id: $$config_ghost_enable_https
name: GHOST_ENABLE_HTTPS
label: Ghost Enable HTTPS
2022-11-04 15:20:31 +01:00
defaultValue: "no"
description: ""
2022-10-25 15:12:40 +02:00
- id: $$config_ghost_email
name: GHOST_EMAIL
label: Ghost Default Email
defaultValue: admin@example.com
2022-11-04 15:20:31 +01:00
description: ""
2022-10-25 15:12:40 +02:00
- id: $$secret_ghost_password
name: GHOST_PASSWORD
label: Ghost Default Password
defaultValue: $$generate_password
2022-11-04 15:20:31 +01:00
description: ""
2022-11-02 15:19:20 +01:00
showOnConfiguration: true
2022-10-25 15:12:40 +02:00
- id: $$config_ghost_database_host
name: GHOST_DATABASE_HOST
label: Ghost Database Host
defaultValue: $$id-mariadb
2022-11-04 15:20:31 +01:00
description: ""
2022-10-25 15:12:40 +02:00
- id: $$config_ghost_database_user
name: GHOST_DATABASE_USER
label: MariaDB User
defaultValue: $$config_mariadb_user
2022-11-04 15:20:31 +01:00
description: ""
2022-10-25 15:12:40 +02:00
- id: $$secret_ghost_database_password
name: GHOST_DATABASE_PASSWORD
label: MariaDB Password
defaultValue: $$secret_mariadb_password
2022-11-04 15:20:31 +01:00
description: ""
2022-10-25 15:12:40 +02:00
- id: $$config_ghost_database_name
name: GHOST_DATABASE_NAME
label: MariaDB Database
defaultValue: $$config_mariadb_database
2022-11-04 15:20:31 +01:00
description: ""
2022-10-25 15:12:40 +02:00
- id: $$config_mariadb_user
name: MARIADB_USER
label: MariaDB User
defaultValue: $$generate_username
2022-11-04 15:20:31 +01:00
description: ""
2022-10-25 15:12:40 +02:00
- id: $$secret_mariadb_password
name: MARIADB_PASSWORD
label: MariaDB Password
defaultValue: $$generate_password
2022-11-04 15:20:31 +01:00
description: ""
2022-10-25 15:12:40 +02:00
- id: $$config_mariadb_database
name: MARIADB_DATABASE
label: MariaDB Database
defaultValue: ghost
2022-11-04 15:20:31 +01:00
description: ""
2022-10-25 15:12:40 +02:00
- id: $$config_mariadb_root_user
name: MARIADB_ROOT_USER
label: MariaDB Root User
defaultValue: $$generate_username
2022-11-04 15:20:31 +01:00
description: ""
2022-10-25 15:12:40 +02:00
- id: $$secret_mariadb_root_password
name: MARIADB_ROOT_PASSWORD
label: MariaDB Root Password
defaultValue: $$generate_password
2022-11-04 15:20:31 +01:00
description: ""
2022-11-03 09:31:01 +01:00
- templateVersion: 1.0.0
2022-11-04 15:20:31 +01:00
defaultVersion: "5.22"
2022-11-09 13:50:29 +01:00
documentation: https://docs.ghost.org
2022-11-03 09:31:01 +01:00
type: ghost-only
2022-11-04 14:24:22 +01:00
name: Ghost
subname: (without Database)
2022-11-03 09:31:01 +01:00
description: >-
2022-11-07 08:59:06 +01:00
Free and open source blogging platform.
2022-11-03 09:31:01 +01:00
services:
$$id:
name: Ghost
2022-11-04 15:20:31 +01:00
image: "ghost:$$core_version"
2022-11-03 09:31:01 +01:00
volumes:
2022-11-04 15:20:31 +01:00
- "$$id-ghost:/var/lib/ghost/content"
2022-11-03 09:31:01 +01:00
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:
2022-11-04 15:20:31 +01:00
- "2368"
2022-11-03 09:31:01 +01:00
variables:
- id: $$config_url
name: url
label: URL
defaultValue: $$generate_fqdn
2022-11-04 15:20:31 +01:00
description: ""
2022-11-03 09:31:01 +01:00
- id: $$config_database__client
name: database__client
label: Database Client
defaultValue: mysql
2022-11-04 15:20:31 +01:00
description: ""
2022-11-03 09:31:01 +01:00
required: true
- id: $$config_database__connection__host
name: database__connection__host
label: Database Host
2022-11-04 15:20:31 +01:00
defaultValue: ""
description: ""
2022-11-03 09:31:01 +01:00
required: true
2022-11-04 15:20:31 +01:00
placeholder: "db.coolify.io"
2022-11-03 09:31:01 +01:00
- id: $$config_database__connection__user
name: database__connection__user
label: Database User
2022-11-04 15:20:31 +01:00
defaultValue: ""
description: ""
placeholder: "ghost"
2022-11-03 09:31:01 +01:00
required: true
- id: $$secret_database__connection__password
name: database__connection__password
label: Database Password
2022-11-04 15:20:31 +01:00
defaultValue: ""
description: ""
placeholder: "superSecretP4ssword"
2022-11-03 09:31:01 +01:00
showOnConfiguration: true
required: true
- id: $$config_database__connection__database
name: database__connection__database
label: Database Name
2022-11-04 15:20:31 +01:00
defaultValue: ""
description: ""
placeholder: "ghost_db"
2022-11-03 09:31:01 +01:00
required: true
- templateVersion: 1.0.0
2022-11-04 15:20:31 +01:00
defaultVersion: "5.22"
2022-11-09 13:50:29 +01:00
documentation: https://docs.ghost.org
2022-11-03 09:31:01 +01:00
type: ghost-mysql
2022-11-04 14:24:22 +01:00
name: Ghost
2022-11-07 08:59:06 +01:00
subname: (MySQL)
2022-11-03 09:31:01 +01:00
description: >-
2022-11-07 08:59:06 +01:00
Ghost is a free and open source blogging platform.
2022-11-03 09:31:01 +01:00
services:
$$id:
name: Ghost
depends_on:
- $$id-mysql
2022-11-04 15:20:31 +01:00
image: "ghost:$$core_version"
2022-11-03 09:31:01 +01:00
volumes:
2022-11-04 15:20:31 +01:00
- "$$id-ghost:/var/lib/ghost/content"
2022-11-03 09:31:01 +01:00
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:
2022-11-04 15:20:31 +01:00
- "2368"
2022-11-03 09:31:01 +01:00
$$id-mysql:
name: MySQL
depends_on: []
2022-11-04 15:20:31 +01:00
image: "mysql:8.0"
2022-11-03 09:31:01 +01:00
volumes:
2022-11-04 15:20:31 +01:00
- "$$id-mysql:/var/lib/mysql"
2022-11-03 09:31:01 +01:00
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
2022-11-04 15:20:31 +01:00
description: ""
2022-11-03 09:31:01 +01:00
- id: $$config_database__client
name: database__client
label: Database Client
defaultValue: mysql
2022-11-04 15:20:31 +01:00
description: ""
2022-11-03 09:31:01 +01:00
readOnly: true
- id: $$config_database__connection__host
name: database__connection__host
label: Database Host
defaultValue: $$id-mysql
2022-11-04 15:20:31 +01:00
description: ""
2022-11-03 09:31:01 +01:00
- id: $$config_mysql_user
main: $$id-mysql
name: MYSQL_USER
label: MySQL User
defaultValue: $$generate_username
2022-11-04 15:20:31 +01:00
description: ""
2022-11-03 09:31:01 +01:00
- id: $$secret_mysql_password
main: $$id-mysql
name: MYSQL_PASSWORD
label: MySQL Password
defaultValue: $$generate_password
2022-11-04 15:20:31 +01:00
description: ""
2022-11-03 09:31:01 +01:00
- id: $$config_mysql_database
main: $$id-mysql
name: MYSQL_DATABASE
2022-11-04 15:20:31 +01:00
label: MySQL Database
2022-11-03 09:31:01 +01:00
defaultValue: ghost
2022-11-04 15:20:31 +01:00
description: ""
2022-11-03 09:31:01 +01:00
- id: $$secret_mysql_root_password
name: MYSQL_ROOT_PASSWORD
label: MySQL Root Password
defaultValue: $$generate_password
2022-11-04 15:20:31 +01:00
description: ""
2022-10-25 15:12:40 +02:00
- templateVersion: 1.0.0
defaultVersion: php8.1
2022-11-03 15:37:39 +01:00
documentation: https://wordpress.org/
2022-10-28 11:54:03 +02:00
type: wordpress
2022-11-04 14:24:22 +01:00
name: WordPress
2022-11-07 08:59:06 +01:00
subname: (MySQL)
description: A content management system based on PHP.
labels:
- "wordpress"
- "php"
- "cms"
2022-10-25 15:12:40 +02:00
services:
$$id:
name: WordPress
depends_on:
- $$id-mysql
2022-11-04 15:20:31 +01:00
image: "wordpress:$$core_version"
2022-10-25 15:12:40 +02:00
volumes:
2022-11-04 15:20:31 +01:00
- "$$id-wordpress-data:/var/www/html"
2022-10-25 15:12:40 +02:00
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:
2022-11-04 15:20:31 +01:00
- "80"
2022-10-25 15:12:40 +02:00
$$id-mysql:
name: MySQL
depends_on: []
2022-11-04 15:20:31 +01:00
image: "bitnami/mysql:5.7"
2022-11-10 15:29:44 +01:00
imageArm: "mysql:8.0"
2022-10-25 15:12:40 +02:00
volumes:
2022-11-04 15:20:31 +01:00
- "$$id-mysql-data:/bitnami/mysql/data"
2022-10-26 10:49:30 +02:00
volumesArm:
2022-11-04 15:20:31 +01:00
- "$$id-mysql-data:/var/lib/mysql"
2022-10-25 15:12:40 +02:00
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
2022-10-28 15:50:57 +02:00
label: Database Host
2022-10-25 15:12:40 +02:00
defaultValue: $$id-mysql
2022-11-04 15:20:31 +01:00
description: ""
2022-11-03 09:31:01 +01:00
readOnly: true
2022-10-25 15:12:40 +02:00
- id: $$config_wordpress_config_extra
name: WORDPRESS_CONFIG_EXTRA
label: WordPress Config Extra
2022-11-04 15:20:31 +01:00
defaultValue: ""
description: ""
type: "textarea"
2022-10-28 11:54:03 +02:00
placeholder: |
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
@ini_set('display_errors', 0);
2022-10-25 15:12:40 +02:00
- id: $$secret_mysql_root_password
name: MYSQL_ROOT_PASSWORD
label: MySQL Root Password
defaultValue: $$generate_password
2022-11-04 15:20:31 +01:00
description: ""
2022-11-03 09:31:01 +01:00
readOnly: true
2022-10-25 15:12:40 +02:00
- id: $$config_mysql_root_user
name: MYSQL_ROOT_USER
label: MySQL Root User
defaultValue: $$generate_username
2022-11-04 15:20:31 +01:00
description: ""
2022-11-03 09:31:01 +01:00
readOnly: true
2022-10-25 15:12:40 +02:00
- id: $$config_mysql_database
name: MYSQL_DATABASE
label: MySQL Database
defaultValue: wordpress
2022-11-04 15:20:31 +01:00
description: ""
2022-11-03 09:31:01 +01:00
readOnly: true
2022-10-25 15:12:40 +02:00
- id: $$config_mysql_user
name: MYSQL_USER
label: MySQL User
defaultValue: $$generate_username
2022-11-04 15:20:31 +01:00
description: ""
2022-11-03 09:31:01 +01:00
readOnly: true
2022-10-25 15:12:40 +02:00
- id: $$secret_mysql_password
name: MYSQL_PASSWORD
label: MySQL Password
defaultValue: $$generate_password
2022-11-04 15:20:31 +01:00
description: ""
2022-11-03 09:31:01 +01:00
readOnly: true
2022-10-28 11:54:03 +02:00
- templateVersion: 1.0.0
defaultVersion: php8.1
2022-11-03 15:37:39 +01:00
documentation: https://wordpress.org/
2022-10-28 11:54:03 +02:00
type: wordpress-only
2022-11-04 14:24:22 +01:00
name: WordPress
subname: (without DB)
2022-11-07 08:59:06 +01:00
description: A content management system based on PHP.
labels:
- "wordpress"
- "php"
- "cms"
2022-10-28 11:54:03 +02:00
services:
$$id:
name: WordPress
2022-11-04 15:20:31 +01:00
image: "wordpress:$$core_version"
2022-10-28 11:54:03 +02:00
volumes:
2022-11-04 15:20:31 +01:00
- "$$id-wordpress-data:/var/www/html"
2022-10-28 11:54:03 +02:00
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:
2022-11-04 15:20:31 +01:00
- "80"
2022-10-28 11:54:03 +02:00
variables:
- id: $$config_wordpress_db_host
name: WORDPRESS_DB_HOST
label: Database Host
2022-11-04 15:20:31 +01:00
defaultValue: ""
description: ""
placeholder: "db.coollabs.io"
2022-10-28 11:54:03 +02:00
required: true
- id: $$config_wordpress_db_port
name: WORDPRESS_DB_PORT
label: Database Port
2022-11-04 15:20:31 +01:00
defaultValue: ""
description: ""
placeholder: "3306"
2022-10-28 11:54:03 +02:00
required: true
- id: $$config_wordpress_db_user
name: WORDPRESS_DB_USER
label: Database User
2022-11-04 15:20:31 +01:00
defaultValue: ""
description: ""
placeholder: "wordpress"
2022-10-28 11:54:03 +02:00
required: true
- id: $$secret_wordpress_db_password
name: WORDPRESS_DB_PASSWORD
label: Database Password
2022-11-04 15:20:31 +01:00
defaultValue: ""
description: ""
placeholder: "supers3cr3tpassw0rd!"
2022-10-28 11:54:03 +02:00
required: true
showOnConfiguration: true
- id: $$config_wordpress_db_name
name: WORDPRESS_DB_NAME
label: Database Name
2022-11-04 15:20:31 +01:00
defaultValue: ""
description: ""
placeholder: "wordpress"
2022-10-28 11:54:03 +02:00
required: true
- id: $$config_wordpress_config_extra
name: WORDPRESS_CONFIG_EXTRA
label: Extra Config
2022-11-04 15:20:31 +01:00
defaultValue: ""
description: ""
type: "textarea"
2022-10-28 11:54:03 +02:00
placeholder: |
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
@ini_set('display_errors', 0);
2022-10-25 15:12:40 +02:00
- templateVersion: 1.0.0
defaultVersion: 4.7.1
2022-11-03 15:37:39 +01:00
documentation: https://coder.com/docs/coder-oss/latest
2022-10-28 11:54:03 +02:00
type: vscodeserver
2022-10-25 15:12:40 +02:00
name: VSCode Server
description: >-
2022-11-07 08:59:06 +01:00
Visual Studio Code on a remote server, accessible through the browser.
labels:
- vscode
- ide
2022-10-25 15:12:40 +02:00
services:
$$id:
name: VSCode Server
depends_on: []
2022-11-04 15:20:31 +01:00
image: "codercom/code-server:$$core_version"
2022-10-25 15:12:40 +02:00
volumes:
2022-11-04 15:20:31 +01:00
- "$$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"
2022-10-25 15:12:40 +02:00
environment:
- PASSWORD=$$secret_password
ports:
2022-11-04 15:20:31 +01:00
- "8080"
2022-10-25 15:12:40 +02:00
variables:
- id: $$secret_password
name: PASSWORD
label: Password
defaultValue: $$generate_password
2022-11-04 15:20:31 +01:00
description: ""
2022-10-28 11:54:03 +02:00
showOnConfiguration: true
2022-10-25 15:12:40 +02:00
- templateVersion: 1.0.0
defaultVersion: RELEASE.2022-10-15T19-57-03Z
2022-11-03 15:37:39 +01:00
documentation: https://min.io/docs/minio
2022-10-28 11:54:03 +02:00
type: minio
2022-10-25 15:12:40 +02:00
name: MinIO
2022-11-07 08:59:06 +01:00
description: "A cloud storage server compatible with Amazon S3."
labels:
- storage
- s3
2022-10-25 15:12:40 +02:00
services:
$$id:
name: MinIO
2022-11-04 15:20:31 +01:00
command: "server /data --console-address :9001"
2022-10-25 15:12:40 +02:00
depends_on: []
2022-11-04 15:20:31 +01:00
image: "minio/minio:$$core_version"
2022-10-25 15:12:40 +02:00
volumes:
2022-11-07 13:38:55 +01:00
- "$$id-minio-data:/data"
2022-11-04 15:20:31 +01:00
- "$$id-data-write:/files"
2022-10-25 15:12:40 +02:00
environment:
2022-11-02 21:31:16 +01:00
- MINIO_SERVER_URL=$$config_coolify_fqdn_minio_console
2022-10-25 15:12:40 +02:00
- 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:
2022-11-04 15:20:31 +01:00
- "9000"
- "9001"
2022-10-25 15:12:40 +02:00
proxy:
2022-11-04 15:20:31 +01:00
- port: "9000"
domain: $$config_coolify_fqdn_minio_console
- port: "9001"
2022-10-25 15:12:40 +02:00
variables:
2022-11-02 21:31:16 +01:00
- id: $$config_coolify_fqdn_minio_console
2022-10-25 15:12:40 +02:00
name: MINIO_SERVER_URL
label: MinIO Server URL
2022-11-04 15:20:31 +01:00
defaultValue: ""
description: "Specify the URL hostname the MinIO Console should use for connecting to the MinIO Server."
2022-10-25 15:12:40 +02:00
required: true
- id: $$config_minio_browser_redirect_url
name: MINIO_BROWSER_REDIRECT_URL
label: Browser Redirect URL
defaultValue: $$generate_fqdn
2022-11-04 15:20:31 +01:00
description: ""
2022-10-25 15:12:40 +02:00
- id: $$config_minio_domain
name: MINIO_DOMAIN
label: Domain
defaultValue: $$generate_domain
2022-11-04 15:20:31 +01:00
description: ""
2022-10-25 15:12:40 +02:00
- id: $$config_minio_root_user
name: MINIO_ROOT_USER
label: Root User
defaultValue: $$generate_username
2022-11-04 15:20:31 +01:00
description: ""
2022-10-25 15:12:40 +02:00
- id: $$secret_minio_root_password
name: MINIO_ROOT_PASSWORD
label: Root User Password
defaultValue: $$generate_password
2022-11-04 15:20:31 +01:00
description: ""
2022-10-28 11:54:03 +02:00
showOnConfiguration: true
2022-10-25 15:12:40 +02:00
- templateVersion: 1.0.0
defaultVersion: 0.21.1
2022-11-03 15:37:39 +01:00
documentation: https://fider.io/docs
2022-10-28 11:54:03 +02:00
type: fider
2022-10-25 15:12:40 +02:00
name: Fider
2022-11-07 08:59:06 +01:00
description: A platform to collect and organize customer feedback.
2022-11-07 13:40:18 +01:00
labels:
2022-11-07 08:59:06 +01:00
- suggestion
- feedback
2022-10-25 15:12:40 +02:00
services:
$$id:
name: Fider
2022-11-04 15:20:31 +01:00
image: "getfider/fider:$$core_version"
2022-10-25 15:12:40 +02:00
depends_on:
- $$id-postgresql
environment:
- BASE_URL=$$config_base_url
2022-10-27 21:21:33 +02:00
- DATABASE_URL=$$secret_database_url
2022-10-25 15:12:40 +02:00
- 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:
2022-11-04 15:20:31 +01:00
- "3000"
2022-10-25 15:12:40 +02:00
$$id-postgresql:
name: PostgreSQL
depends_on: []
2022-11-04 15:20:31 +01:00
image: "postgres:12-alpine"
2022-10-25 15:12:40 +02:00
volumes:
2022-11-04 15:20:31 +01:00
- "$$id-postgresql-data:/var/lib/postgresql/data"
2022-10-25 15:12:40 +02:00
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
2022-11-04 15:20:31 +01:00
description: ""
2022-10-25 15:12:40 +02:00
- id: $$secret_database_url
name: DATABASE_URL
label: Database URL for PostgreSQL
defaultValue: >-
2022-10-28 22:30:34 +02:00
postgresql://$$config_postgres_user:$$secret_postgres_password@$$id-postgresql:5432/$$config_postgres_db?sslmode=disable
2022-11-04 15:20:31 +01:00
description: ""
2022-10-25 15:12:40 +02:00
- id: $$secret_jwt_secret
name: JWT_SECRET
label: JWT Secret
2022-10-26 10:12:17 +02:00
defaultValue: $$generate_hex(64)
2022-11-04 15:20:31 +01:00
description: ""
2022-10-25 15:12:40 +02:00
- id: $$config_email_noreply
name: EMAIL_NOREPLY
label: No Reply Email Address
defaultValue: noreply@example.com
2022-11-04 15:20:31 +01:00
description: ""
2022-10-25 15:12:40 +02:00
- id: $$secret_email_mailgun_api
name: EMAIL_MAILGUN_API
label: Mailgun API Key
2022-11-04 15:20:31 +01:00
defaultValue: ""
description: ""
2022-10-28 22:30:34 +02:00
showOnConfiguration: true
2022-10-25 15:12:40 +02:00
- id: $$config_email_mailgun_region
name: EMAIL_MAILGUN_REGION
label: Mailgun Region
defaultValue: EU
2022-11-04 15:20:31 +01:00
description: ""
2022-10-25 15:12:40 +02:00
- id: $$config_email_mailgun_domain
name: EMAIL_MAILGUN_DOMAIN
label: Mailgun Domain
2022-11-04 15:20:31 +01:00
defaultValue: ""
description: ""
2022-10-25 15:12:40 +02:00
- id: $$config_email_smtp_host
name: EMAIL_SMTP_HOST
label: SMTP Host
2022-11-04 15:20:31 +01:00
defaultValue: ""
description: ""
2022-10-25 15:12:40 +02:00
- id: $$config_email_smtp_port
name: EMAIL_SMTP_PORT
label: SMTP Port
2022-11-04 15:20:31 +01:00
defaultValue: "587"
description: ""
2022-10-25 15:12:40 +02:00
- id: $$config_email_smtp_user
name: EMAIL_SMTP_USER
label: SMTP User
2022-11-04 15:20:31 +01:00
defaultValue: ""
description: ""
2022-10-25 15:12:40 +02:00
- id: $$secret_email_smtp_password
name: EMAIL_SMTP_PASSWORD
label: SMTP Password
2022-11-04 15:20:31 +01:00
defaultValue: ""
description: ""
2022-10-28 22:30:34 +02:00
showOnConfiguration: true
2022-10-25 15:12:40 +02:00
- id: $$config_email_smtp_enable_starttls
name: EMAIL_SMTP_ENABLE_STARTTLS
label: SMTP Enable StartTLS
2022-11-04 15:20:31 +01:00
defaultValue: "false"
description: ""
2022-10-25 15:12:40 +02:00
- id: $$config_postgres_user
name: POSTGRES_USER
label: PostgreSQL User
defaultValue: $$generate_username
2022-11-04 15:20:31 +01:00
description: ""
2022-10-25 15:12:40 +02:00
- id: $$secret_postgres_password
name: POSTGRES_PASSWORD
label: PostgreSQL Password
defaultValue: $$generate_password
2022-11-04 15:20:31 +01:00
description: ""
2022-10-25 15:12:40 +02:00
- id: $$config_postgres_db
name: POSTGRES_DB
label: PostgreSQL Database
defaultValue: $$generate_username
2022-11-04 15:20:31 +01:00
description: ""
2022-10-25 15:12:40 +02:00
- templateVersion: 1.0.0
defaultVersion: 0.198.1
2022-11-03 15:37:39 +01:00
documentation: https://docs.n8n.io
2022-11-02 15:19:20 +01:00
type: n8n
2022-10-25 15:12:40 +02:00
name: n8n.io
2022-11-07 08:59:06 +01:00
description: A free and open node based Workflow Automation Tool.
labels:
- workflow
- automation
- ifttt
- zapier
- nodered
2022-10-25 15:12:40 +02:00
services:
$$id:
name: N8n
depends_on: []
2022-11-04 15:20:31 +01:00
image: "n8nio/n8n:$$core_version"
2022-10-25 15:12:40 +02:00
volumes:
2022-11-04 15:20:31 +01:00
- "$$id-data:/root/.n8n"
- "$$id-data-write:/files"
- "/var/run/docker.sock:/var/run/docker.sock"
2022-10-25 15:12:40 +02:00
environment:
- WEBHOOK_URL=$$config_webhook_url
ports:
2022-11-04 15:20:31 +01:00
- "5678"
2022-10-25 15:12:40 +02:00
variables:
- id: $$config_webhook_url
name: WEBHOOK_URL
label: Webhook URL
defaultValue: $$generate_fqdn
2022-11-04 15:20:31 +01:00
description: ""
2022-10-25 15:12:40 +02:00
- templateVersion: 1.0.0
defaultVersion: stable
2022-11-03 15:37:39 +01:00
documentation: https://plausible.io/doc/
2022-10-28 11:54:03 +02:00
type: plausibleanalytics
2022-10-26 09:27:43 +02:00
name: Plausible Analytics
2022-11-07 08:59:06 +01:00
description: A lightweight and open-source website analytics tool.
labels:
- analytics
- statistics
- plausible
- gdpr
- no-cookie
- google analytics
2022-10-25 15:12:40 +02:00
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
2022-11-04 15:20:31 +01:00
image: "plausible/analytics:$$core_version"
2022-10-25 15:12:40 +02:00
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:
2022-11-04 15:20:31 +01:00
- "8000"
2022-10-25 15:12:40 +02:00
$$id-postgresql:
name: PostgreSQL
2022-11-04 15:20:31 +01:00
image: "bitnami/postgresql:13.2.0"
2022-10-25 15:12:40 +02:00
volumes:
2022-11-07 13:48:57 +01:00
- "$$id-postgresql-data:/bitnami/postgresql"
2022-10-25 15:12:40 +02:00
environment:
- POSTGRESQL_PASSWORD=$$secret_postgresql_password
- POSTGRESQL_USERNAME=$$config_postgresql_username
- POSTGRESQL_DATABASE=$$config_postgresql_database
$$id-clickhouse:
name: Clickhouse
volumes:
2022-11-07 13:48:57 +01:00
- "$$id-clickhouse-data:/var/lib/clickhouse"
2022-11-04 15:20:31 +01:00
image: "yandex/clickhouse-server:21.3.2.5"
2022-10-25 15:12:40 +02:00
ulimits:
nofile:
soft: 262144
hard: 262144
2022-10-26 10:12:17 +02:00
files:
2022-11-07 10:44:50 +01:00
- location: /etc/clickhouse-server/users.d/logging.xml
2022-10-26 10:12:17 +02:00
content: >-
2022-11-04 15:20:31 +01:00
<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>
2022-11-07 10:44:50 +01:00
- location: /etc/clickhouse-server/config.d/logging.xml
2022-10-26 10:12:17 +02:00
content: >-
2022-11-04 15:20:31 +01:00
<yandex><profiles><default><log_queries>0</log_queries><log_query_threads>0</log_query_threads></default></profiles></yandex>
2022-11-07 10:44:50 +01:00
- location: /docker-entrypoint-initdb.d/init.query
2022-10-26 10:12:17 +02:00
content: CREATE DATABASE IF NOT EXISTS plausible;
2022-11-07 10:44:50 +01:00
- location: /docker-entrypoint-initdb.d/init-db.sh
2022-10-26 10:12:17 +02:00
content: >-
2022-11-04 15:20:31 +01:00
clickhouse client --queries-file
/docker-entrypoint-initdb.d/init.query
2022-10-25 15:12:40 +02:00
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
2022-11-04 15:20:31 +01:00
description: ""
2022-10-25 15:12:40 +02:00
- id: $$secret_clickhouse_database_url
name: CLICKHOUSE_DATABASE_URL
label: Database URL for Clickhouse
2022-11-04 15:20:31 +01:00
defaultValue: "http://$$id-clickhouse:8123/plausible"
description: ""
2022-10-25 15:12:40 +02:00
- 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.
2022-10-28 11:54:03 +02:00
showOnConfiguration: true
2022-10-25 15:12:40 +02:00
- id: $$secret_secret_key_base
name: SECRET_KEY_BASE
label: Secret Key Base
2022-10-26 10:12:17 +02:00
defaultValue: $$generate_hex(64)
2022-11-04 15:20:31 +01:00
description: ""
2022-10-25 15:12:40 +02:00
- id: $$config_disable_auth
name: DISABLE_AUTH
label: Disable Authentication
2022-11-04 15:20:31 +01:00
defaultValue: "false"
description: ""
2022-10-25 15:12:40 +02:00
- id: $$config_disable_registration
name: DISABLE_REGISTRATION
label: Disable Registration
2022-11-04 15:20:31 +01:00
defaultValue: "true"
description: ""
2022-10-25 15:12:40 +02:00
- id: $$config_postgresql_username
2022-10-26 10:12:17 +02:00
main: $$id-postgresql
2022-10-25 15:12:40 +02:00
name: POSTGRESQL_USERNAME
label: PostgreSQL Username
defaultValue: postgresql
2022-11-04 15:20:31 +01:00
description: ""
2022-10-25 15:12:40 +02:00
- id: $$secret_postgresql_password
2022-10-26 10:12:17 +02:00
main: $$id-postgresql
2022-10-25 15:12:40 +02:00
name: POSTGRESQL_PASSWORD
label: PostgreSQL Password
defaultValue: $$generate_password
2022-11-04 15:20:31 +01:00
description: ""
2022-10-28 11:54:03 +02:00
showOnConfiguration: true
2022-10-25 15:12:40 +02:00
- id: $$config_postgresql_database
2022-10-26 10:12:17 +02:00
main: $$id-postgresql
2022-10-25 15:12:40 +02:00
name: POSTGRESQL_DATABASE
label: PostgreSQL Database
defaultValue: plausible
2022-11-04 15:20:31 +01:00
description: ""
2022-10-25 15:12:40 +02:00
- id: $$config_scriptName
name: SCRIPT_NAME
label: Custom Script Name
defaultValue: plausible.js
description: This is the default script name.
2022-10-26 09:27:43 +02:00
- templateVersion: 1.0.0
defaultVersion: 0.98.1
2022-11-03 15:37:39 +01:00
documentation: https://docs.nocodb.com
2022-10-28 11:54:03 +02:00
type: nocodb
2022-10-26 09:27:43 +02:00
name: NocoDB
description: >-
2022-11-07 08:59:06 +01:00
Turns any MySQL, PostgreSQL, SQL Server, SQLite & MariaDB into a smart-spreadsheet.
labels:
- database
- airtable
- spreadsheet
2022-10-26 09:27:43 +02:00
services:
$$id:
2022-10-26 13:44:32 +02:00
name: NocoDB
2022-10-26 09:27:43 +02:00
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:
2022-11-04 15:20:31 +01:00
- "8080"
2022-10-26 09:27:43 +02:00
variables:
- id: $$config_nc_db
name: NC_DB
label: Database
2022-11-04 15:20:31 +01:00
defaultValue: ""
2022-10-26 09:27:43 +02:00
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
2022-11-04 15:20:31 +01:00
defaultValue: "8080"
2022-10-26 09:27:43 +02:00
description: >-
2022-11-04 15:20:31 +01:00
2022-10-26 09:27:43 +02:00
- id: $$secret_database_url
name: DATABASE_URL
label: Database URL
2022-11-04 15:20:31 +01:00
defaultValue: ""
2022-10-26 09:27:43 +02:00
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
2022-11-04 15:20:31 +01:00
defaultValue: ""
2022-10-26 09:27:43 +02:00
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
2022-11-04 15:20:31 +01:00
defaultValue: ""
2022-10-26 09:27:43 +02:00
description: For Sentry monitoring.
- id: $$config_connect_to_external_db_disabled
name: NC_CONNECT_TO_EXTERNAL_DB_DISABLED
label: Disable External Database
2022-11-04 15:20:31 +01:00
defaultValue: "0"
2022-10-26 09:27:43 +02:00
description: Disable Project creation with external database. (Enter "1" to disable).
- id: $$config_disable_tele
name: NC_DISABLE_TELE
label: NocoDB Disable Telemetry
2022-11-04 15:20:31 +01:00
defaultValue: "1"
2022-10-26 09:27:43 +02:00
description: Disable telemetry (Enter "1" to disable).