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.
Mintter supports the new Hypermedia Web Protocol. This open protocol supports secure identities, version control, semantic documents, multimedia, and groups/organizations.
This repo includes:
- Mintter Desktop - app for writing, reading, and saving Hypermedia content
- Mintter Web Server - public web experience, a read-only portal of the Hypermedia network
This is alpha-quality software. Have a copy of anything valuable you put into Mintter.
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
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
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
.
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