casbtosint / mintter

Mintter: an app for knowledge communities. Powered by the Hypermedia protocol.

Home Page:https://mintter.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Mintter

Mintter is a decentralized knowledge collaboration application for open communities powered by a knowledge graph.

You can read more about the product and why we are here on our website: https://mintter.com.

Hypermedia Protocol

Mintter supports the new Hypermedia Web Protocol. This open protocol supports secure identities, version control, semantic documents, multimedia, and groups/organizations.

Desktop App + Web Server

This repo includes:

  1. Mintter Desktop - app for writing, reading, and saving Hypermedia content
  2. Mintter Web Server - public web experience, a read-only portal of the Hypermedia network

⚠️ Stability

This is alpha-quality software. Have a copy of anything valuable you put into Mintter.

Dev Environment

See the developer setup page for detailed instructions.

The dev environment on macOS+Linux uses the Nix Package Manager, and Direnv. The setup on Linux is a bit more involved due to dependencies on system libraries that don't work well on non-NixOS Linux distros.

The bare minimum required for compilation is to have Go, and NodeJS toolchains installed.

./dev is the main dev CLI. Run ./dev to list commands, including:

  • ./dev run-desktop
  • ./dev build-desktop
  • ./dev run-site
  • ./dev build-site

To run the dev build with the production network, use the following command:

MINTTER_P2P_TESTNET_NAME="" ./dev run-desktop

Web Build

You can build docker images for different modules of the system. Always from the repo root path you can issue the following commands:

daemon: docker build -t mintterd . -f ./backend/cmd/mintterd/Dockerfile

gateway: docker build -t gateway . -f ./frontend/gateway/Dockerfile

Deploy a Group Site

To deploy a group into a site, make sure you have a domain name and a server with at least 1GB RAM and 512MB free space in root partition. Run the folloging command in the server:

sh <(curl -sL https://go.hyper.media/website_deployment.sh) https://example.com

replacing https://example.com by your <address> If everything went well, after some seconds, you should be watching a final output line like https://example.com/secret-invite/XXXX. You should paste that link back into the owner's application to register the newly created site and start publihing. The site deployment workspace will default to ~/.mtt-site.

Auto-Update a Site

If you want the site to auto update to latest stable images when they are pushed, just execute the installation command with the --auto-update flag. Ex:

sh <(curl -sL https://go.hyper.media/website_deployment.sh) https://example.com --auto-update

About

Mintter: an app for knowledge communities. Powered by the Hypermedia protocol.

https://mintter.com

License:Apache License 2.0


Languages

Language:TypeScript 65.7%Language:Go 30.7%Language:CSS 1.2%Language:JavaScript 0.8%Language:C 0.6%Language:Python 0.4%Language:Nix 0.3%Language:Shell 0.2%Language:Dockerfile 0.1%Language:Starlark 0.1%Language:HTML 0.1%