Sign inSign up

adhocratie/metabase

By adhocratie

Updated about 5 years ago

Image
0

174

adhocratie/metabase repository overview

This image is part of the Adhocratie project.

Checkout our Github repository for more details : https://github.com/adhocratie/adho-compose


Introduction

Adhocratie is a powerful and modern solution for managing businesses & team collaboration. It is released under AGPL 3.0 License and open to contributions.

The project aims to provide people with an easily setup, easily maintained, integrated and full-featured collaboration platform. It is designed to be a full-featured enterprise-grade solution. For the time, it ships :

  • AdhoCore : core services for user management, componement integration ...
  • Keycloak : to provide a centralized User management and Single Sign-on for all components
  • Mailu server : email server with advanced features (aliases, auto-reply, auto-forward, antispam, ...)
  • Radicale : for hosting user calendars and addressbooks
  • Jitsi Meet : for videoconferencing
  • Outline : Team-oriented knowledge base & wiki
  • Mattermost : ChatOps, Team-Messaging (Slack-alternative)
  • Wekan : Full-featured Kanban boards
  • Scrumblr : Post-it boards for agile & visual meetings
  • Seatable : Self-hosted spreadsheet-database hybrid (Airtable alternative)
  • Metabase : Reporting and data analytics.
  • Roundcube : The most popular open Webmail.
  • Zpush : Exchange ActiveSync Gateway

All these components are strongly integrated, you can for example :

  • Create a Jitsi meeting from Mattermost and send an iCalendar RSVP event to all participants
  • Synchronize Seatable Data with Metabase and build powerful dashboards
  • Integrate rich content (seatable base, wekan board, drawio diagrams, metabase dashboards) into Outline documents
  • Access a Global Address List (GAL) from Webmail or Exchange Gateway
  • Search Outline documents from Mattermost

Installation

Perequisites
Domain name

You will need to choose a master domain for you platform. It can be an organization domain (example: mycompany.com).

This choice is important because :

  • Your services will be reachable thru {{service}}.masterdomain.com
  • Your platform email addresses will be {{user}}@masterdomain.com (if you choose to use Adhocratie mail server)
A physical / virtual server

Any distribution that could run Docker and Docker-compose. This tutorial will cover a Debian based distribution case, but apart from Docker and Docker-compose installation, all steps remain the same for all distributions.

The minimal requirements for that server are :

  • 4GB RAM (8GB + recommended)
  • 2 CPU Cores/Vcores (4+ recommended)
  • Sufficient network bandwidth (for videoconferencing)
  • 10 GB of storage (to ajust according to your needs)
  • Outgoing SMTP enabled (email server features)

The server can be deployed in closed network, services will be reached only from within the network. You must therefore set up a route to enable outgoging SMTP (if email server features are used).

DNS configuration

You will need to setup some DNS entries to make Adhocratie services reachable.

HostRecord TypeMandatoryValue
mail.masterdomainA/CNAMEIP/FQDN of your server
auth.masterdomainA/CNAMEIP/FQDN of your server
autodiscover.masterdomainA/CNAMEExchange ActiveSync GatewayIP/FQDN of your server
cnf.masterdomainA/CNAMEIP/FQDN of your server
coz.masterdomainA/CNAMEIP/FQDN of your server
imap.masterdomainA/CNAMEUsed for better email client autodiscoverIP/FQDN of your server
kan.masterdomainA/CNAMEIP/FQDN of your server
manage.masterdomainA/CNAMEIP/FQDN of your server
mel.masterdomainA/CNAMEIP/FQDN of your server
pop.masterdomainA/CNAMEUsed for better email client autodiscoverIP/FQDN of your server
scrumblr.masterdomainA/CNAMEIP/FQDN of your server
smtp.masterdomainA/CNAMEUsed for better email client autodiscoverIP/FQDN of your server
tab.masterdomainA/CNAMEIP/FQDN of your server
viz.masterdomainA/CNAMEIP/FQDN of your server
wik.masterdomainA/CNAMEIP/FQDN of your server
s3.masterdomainA/CNAMEIP/FQDN of your server

The following DNS entries can be set AFTER the server deployment since DKIM keys are generated on the fly.

These entries are related to mail server features, you won’t need them if you don’t use mail.

HostRecord TypeValuePriority
masterdomainMXIP/FQDN of your server10
masterdomainTXTv=spf1 mx a:mail.masterdomain -all
dkim._domainkey.masterdomainTXTRetreive from Manage UI
_dmarc.masterdomainTXTRetreive from Manage UI
Wildcard TLS certificate

You will need a Wildcard certificate for your masterdomain. You can order one from an SSL provider (recommended for production) or use a Let's Encrypt one.

This is an Wildcard request example using certbot :

certbot certonly \
  --server https://acme-v02.api.letsencrypt.org/directory \
  --manual \
  -d '*.mycompany.com' \
  --preferred-challenges dns
Deploying the platform

Prepare a Shell on your target server and do the following.

➡️ Install Docker and Docker-compose

Some links to help you :

➡️ Disable any SMTP server on the host (it may conficts with Mailu)

# Example for exim4
systemctl stop exim4
systemctl disable exim4

➡️ Clone adh-compose Git repository

git clone https://github.com/adhocratie/adho-compose.git

➡️ Generate the configuration

The config.yml file contains all necessary configuration to setup you Adhocratie platform. Most parameters are commented and/or straight forward.

  • Make sure to set platform.domain and all related platform params.
  • Make sure to replace default password by secure ones (use the comments to help you).

You can then generate the configuration using :

cd adh-compose.git
./gen_conf

➡️ Deploy your domain Wildcard certificate

Put your domain wildcard certificate files under ssl directory.

ssl
├── cert.pem      -> Your domain wildcard certificate (fullchain)
├── key.pem       -> Associated private key
└── PLACEHOLDER

➡️ Run deployment

./deploy

➡️ Create an administrator account

docker-compose run sanji /scripts/add_admin_user John Doe [email protected]

➡️ Connect to Manage UI & finish your administrator account configuration

Simply connect to https://manage.platformdomainx and follow the account configuration wizard.

➡️ Goto Team section in the manage UI & finish the platform configuration

Goto the Team Section and make sure to update :

  • your team name and logo
  • Mail-related DNS entries if you use mail server features

Support & documentation

Support Us

Adhocratie is powerful, yet it is Open. So start using it and talking about it. We have a very low marketing budget, we count on you to spread the good word.

Tag summary

Content type

Image

Digest

Size

465.2 MB

Last updated

about 5 years ago

docker pull adhocratie/metabase