Home Online Business Extremely Out there Mayan EDMS Reference Structure

Extremely Out there Mayan EDMS Reference Structure

Extremely Out there Mayan EDMS Reference Structure


For day-to-day work, doc storage is often achieved by on-line productiveness software program and cloud storage. It will get tougher as an utility must course of, retailer, and retrieve bigger volumes. Utilizing an Digital Doc Administration System (EDMS) is a greater answer, as they’re designed to retailer, index, and retrieve paperwork with excessive efficiency and availability, and a few embody options like customizable metadata and model management.

Whereas there are a lot of SaaS-based EDMS options out there, you may deploy your personal open supply EDMS to take care of full management over your information. On this put up, you’ll learn to arrange a highly-available Mayan EDMS backed by a PostgreSQL database.

EDMS Advantages

This setup is right for those who retailer and course of numerous paperwork and wish an EDMS that’s connected to a web-based utility, eradicating the necessity for any shopper facet installations. Working an EDMS as a central hub ensures:

  • safety, privateness, and whole management of your information;
  • simple integration with third-party software program; and
  • automation of doc workflows for enterprise processes.

Why PostgreSQL?

PostgreSQL is a strong, open supply object-relational database administration system that’s extremely valued for its scalability, safety, and efficiency. With the intention to assist end-to-end scaling in your utility, your database additionally must be extremely out there, so this structure instance incorporates a replication software particularly for PostgreSQL.

Getting Began with Mayan EDMS

Mayan is a web-based-based open supply EDMS written in Python. Mayan defaults (by design) to putting in and operating on a single system; all your utility and database parts can dwell on a single server or inside a number of Docker containers. Although that is nice for testing or trivial environments, for a manufacturing atmosphere we wish excessive availability and a broadly recognized and adopted idea often known as the SoC (Separation of Concern) precept. That is essential greatest apply for constructing layered and scalable functions. This reference structure demonstrates how to do this with Mayan.


  • Open supply means no licensing charges
  • Simply retailer, view, and revert doc variations
  • Full textual content search of paperwork utilizing customizable user-defined metadata
  • Versatile entry controls to design efficient person roles and permissions
  • Customizable workflows with occasion triggers to maintain paperwork updated


  • Complicated for smaller use instances
  • Consumer interface is much less intuitive than different options
  • Useful resource heavy for CPUs operating optical character recognition (OCR)

Software Reference Structure

To optimize Mayan’s capabilities in a real-world functions, our structure makes use of:

A NodeBalancer distributes  visitors to our utility nodes. If one utility server goes down, the load balancing service will start solely directing visitors to the wholesome node. As quickly because the unhealthy node recovers it’s going to resume balancing connections as earlier than. This makes it simple so as to add, take away, or replace utility servers with out downtime, all whereas sustaining connections to the PostgreSQL database nodes.

For the “mind” of the appliance, Mayan and NGINX are deployed on the identical digital machines and we are able to leverage Mayan’s assist for s3boto3 as a storage backend to add our paperwork to Linode’s S3-compatible Object Storage.

In case your utility is mission-critical and makes use of PostgreSQL as a major backend database, incorporating Bucardo offers a greater uptime assure and makes your database fault-tolerant.

It’s also possible to obtain high-availability and replication with a managed database service that helps PostgreSQL, however needless to say most DBaaS choices concentrate on updating PostgreSQL variations and preserving your database cluster on-line and out there. Implementing Bucardo provides your PostgreSQL database bi-directional replication between two or extra database nodes, guaranteeing that your database is extremely out there.

On this instance, all nodes are secured with Cloud Firewalls for defense from the general public web and talk internally by way of non-public VLAN. The applying servers connect with the databases by way of a shared floating VLAN IP tackle with keepalived to facilitate failover.

Keepalived, or one other IP failover system like FRRouting (FRR), is carried out on the database degree so {that a} wholesome database node might be linked to the cluster of your utility nodes.

Reaching Fault Tolerance for Important Information

An EDMS will typically function a central hub for daily operations and host a few of your group’s most crucial information. Our utility is constructed with redundancy at each degree for baseline fault tolerance and optimize efficiency:

  • Paperwork are saved on Linode’s extremely out there Object Storage.
  • The database is on a separate node to extend efficiency and forestall having a single level of failure.
  • Bucardo performs computerized database replication between the Postgres nodes.

Discover Extra Technical Content material and Architectures

Our Options Engineering workforce shares frameworks, guides, and instruments like this one to make it simpler for builders to construct functions that observe greatest practices for software program structure. Try our Galera cluster reference structure for a extremely out there MySQL/MariaDB structure, or browse our out there reference structure examples on Linode Docs.



Please enter your comment!
Please enter your name here