How to Install Mayan EDMS on Your Synology NAS

How to Install Mayan EDMS on Your Synology NAS

How to Install Mayan EDMS on Your Synology NAS

Mayan is a web-based free/libre document management system for managing documents within an organization. All functionality is available in its free public version. It has an active community of volunteers and third-party service and support providers. I think Mayan EDMS is the most advanced open source document management system. In this step by step guide I will show you how to installĀ Mayan EDMSĀ on yourĀ Synology NASĀ using Docker and Portainer.

šŸ’”Note: This guide works perfectly with the latest Mayan EDMS v4.9.1 release.

  • STEP 1

Please Support My work by Making a Donation.

  • STEP 2

InstallĀ Portainer using my step by step guide. If you already have Portainer installed on your Synology NAS, skip this STEP. Attention: Make sure you have installed the latest Portainer version.

  • STEP 3

Go toĀ File StationĀ and open the docker folder. Inside the docker folder, create one new folder and name itĀ mayanedms. Follow the instructions in the image below.
Note: Be careful to enter only lowercase, not uppercase letters.

Mayan EDMS Synology NAS Set up 1

  • STEP 4

Now create six new folders inside the mayanedmsĀ folder that you created at STEP 3 and name them app, db, rabbitmq, redis, staging, watch. Follow the instructions in the image below.
Note: Be careful to enter only lowercase, not uppercase letters.

Mayan EDMS Synology NAS Set up 2

  • STEP 5

Log into Portainer using your username and password. On the left sidebar in Portainer, click on StacksĀ thenĀ + Add stack. Follow the instructions in the image below.

1 Synology Portainer Add Stack

  • STEP 6

In the Name field type in mayanedms. Follow the instructions in the image below.

Note: Copy Paste the code below in the Portainer Stacks Web editor.

services:
  mayan-redis:
    image: redis
    command:
      - redis-server
      - --appendonly
      - "no"
      - --databases
      - "3"
      - --maxmemory
      - "100mb"
      - --maxclients
      - "500"
      - --maxmemory-policy
      - "allkeys-lru"
      - --save
      - ""
      - --tcp-backlog
      - "256"
      - --requirepass
      - "mayanredispassword"
    container_name: Mayan-REDIS
    hostname: mayan-redis
    security_opt:
      - no-new-privileges:true
    healthcheck:
      test: ["CMD-SHELL", "redis-cli ping || exit 1"]
    user: 1026:100
    environment:
      - TZ=Europe/Bucharest
    volumes:
      - /volume1/docker/mayanedms/redis:/data:rw
    restart: on-failure:5

  mayan-db:
    image: postgres:17
    command:
      - "postgres"
      - "-c"
      - "checkpoint_completion_target=0.6"
      - "-c"
      - "default_statistics_target=200"
      - "-c"
      - "maintenance_work_mem=128MB"
      - "-c"
      - "max_connections=150"
      - "-c"
      - "shared_buffers=256MB"
      - "-c"
      - "work_mem=8MB"
    container_name: Mayan-DB
    hostname: mayan-db
    security_opt:
      - no-new-privileges:true
    healthcheck:
      test: ["CMD", "pg_isready", "-q", "-d", "mayan", "-U", "mayanuser"]
      interval: 10s
      timeout: 5s
      retries: 5
    volumes:
      - /volume1/docker/mayanedms/db:/var/lib/postgresql/data:rw
    environment:
      - TZ=Europe/Bucharest
      - POSTGRES_DB=mayan
      - POSTGRES_USER=mayanuser
      - POSTGRES_PASSWORD=mayandbpass
    restart: on-failure:5

  maya-rabbitmq:
    image: rabbitmq:3.9-management-alpine
    container_name: Mayan-RABBITMQ
    hostname: mayan-rabbitmq
    security_opt:
      - no-new-privileges:true
    healthcheck:
      test: rabbitmq-diagnostics -q ping
      interval: 30s
      timeout: 30s
      retries: 3
    user: 1026:100
    volumes:
      - /volume1/docker/mayanedms/rabbitmq:/var/lib/rabbitmq:rw
    environment:
      RABBITMQ_DEFAULT_USER: mayanuser
      RABBITMQ_DEFAULT_PASS: mayanrabbitpass
      RABBITMQ_DEFAULT_VHOST: mayan
    restart: on-failure:5

  mayan:
    image: mayanedms/mayanedms:s4.8
    container_name: Mayan
    hostname: mayan
    security_opt:
      - no-new-privileges:true
    ports:
      - 8340:8000
    volumes:
      - /volume1/docker/mayanedms/app:/var/lib/mayan:rw
      - /volume1/docker/mayanedms/staging:/staging_folder:rw
      - /volume1/docker/mayanedms/watch:/watch_folder:rw
    environment:
      MAYAN_CELERY_BROKER_URL: amqp://mayanuser:mayanrabbitpass@mayan-rabbitmq:5672/mayan
      MAYAN_CSRF_TRUSTED_ORIGINS: "['https://mayanedms.yourname.synology.me']"
      MAYAN_CELERY_RESULT_BACKEND: redis://:mayanredispassword@mayan-redis:6379/1
      MAYAN_DATABASES: "{'default':{'ENGINE':'django.db.backends.postgresql','NAME':'mayan','PASSWORD':'mayandbpass','USER':'mayanuser','HOST':'mayan-db'}}"
      MAYAN_LOCK_MANAGER_BACKEND: mayan.apps.lock_manager.backends.redis_lock.RedisLock
      MAYAN_LOCK_MANAGER_BACKEND_ARGUMENTS: "{'redis_url':'redis://:mayanredispassword@mayan-redis:6379/2'}"
    restart: on-failure:5
    depends_on:
      mayan-redis:
        condition: service_healthy
      mayan-db:
        condition: service_started
      maya-rabbitmq:
        condition: service_started

Read more

How to Install Mastodon on Your Synology NAS

How to Install Mastodon on Your Synology NAS

Mastodon is a free, open-source social network server based on ActivityPub where users can follow friends and discover new ones. On Mastodon, users can publish anything they want: links, pictures, text, video. All Mastodon servers are interoperable as a federated network (users on one server can seamlessly communicate with users from another one, including non-Mastodon … Read more about How to Install Mastodon on Your Synology NAS

How to Install Wallos on Your Synology NAS

How to Install Wallos on Your Synology NAS

Wallos is a powerful, open-source and self-hostable web application designed to empower you in managing your finances with ease. Say goodbye to complicated spreadsheets and expensive financial software ā€“ Wallos simplifies the process of tracking expenses and helps you gain better control over your financial life. In this step by step guide I will show … Read more about How to Install Wallos on Your Synology NAS