diff --git a/public/v4/apps/mayan-edms.yml b/public/v4/apps/mayan-edms.yml new file mode 100644 index 0000000..6457ea0 --- /dev/null +++ b/public/v4/apps/mayan-edms.yml @@ -0,0 +1,144 @@ +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/ diff --git a/public/v4/logos/mayan-edms.png b/public/v4/logos/mayan-edms.png new file mode 100644 index 0000000..097a68b Binary files /dev/null and b/public/v4/logos/mayan-edms.png differ