Back to Apps
Mayan EDMS

Deploy Mayan EDMS on Your Own Server

Mayan EDMS is an open source web-based Document Management System with many advanced features.

Productivity

Want to deploy Mayan EDMS on your server faster? Try Senate with one-command setup, automatic HTTPS and monitoring.

Get Started

What is Mayan EDMS?

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

Learn more

Self-Host Mayan EDMS

Follow these steps to deploy on your own server.

1

Install Docker

Skip this step if Docker is already installed on your server.

curl -fsSL https://get.docker.com | sh
2

Configure

Customize the settings below. Defaults work for most cases.

General
3

Deploy

Copy the configuration and run it on your server.

services:
  mayan_edms:
    image: mayanedms/mayanedms:s4.2
    environment:
      MAYAN_APT_INSTALLS: tesseract-ocr-spa
      MAYAN_AUTOADMIN_EMAIL: example@example.com
      MAYAN_AUTOADMIN_PASSWORD: ${password}
      MAYAN_AUTOADMIN_USERNAME: admin
      MAYAN_CELERY_BROKER_URL: redis://:mayanredispassword@mayan_edms-redis:6379/0
      MAYAN_CELERY_RESULT_BACKEND: redis://:mayanredispassword@mayan_edms-redis:6379/1
      MAYAN_COMMON_PROJECT_TITLE: Mayan EDMS
      MAYAN_DATABASES: "{'default':{'ENGINE':'django.db.backends.postgresql','NAME':'mayan','PASSWORD':'cc503ad696ccca6eb0f9a1f3e17d760de1850572f32827a643db2f180cc7d628','USER':'mayandbuser','HOST':'mayan_edms-db'}}"
      MAYAN_DOCKER_WAIT: mayan_edms-db:5432 mayan_edms-redis:6379
      MAYAN_DOCUMENTS_LANGUAGE: eng
      MAYAN_LOCK_MANAGER_BACKEND: mayan.apps.lock_manager.backends.redis_lock.RedisLock
      MAYAN_LOCK_MANAGER_BACKEND_ARGUMENTS: "{'redis_url':'redis://:mayanredispassword@mayan_edms-redis:6379/2'}"
      MAYAN_SEARCH_BACKEND: mayan.apps.dynamic_search.backends.whoosh.WhooshSearchBackend
      MAYAN_TIME_ZONE: UTC
    volumes:
      - mayan_edms-data:/var/lib/mayan
    depends_on:
      - mayan_edms-db
      - mayan_edms-redis
  mayan_edms-db:
    image: postgres:12.9-alpine
    environment:
      POSTGRES_DB: mayan
      POSTGRES_PASSWORD: cc503ad696ccca6eb0f9a1f3e17d760de1850572f32827a643db2f180cc7d628
      POSTGRES_USER: mayandbuser
    volumes:
      - mayan_edms-db-data:/var/lib/postgresql/data
  mayan_edms-redis:
    volumes:
      - mayan_edms-redis-data:/data
volumes:
  mayan_edms-data: {}
  mayan_edms-db-data: {}
  mayan_edms-redis-data: {}

Then run:

docker compose up -d
4

Access

Once started, access your app at http://localhost:8000

Why Self-Host Mayan EDMS?

Full Data Ownership

Your data stays on your servers. No third-party access.

No Monthly Fees

Pay only for your server. No per-seat or usage charges.

Complete Control

Customize, backup, and scale on your own terms.

Privacy & Compliance

Meet GDPR, HIPAA, or internal security requirements.

Technical Details

Docker Image

mayanedms/mayanedms:${app_version}

Official Docs

www.mayan-edms.com

Want to go faster?

Try Senate! Senate handles Docker, HTTPS, updates, and monitoring for you. Deploy any of our 300+ apps with a single command.

Install on any Linux server:

sh -c "$(curl -sSL https://get.senate.sh)"