{"id":13798538,"url":"https://github.com/seed-hypermedia/mintter","last_synced_at":"2025-04-25T16:24:45.801Z","repository":{"id":62128350,"uuid":"244331126","full_name":"seed-hypermedia/mintter","owner":"seed-hypermedia","description":"Mintter: an app for knowledge communities. Powered by the Hypermedia protocol.","archived":true,"fork":false,"pushed_at":"2025-01-02T19:08:51.000Z","size":110146,"stargazers_count":168,"open_issues_count":131,"forks_count":11,"subscribers_count":8,"default_branch":"main","last_synced_at":"2025-04-24T10:12:26.803Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://mintter.com","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/seed-hypermedia.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-03-02T09:30:35.000Z","updated_at":"2025-04-16T20:27:24.000Z","dependencies_parsed_at":"2023-09-23T15:53:04.114Z","dependency_job_id":"86676e32-96f3-4e72-acd5-27b49f52c48a","html_url":"https://github.com/seed-hypermedia/mintter","commit_stats":{"total_commits":5433,"total_committers":15,"mean_commits":362.2,"dds":0.6482606294864716,"last_synced_commit":"9925fa62e17cad96a9220b5ceb60ac420d25d0aa"},"previous_names":["mintterhypermedia/mintter","mintterteam/mintter","seed-hypermedia/mintter"],"tags_count":331,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seed-hypermedia%2Fmintter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seed-hypermedia%2Fmintter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seed-hypermedia%2Fmintter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seed-hypermedia%2Fmintter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/seed-hypermedia","download_url":"https://codeload.github.com/seed-hypermedia/mintter/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250851537,"owners_count":21497710,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-04T00:00:45.588Z","updated_at":"2025-04-25T16:24:45.753Z","avatar_url":"https://github.com/seed-hypermedia.png","language":"TypeScript","funding_links":[],"categories":["Apps","TypeScript"],"sub_categories":[],"readme":"⚠️ This is an old repo, preserved for historical purposes.\n\nGo to https://github.com/seed-hypermedia/seed for the latest version.\n\n# Mintter\n\nMintter is a decentralized knowledge collaboration application for open\ncommunities powered by a knowledge graph.\n\nYou can read more about the product and why we are here on our website:\nhttps://mintter.com.\n\n### Hypermedia Protocol\n\nMintter supports the new [Hypermedia Web Protocol](https://hyper.media/). This\nopen protocol supports secure identities, version control, semantic documents, multimedia,\nand groups/organizations.\n\n### Desktop App + Web Server\n\nThis repo includes:\n\n1. Mintter Desktop - app for writing, reading, and saving Hypermedia content\n2. Mintter Web Server - public web experience, a read-only portal of the Hypermedia network\n\n## ⚠️ Stability\n\nThis is alpha-quality software. Have a copy of anything valuable you put into\nMintter.\n\n## Dev Environment\n\nSee the [developer setup](./docs/docs/dev-setup.md) page for detailed instructions.\n\nThe dev environment on macOS+Linux uses the [Nix Package Manager](https://nixos.org/nix),\nand [Direnv](https://direnv.net). The setup on Linux is a bit more involved due\nto dependencies on system libraries that don't work well on non-NixOS Linux distros.\n\nThe bare minimum required for compilation is to have Go, and NodeJS toolchains\ninstalled.\n\n[./dev](./dev) is the main dev CLI. Run `./dev` to list commands, including:\n\n- `./dev run-desktop`\n- `./dev run-desktop-mainnet`\n- `./dev build-desktop`\n- `./dev run-site`\n- `./dev build-site`\n\nTo run the dev build with the production network, use the following command:\n\n```\nMINTTER_P2P_TESTNET_NAME=\"\" ./dev run-desktop\n```\n\n## Frontend Testing\n\n```bash\nyarn test               # test all the packages\nyarn desktop:test       # test desktop app (e2e only now)\nyarn site:test          # test only site code (WIP)\n```\n\n## Web Build\n\n## Group sites\n\nGroup sites need two programs to run. The daemon which includes the P2P node (go app)\nand the frontend that renders documents (nextjs app). However for a production\ndeployment everything is orchestrated by docker compose. Read next sections for how to\neither deploy a site on a production server or run it locally in dev mode\n\n### Deploy a Group Site\n\nTo deploy a group into a site, make sure you have a domain name and\na server with the following requirements:\n1. At least 2GB RAM\n2. Al least 512MB free space in root partition. \n3. Port 56000 open so the p2p connections can reach the server.\n\nAfter checking that, run the following command in the server:\n\n```shell\nsh \u003c(curl -sL https://go.hyper.media/website_deployment.sh) https://example.com\n```\n\nreplacing `https://example.com` by your \u003c`address`\u003e If everything went well,\nafter some seconds, you should be watching a final output line like\n`https://example.com/secret-invite/XXXX`. You should paste that link back into\nthe owner's application to register the newly created site and start publihing.\nThe site deployment workspace will default to `~/.mtt-site`.\n\n#### Auto-Update a Site\n\nIf you want the site to auto update to latest stable images when they are pushed,\njust execute the installation command with the `--auto-update` flag. Ex:\n\n```shell\nsh \u003c(curl -sL https://go.hyper.media/website_deployment.sh) https://example.com --auto-update\n```\n\n#### Replace Site\n\nIf you want to replace an old site with a new site in a different domain in the same machine,\nyou need to redeploy the site from scratch. Note that old content will be available as long as \nthe owner of the site is synced with the site at the moment of the replacement. On the server:\n\n```shell\ndocker stop minttersite\nmv ~/.mtt-site ~/.mtt-site.bak\ndocker start minttersite\n```\nGet the new secret link from the command line after starting the `minttersite` container\nNow in the Mintter App, the Owner of the site can go to the group he/she wants to (re)deploy \nand click on the three dots, and publish group to site. Enter the new secret and the old content\nshould be now available in the new site. If there is no new content (A completely new group), then \nthe site will be empty ready to accept documents\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fseed-hypermedia%2Fmintter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fseed-hypermedia%2Fmintter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fseed-hypermedia%2Fmintter/lists"}