
Deploy Mayan EDMS on Your Own Server
Mayan EDMS is an open source web-based Document Management System with many advanced features.
Want to deploy Mayan EDMS on your server faster? Try Senate with one-command setup, automatic HTTPS and monitoring.
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
Self-Host Mayan EDMS
Follow these steps to deploy on your own server.
Install Docker
Skip this step if Docker is already installed on your server.
curl -fsSL https://get.docker.com | sh
Configure
Customize the settings below. Defaults work for most cases.
General
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
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.comWant 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)"