{"id":26730309,"url":"https://github.com/splitbrain/meh","last_synced_at":"2025-06-15T05:32:20.646Z","repository":{"id":284632019,"uuid":"951891762","full_name":"splitbrain/meh","owner":"splitbrain","description":"Meh... another comment system","archived":false,"fork":false,"pushed_at":"2025-06-09T10:25:20.000Z","size":396,"stargazers_count":41,"open_issues_count":3,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-09T11:28:15.269Z","etag":null,"topics":["comment-system","commenting","commenting-system","comments","disqus","fediverse","fediverse-tool","javascript","mastodon","php","self-hosted","sqlite"],"latest_commit_sha":null,"homepage":"https://www.splitbrain.org/blog/2025-03/26-meh_another_comment_system","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/splitbrain.png","metadata":{"files":{"readme":"README.md","changelog":null,"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,"zenodo":null}},"created_at":"2025-03-20T12:06:44.000Z","updated_at":"2025-06-09T10:25:11.000Z","dependencies_parsed_at":null,"dependency_job_id":"9a4ba27d-62dd-4661-babc-a465f8c9f6ed","html_url":"https://github.com/splitbrain/meh","commit_stats":null,"previous_names":["splitbrain/meh"],"tags_count":19,"template":false,"template_full_name":null,"purl":"pkg:github/splitbrain/meh","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/splitbrain%2Fmeh","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/splitbrain%2Fmeh/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/splitbrain%2Fmeh/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/splitbrain%2Fmeh/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/splitbrain","download_url":"https://codeload.github.com/splitbrain/meh/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/splitbrain%2Fmeh/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259926928,"owners_count":22933131,"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":["comment-system","commenting","commenting-system","comments","disqus","fediverse","fediverse-tool","javascript","mastodon","php","self-hosted","sqlite"],"created_at":"2025-03-27T23:19:16.384Z","updated_at":"2025-06-15T05:32:20.624Z","avatar_url":"https://github.com/splitbrain.png","language":"PHP","readme":"# ![Meh Logo](meh.svg) Meh…\n\n## …another comment system\n\nMeh…\n\n* …is a simple, no-frills commenting system\n* …has threaded comments\n* …is self-hosted\n* …has multi-site support from a single installation\n* …has multi-language support\n* …has Mastodon integration\n* …has Disqus import\n* …is simple enough to understand and modify\n* …made by [splitbrain](https://www.splitbrain.org)\n\n## Overview\n\nMeh is a commenting system with a client-server architecture:\n\n- **Server Component**: A PHP backend that handles comment storage (in SQLite), moderation, and API endpoints. It can be\n  installed on your own server and supports multiple sites from a single installation.\n\n- **Client Components**: A set of web components (custom HTML elements) that can be embedded in any website to display\n  and submit comments. These components communicate with the server via a REST API.\n\n## Quick Start\n\nA quick and dirty way to get started is to use the built-in PHP server on your local machine.\n\n```bash\ncd backend\ncomposer install\ncd ../frontend\nnpm install\nnpm run build\ncd ..\ncp .env.example .env\n$EDITOR .env\n./meh migrate\nphp -S localhost:8000 -t public\n```\n\nYou can now browse this documentation at `http://localhost:8000`. It will also serve the Meh components and the API.\n\nIn your blog, add the following to your HTML:\n\n```html\n\u003c!-- Add a comment form --\u003e\n\u003cscript type=\"module\" src=\"http://localhost:8000/meh/meh.esm.js\"\u003e\u003c/script\u003e\n\n\u003cmeh-form\u003e\n    \u003cmeh-mastodon\u003e\u003c/meh-mastodon\u003e\n    \u003cmeh-login\u003e\u003c/meh-login\u003e\n\u003c/meh-form\u003e\n\u003cmeh-comments\u003e\u003c/meh-comments\u003e\n```\n\nThis should give you a rough idea how Meh works. For a production setup, you should point your web server at the `public` directory.\n\nMore details on how to set up the server can be found in the [Server Setup](doc/server.md) section.\n\n## Server Setup\n\n* [Server Setup](doc/server.md)\n* [Command Line Tool](doc/cli.md)\n* [Database Setup and Upgrade](doc/migrate.md)\n* [Configuration](doc/config.md)\n* [Multi-site Support](doc/multisite.md)\n* [Mastodon Integration](doc/mastodon.md)\n* [Email Notifications](doc/smtp.md)\n* [Gravatar Integration](doc/gravatar.md)\n* [Importing from Disqus](doc/disqus.md)\n\n## Client Setup and Usage (on your blog)\n\n* [Component Setup](doc/components.md)\n    * [Styling Components](doc/styling.md)\n* [Comment Moderation](doc/moderation.md)\n* [Customizing Translations](doc/translations.md)\n\n## Alternatives\n\nCheck out [open-source self-hosted comments for a static website](https://lisakov.com/projects/open-source-comments/) for a big list of similar projects.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsplitbrain%2Fmeh","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsplitbrain%2Fmeh","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsplitbrain%2Fmeh/lists"}