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.
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.
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.
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 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.
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.
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 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 is just a web interface for administrator to create or modify user account. And user will use this web interface for password changing.