Microsoft 365 open source replacement - Part 1 - Solution Design

This is an open source solution as an alternative to Microsoft 365.

Here is the overview of the solution.


Let me introduce the function of each components.

Cloudflare

First of all , we use Cloudflare as our first line of defend. The free plan include SSL certificate , Global CDN and Unmetered mitigation of DDoS attacks with up to 59 Tbps capacity.


 Nginx

Master nginx will act as the reverse proxy for most of the services. So that you wouldn't need to configure ssl certificate for each of the services behind the nginx. And you can configure a lot of settings here, for example, limit service access by incoming ip address , fault tolerance and load balance the service.

This is a example if you need HA or load balance


Authelia

Authelia will work together with Nginx to provide 2FA protection for the services that don't support 2FA. For our case here, Guacamole, Bookstack and LDAP Manager do not have 2FA, so we will shield it with Authelia.

Zimbra

Zimbra Collaboration is a collaborative software suite that includes an email server and a web client. In my solution, we mainly rely on the email server and the web base user friendly admin console.

You can replace it a more simple email server which require less resources and able to run on docker. Please refer to the link below.

Setup mail server with ldap authentication in docker

Nextcloud

The purpose for nextcloud is for user to synchronize their personal file into the server as a backup and also encourage user to make use of the online platform for document editing. Although nextcloud support group folder but that is not encourage.

Onlyoffice

Nextcloud with onlyoffice document server addon, will enable user edit office document store in the nextcloud using browser. Multiple user are able to work on the same at the same time. The free version of onlyoffice document server support up to 20 concurrent connections.

Multiple user able to work on a file at the same time


Collabora Online Development Edition (CODE)

Collabora Online is a powerful LibreOffice-based online office that supports all major document, spreadsheet and presentation file formats, which you can integrate into your own infrastructure. Key features are collaborative editing and excellent office file format support.

The free version of the 
Collabora Online Development Edition.

You can install only Onlyoffice or Collabora. When you install both, if Onlyoffice is run out of connection, user can still use Collabora for document editing.

Bookstack

BookStack is a simple, self-hosted, easy-to-use platform for organizing and storing information.

I would suggest to store companies information using bookstack so that your user wouldn't take away all your information by just copy files and folder. Bookstack support versioning and access control.

Bookstack also support diagram.net integration, so if you need to draw diagram frequently as part of the documentation, you will like this integration.


LDAP Manager

LDAP manager is just a web interface for administrator to create or modify user account. And user will use this web interface for password changing.

Guacamole

Last but not least , Guacamole for IT guy like us. I found that it is very troublesome to look for SSH or RDP client whenever we need to perform some simple task or troubleshooting issue. So I decided to have Guacamole as my web base ssh client.

Apache Guacamole is a clientless remote desktop gateway. It supports standard protocols like VNC, RDP, and SSH. They call it clientless because no plugins or client software are required. Thanks to HTML5, once Guacamole is installed on a server, all you need to access your desktops is a web browser.

This will be the end of part one. I will share the installation of each components in part two.



---

Comments

Popular posts from this blog

Setup mail server with ldap authentication in docker

How to allow non root user to execute hping command ?

Boot Acronis from PXE