one-click-apps/public/v4/apps/mayan-edms.yml

145 lines
6.0 KiB
YAML

captainVersion: 4
services:
# Mayan EDMS
$$cap_appname:
depends_on:
- $$cap_appname-db
- $$cap_appname-redis
image: mayanedms/mayanedms:$$cap_app_version
restart: always
environment:
MAYAN_CELERY_BROKER_URL: 'redis://:$$cap_redis_pass@srv-captain--$$cap_appname-redis:6379/0'
MAYAN_CELERY_RESULT_BACKEND: 'redis://:$$cap_redis_pass@srv-captain--$$cap_appname-redis:6379/1'
MAYAN_DATABASES: "{'default':{'ENGINE':'django.db.backends.postgresql','NAME':'$$cap_dbname','PASSWORD':'$$cap_dbpass','USER':'$$cap_dbuser','HOST':'srv-captain--$$cap_appname-db'}}"
MAYAN_LOCK_MANAGER_BACKEND: 'mayan.apps.lock_manager.backends.redis_lock.RedisLock'
MAYAN_LOCK_MANAGER_BACKEND_ARGUMENTS: "{'redis_url':'redis://:$$cap_redis_pass@srv-captain--$$cap_appname-redis:6379/2'}"
MAYAN_SEARCH_BACKEND: 'mayan.apps.dynamic_search.backends.whoosh.WhooshSearchBackend'
MAYAN_APT_INSTALLS: '$$cap_ocr_langs'
MAYAN_DOCKER_WAIT: srv-captain--$$cap_appname-db:5432 srv-captain--$$cap_appname-redis:6379
MAYAN_DOCUMENTS_LANGUAGE: $$cap_default_document_lang
MAYAN_TIME_ZONE: $$cap_timezone
MAYAN_AUTOADMIN_EMAIL: $$cap_email
MAYAN_AUTOADMIN_PASSWORD: $$cap_password
MAYAN_AUTOADMIN_USERNAME: $$cap_username
MAYAN_COMMON_PROJECT_TITLE: $$cap_project_title
volumes:
- $$cap_appname-data:/var/lib/mayan
caproverExtra:
containerHttpPort: '8000'
# Redis
$$cap_appname-redis:
volumes:
- $$cap_appname-redis-data:/data
restart: always
caproverExtra:
dockerfileLines:
- FROM redis:$$cap_redis_version
- CMD exec redis-server --appendonly 'no' --databases '3' --maxmemory 100mb --maxclients '500' --maxmemory-policy allkeys-lru --save '' --requirepass $$cap_redis_pass
notExposeAsWebApp: 'true'
#PostgreSQL
$$cap_appname-db:
image: postgres:$$cap_postgres_version
volumes:
- $$cap_appname-db-data:/var/lib/postgresql/data
restart: always
environment:
POSTGRES_DB: $$cap_dbname
POSTGRES_USER: $$cap_dbuser
POSTGRES_PASSWORD: $$cap_dbpass
caproverExtra:
notExposeAsWebApp: 'true'
caproverOneClickApp:
variables:
- id: $$cap_app_version
label: Mayan EDMS version
defaultValue: 's4.2'
description: Check out their docker page for the valid tags https://hub.docker.com/r/mayanedms/mayanedms/tags
- id: $$cap_postgres_version
label: PostgreSQL version
defaultValue: '12.9-alpine'
description: Check out their Docker page for the valid tags https://hub.docker.com/r/library/postgres/tags/
validRegex: /^([^\s^\/])+$/
- id: $$cap_redis_version
label: Redis version
defaultValue: '6.2.1-alpine'
description: Check out their Docker page for the valid tags https://hub.docker.com/_/redis?tab=tags
validRegex: /^([^\s^\/])+$/
- id: $$cap_redis_pass
label: Redis password
defaultValue: mayanredispassword
validRegex: /^([^\s^\/])+$/
- id: $$cap_dbname
label: Database Name
defaultValue: 'mayan'
validRegex: /^([^\s^\/])+$/
- id: $$cap_dbuser
label: Database User
defaultValue: 'mayandbuser'
validRegex: /^([^\s^\/])+$/
- id: $$cap_dbpass
label: Database Password
defaultValue: $$cap_gen_random_hex(64)
validRegex: /^([^\s^\/])+$/
- id: $$cap_default_document_lang
label: Default document language
defaultValue: eng
description: Use the ISO 639-3 code (https://en.wikipedia.org/wiki/ISO_639). Will default to *eng* if left blank.
- id: $$cap_language_code
label: Default language for the installation
defaultValue: en-us
description: Mayan EDMS UI will default to this language if the user's locale is not found. Will default to *en-us* if left blank
- id: $$cap_ocr_langs
label: Extra packages
defaultValue: 'tesseract-ocr-spa'
description: Use to add extra languagues for OCR (English is installed by default). Insert as many packages as you need, separated by a space, as *tesseract-ocr-CODE*. Language codes in https://tesseract-ocr.github.io/tessdoc/Data-Files-in-different-versions.html
- id: $$cap_timezone
label: Time Zone
defaultValue: UTC
description: Leave blank if you'd rather change it in System => Setup => Settings
- id: $$cap_username
label: Admin username
defaultValue: admin
description: Username for your first login
- id: $$cap_email
label: Admin email
defaultValue: example@example.com
- id: $$cap_pass
label: Admin password
defaultValue: $$cap_gen_random_hex(16)
validRegex: /^([^\s^\/])+$/
description: It will be prompted to you at startup and can be changed, but copy it just in case.
- id: $$cap_project_title
label: Project Title (Site's name)
defaultValue: 'Mayan EDMS'
description: Title and header of your site
instructions:
start: >-
Mayan EDMS is an open source web-based Document Management System (More info at https://www.mayan-edms.com/)
Most settings can be set inside the app, but environment variables will override them.
Minimum requirements 2GB RAM and 2vCPUs. Recommended 4GB RAM and 4vCPUs
end: >-
Done!
Your service is available at http://$$cap_appname.$$cap_root_domain
displayName: 'Mayan EDMS'
isOfficial: false
description: Mayan EDMS is an open source web-based Document Management System with many advanced features.
documentation: https://www.mayan-edms.com/