MM-Wiki: A Lightweight Enterprise Wiki & Team Collaboration Tool

5月6日 Published inKnowledge Management

MM-Wiki is a lightweight knowledge-sharing and team collaboration platform. It is designed to help organizations deploy and maintain an internal company wiki with minimal overhead.

Key Features

  • Effortless Deployment – Built with Go. Simply download the binary for your specific platform and run it.
  • Quick Installation – Includes a user-friendly, web-based installer to eliminate manual configuration headaches.
  • Dedicated Spaces – Organize content into distinct spaces, typically assigned to specific departments or teams. Documents remain isolated within their respective spaces, and access can be managed on a per-space basis.
  • Markdown Support – Create and edit content using Markdown syntax. Supports file attachments.
  • Granular Permissions – Manage system access through a flexible permission engine. Create custom roles and assign precise access levels to different users.
  • Unified Authentication – Authenticate users through external systems, including seamless integration with corporate LDAP.
  • Email Notifications – Stay updated with automated alerts. When enabled, any document changes will trigger a notification to all users following that document.
  • Sharing & Exports – Easily share documents or download them for offline use. Currently, document downloads are available in Markdown source format.
  • Full-Text Search – Quickly locate information with a powerful search engine that indexes all documents.

Installation Guide

Linux

  1. Create and navigate to a new directory:

    mkdir mm_wiki && cd mm_wiki
    
  2. Download the latest package (Example for Linux amd64):

    wget [download link]
    
  3. Extract the archive to the current directory:

    tar -zxvf mm-wiki-linux-amd64.tar.gz
    
  4. Navigate to the installation folder and run the installer:

    cd install
    ./install
    

    The default port is 8090. You can specify a different port using --port=8087.

  5. Open http://[your-ip]:8090 in your web browser and follow the installation wizard.

  6. Once the setup is complete, stop the installer and launch MM-Wiki:

    cd ..
    ./mm-wiki --conf conf/mm-wiki.conf
    
  7. Access the IP and port displayed in your terminal to start using MM-Wiki.

Windows

  1. Download the latest Windows amd64 package.
  2. Manually extract the files to your desired directory.
  3. Enter the install folder and double-click install.exe.
  4. Open http://[your-ip]:8090 in your browser and complete the setup wizard.
  5. Close the installer window. Open a command prompt in the program's root directory and run:
    mm-wiki.exe --conf conf/mm-wiki.conf
    
  6. Access the designated IP and port in your browser to log in.

Docker

Prepare the Database Import the docs/databases/data.sql and docs/databases/table.sql files into your MySQL instance. Note: You must uncomment the first admin user "insert" statement in data.sql before importing.

Deployment

Option 1 – DockerHub (Recommended)

  1. Pull version v0.1.7 from DockerHub.
  2. Create a configuration file named mm-wiki.conf. Define your data directory and MySQL connection strings.
  3. Launch the container:
    docker run -d -p 8080:8081 -v /data/mm-wiki/conf/:/opt/mm-wiki/conf/ -v /data/mm-wiki/data:/data/mm-wiki/data/ --name mm-wiki eahom/mm-wiki:v0.1.7
    

Option 2 – Build from Source

  1. Build the Docker image:
    docker build -t mm-wiki-image .
    
  2. Create the mm-wiki.conf file with your specific data directory and MySQL settings.
  3. Run the container:
    docker run -d -p 8080:8081 -v /data/mm-wiki/conf/:/opt/mm-wiki/conf/ -v /data/mm-wiki/data:/data/mm-wiki/data/ --name mm-wiki mm-wiki-image
    

Nginx Reverse Proxy (Optional) To serve MM-Wiki behind Nginx, use the following configuration:

upstream frontends {
    server 127.0.0.1:8088;   # Replace with MM-Wiki's IP and port
}

server {
    listen 80;
    server_name wiki.intra.xxxxx.com www.wiki.intra.xxxxx.com;

    location / {
        proxy_pass_header Server;
        proxy_set_header Host $http_host;
        proxy_redirect off;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Scheme $scheme;
        proxy_pass http://frontends;
    }

    location /static {
        root /www/mm-wiki;   # Path to MM-Wiki root directory
        expires 1d;
        add_header Cache-Control public;
        access_log off;
    }
}

Development

Requirements: Go 1.8 or higher.

To build the project from source:

git clone https://github.com/phachon/mm-wiki.git
cd mm-wiki
go build ./