{"id":37910614,"url":"https://github.com/nopol10/nekocap-server","last_synced_at":"2026-01-16T17:19:07.250Z","repository":{"id":43438389,"uuid":"323024260","full_name":"nopol10/nekocap-server","owner":"nopol10","description":"The server used by NekoCap","archived":false,"fork":false,"pushed_at":"2025-06-22T09:07:39.000Z","size":1378,"stargazers_count":4,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-06-22T10:19:56.293Z","etag":null,"topics":["caption","captions","extension","parse-server","subtitle","subtitles","typescript"],"latest_commit_sha":null,"homepage":"https://nekocap.com","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nopol10.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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2020-12-20T08:12:35.000Z","updated_at":"2025-06-22T09:07:43.000Z","dependencies_parsed_at":"2025-06-23T18:31:56.073Z","dependency_job_id":null,"html_url":"https://github.com/nopol10/nekocap-server","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/nopol10/nekocap-server","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nopol10%2Fnekocap-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nopol10%2Fnekocap-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nopol10%2Fnekocap-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nopol10%2Fnekocap-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nopol10","download_url":"https://codeload.github.com/nopol10/nekocap-server/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nopol10%2Fnekocap-server/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28480098,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-16T11:59:17.896Z","status":"ssl_error","status_checked_at":"2026-01-16T11:55:55.838Z","response_time":107,"last_error":"SSL_read: 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":["caption","captions","extension","parse-server","subtitle","subtitles","typescript"],"created_at":"2026-01-16T17:19:07.192Z","updated_at":"2026-01-16T17:19:07.245Z","avatar_url":"https://github.com/nopol10.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://nekocap.com/\" target=\"_blank\" rel=\"noopener\"\u003e\n        \u003cimg src=\"https://user-images.githubusercontent.com/314281/102780389-cc03ed00-43d0-11eb-87c3-6d50a2ab5752.png\" width=\"100\" alt=\"NekoCap logo\"\u003e\n    \u003c/a\u003e\n\u003c/p\u003e\n\n\u003ch1 align=\"center\"\u003eNekoCap Server\u003c/h1\u003e\n\u003cdiv align=\"center\"\u003e\nThe server used by NekoCap for caption submission and retrieval.\n\u003cbr/\u003e\nGet the extension:\n\u003ca href=\"https://chrome.google.com/webstore/detail/nekocap/gmopgnhbhiniibbiilmbjilcmgaocokj\" target=\"_blank\" rel=\"noopener\"\u003e\n        Chrome / Edge\n\u003c/a\u003e | \n\u003ca href=\"https://addons.mozilla.org/en-US/firefox/addon/nekocap/\" target=\"_blank\" rel=\"noopener\"\u003e\n        Firefox\n\u003c/a\u003e\n\u003cbr/\u003e\nWebsite:\n\u003ca href=\"https://nekocap.com/\" target=\"_blank\" rel=\"noopener\"\u003e\n        NekoCap.com\n\u003c/a\u003e\n\u003c/div\u003e\n\u003cbr/\u003e\n\u003cdiv align=\"center\"\u003e\u003cfont size=\"3\"\u003eJoin the Discord here:\u003c/font\u003e\u003c/div\u003e\n\u003cdiv align=\"center\"\u003e\n\n[![Discord Chat](https://img.shields.io/discord/760819014514638888.svg)](https://discord.gg/xZ9YEXY5pd)\n\n\u003c/div\u003e\n\n## Server\n\nThe server runs on [Parse](https://github.com/parse-community/parse-server). The\nNekoCap extension and website calls cloud functions implemented here.\n\nThis project shares Typescript types with the\n[extension project](https://github.com/nopol10/nekocap) so ensure that this\nproject folder sits beside that or modify the path in `tsconfig.json`:\n\n```\n\"paths\": {\n    ...\n    \"@/*\": [\"../nekocap/src/*\"] // \u003c-- Change to your nekocap project's path\n    ...\n}\n```\n\n## Setup for local development\n\n1. Run `npm install`\n1. Install mongodb and create a new database.\n1. Copy the contents of `.env.sample` to `.env` and fill in the details.\n   - `DATABASE_URI` should be the mongodb URI for your database\n   - `FIREBASE_SERVICE_ACCOUNT` is used for Firebase authentication, grab it\n     from your Firebase project\n1. Import `database/nekocap-schema.json` into a collection called `_SCHEMA` in\n   your MongoDB database\n1. Run `npm run watch` to start the server\n\n### If you want to build the NekoCap server Docker image\n\n1. Copy the contents of `Dockerfile.sample` to `Dockerfile`, replace the\n   placeholder strings\n1. Change the path to the NekoCap extension project so that type definitions can\n   be copied for the build.\n1. Run `npm run docker:build` or build the docker image from a **parent**\n   directory of this project as the Dockerfile references directories outside of\n   this project.\n   ```sh\n   cd ..\n   docker build --file=\"./nekocap-server/Dockerfile\" --tag=\"nekocap-server\" .\n   ```\n\n## Environment variables\n\n| Variable                 | Type   | Description                                                                                                                                                                                                                                                                                                                                              | Example                                            |\n| ------------------------ | ------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------- |\n| DATABASE_URI             | string | URI to the mongodb database.                                                                                                                                                                                                                                                                                                                             | mongodb://username:password@localhost/databaseName |\n| APP_ID                   | string | App ID of your Parse Application. You are free to set any name you want for your own instance.                                                                                                                                                                                                                                                           |\n| MASTER_KEY               | string | Master key for the Parse server. Don't lose this and do NOT commit to the repository                                                                                                                                                                                                                                                                     |\n| SERVER_URL               | string | The URL that Parse Cloud Code will use to connect to this Parse server. In development, if INTERNAL_PORT is part of this URL, it will be replaced by PORT. (Using the examples in this table, SERVER_URL will become http://localhost:4041/parse in development. This should also be the PARSE_INTERNAL_SERVER_URL environment variable in the frontend) | http://localhost:4042/parse                        |\n| PUBLIC_SERVER_URL        | string | Publically accessible server URL. This should correspond to NEXT_PUBLIC_PARSE_SERVER_URL on the frontend in production.                                                                                                                                                                                                                                  | https://api.mynekocapinstance.com/parse            |\n| PORT                     | number | The port that the Parse server will listen to. In development, this is the port that the HTTP (not HTTPS) server will listen on. In production (when the PROD environment variable is defined), this is the port that the HTTPS server will listen on.                                                                                                   | 4041                                               |\n| INTERNAL_PORT            | number | The port that the HTTP server will listen on. In development, PORT overrides this and this has no effect.                                                                                                                                                                                                                                                | 4042                                               |\n| FIREBASE_SERVICE_ACCOUNT | string | The path to the json file containing your firebase service account details                                                                                                                                                                                                                                                                               | \"firebase-service-account-key.json\"                |\n| CLOUD_CODE_MAIN          | string | Path to the main cloud code JS file                                                                                                                                                                                                                                                                                                                      | dist/cloud.js                                      |\n| SSL_CERT_PATH            | string | Path to your SSL cert. Only needed in production.                                                                                                                                                                                                                                                                                                        | /path/to/your/cert/cert.pem                        |\n| SSL_KEY_PATH             | string | Path to your private key. Only needed in production.                                                                                                                                                                                                                                                                                                     | /path/to/your/cert/key.pem                         |\n| PROD                     | any    | Define this to denote that the server should be running in production mode                                                                                                                                                                                                                                                                               |                                                    |\n| BACKEND_SENTRY_DSN       | string | URL to send your Sentry events                                                                                                                                                                                                                                                                                                                           |                                                    |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnopol10%2Fnekocap-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnopol10%2Fnekocap-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnopol10%2Fnekocap-server/lists"}