{"id":20848523,"url":"https://github.com/helloworld017/kaede-api","last_synced_at":"2026-04-20T22:31:10.784Z","repository":{"id":42300228,"uuid":"235118277","full_name":"HelloWorld017/kaede-api","owner":"HelloWorld017","description":"An api server for kaede, a neat ghost theme","archived":false,"fork":false,"pushed_at":"2022-12-11T21:18:58.000Z","size":235,"stargazers_count":1,"open_issues_count":10,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-12-28T11:07:46.292Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/HelloWorld017.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-01-20T14:19:16.000Z","updated_at":"2023-03-31T18:24:21.000Z","dependencies_parsed_at":"2023-01-27T07:16:05.808Z","dependency_job_id":null,"html_url":"https://github.com/HelloWorld017/kaede-api","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/HelloWorld017/kaede-api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HelloWorld017%2Fkaede-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HelloWorld017%2Fkaede-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HelloWorld017%2Fkaede-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HelloWorld017%2Fkaede-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/HelloWorld017","download_url":"https://codeload.github.com/HelloWorld017/kaede-api/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HelloWorld017%2Fkaede-api/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32068472,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-20T21:26:33.338Z","status":"ssl_error","status_checked_at":"2026-04-20T21:26:22.081Z","response_time":94,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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-11-18T02:26:25.972Z","updated_at":"2026-04-20T22:31:10.763Z","avatar_url":"https://github.com/HelloWorld017.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Kaede API\nAn api server for [Kaede](https://github.com/HelloWorld017/kaede), a neat ghost theme.  \nThis server works as a third-party application of the Ghost Blogging Platform and provides awesome features.\n\n## Features\n* Like\n  * This server provides `like` function, which is same as 'clap' of medium.\n\n* Comment\n  * This server provides simple anonymous comment system.\n\n## Requirements\n* Node.js \u003e= 10  \n* MongoDB\n\n## Docker\nYou can install this server by Docker.\n\n### Example\n`docker-compose.yml`\n\n```yaml\nversion: '3'\nservices:\n  kaede_api:\n    image: 'khinenw/kaede-api:1.0.1'\n    restart: always\n    environment:\n      - GHOST_URL=https://blog-api.example.com\n      - GHOST_KEY=123456789abcdef0123456789a\n      - ADMIN_PASSWORD=admin-kaede-password-here\n      - MONGODB_HOST=db\n      - MONGODB_USERNAME=root-username-here\n      - MONGODB_PASSWORD=root-password-here\n    depends_on:\n      - database\n    ports:\n      - '11005:11005'\n    networks:\n      - kaede\n\n  database:\n    image: mongo\n    restart: always\n    environment:\n      - MONGO_INITDB_ROOT_USERNAME=root-username-here\n      - MONGO_INITDB_ROOT_PASSWORD=root-password-here\n    volumes:\n      - database:/data/db\n    networks:\n      kaede:\n        aliases:\n          - db\n\nvolumes:\n  database:\n\nnetworks:\n  kaede:\n```\n\n## Environments\n| Name               | Description                                                                                  | Default               |\n|--------------------|----------------------------------------------------------------------------------------------|-----------------------|\n| GHOST_URL          | URL of ghost blog.                                                                           | http://localhost:2368 |\n| GHOST_KEY          | API Key of ghost key. Please refer to the next paragraph                                     |                       |\n| MONGODB_HOST       | **(optional)** Address of MongoDB                                                            | localhost             |\n| MONGODB_PORT       | **(optional)** Port of MongoDB.                                                              | 27017                 |\n| MONGODB_DBNAME     | **(optional)** Database name of MongoDB. Default is `ghost-kaede`                            | ghost-kaede           |\n| MONGODB_USERNAME   | **(optional)** Username of MongoDB. Empty for disable Authentication.                        |                       |\n| MONGODB_PASSWORD   | **(optional)** Password of MongoDB.                                                          |                       |\n| COMMENTS_MAX_COUNT | **(optional)** Maximum amount of comments per post. Negative for disable limit.              | 10000                 |\n| COMMENTS_MAX_AUTHOR| **(optional)** Maximum length of author name.                                                | 32                    |\n| COMMENTS_MAX_CONTENT|**(optional)** Maximum length of content.                                                    | 1500                  |\n| ADMIN_PASSWORD     | **(optional)** Site admin password for comments. Please refer to the next paragraph.         |                       |\n| PORT               | **(optional)** Port of API Server                                                            | 11005                 |\n\n### Ghost API Key\nYou'll need a [Ghost API Key](https://ghost.org/docs/api/v3/content/#key) to use this server.  \nYou can get it on `Integrations \u003e Add custom integraion \u003e Content API Key` in your Ghost admin page.\n\n### Admin Password\nYou can delete any comment with this password and you can emphasize your comment by entering this password when you're writing comment.  \nYou can disable Admin Login by set this as empty value.\n\nIt **should be hashed** using sha256 + pbkdf2.  \nYou can use `node /usr/src/app/genpassword` in your docker container to generate your password.\n```console\n$ sudo docker ps\nCONTAINER ID        ...   NAMES\n0a8e7db176b4        ...   kaede_kaede_api_1\n\n$ sudo docker exec -it kaede_kaede_api_1 node /usr/src/app/genpassword\n```\n\n### Max length\nWhen you update `COMMENT_MAX_AUTHOR` and `COMMENT_MAX_CONTENT`, you should update\n`$KaedeCommentsMaxAuthor` and `$KaedeCommentsMaxContent` options in theme configuration, too.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhelloworld017%2Fkaede-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhelloworld017%2Fkaede-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhelloworld017%2Fkaede-api/lists"}