{"id":30708502,"url":"https://github.com/johan-perso/obsidianinbox-api","last_synced_at":"2026-05-09T06:03:00.981Z","repository":{"id":310357517,"uuid":"1039566120","full_name":"johan-perso/obsidianinbox-api","owner":"johan-perso","description":"Backend server for the Obsidian Inbox plugin","archived":false,"fork":false,"pushed_at":"2026-02-21T12:21:41.000Z","size":15,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-02-21T18:41:01.647Z","etag":null,"topics":["fastify","inbox","obsidian","obsidian-md","obsidian-plugin","obsidian-vault","push-notifications"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/johan-perso.png","metadata":{"files":{"readme":"README.fr.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":"2025-08-17T14:14:45.000Z","updated_at":"2026-02-21T12:21:44.000Z","dependencies_parsed_at":null,"dependency_job_id":"d4c47f72-b312-4b60-858f-5f80415e9744","html_url":"https://github.com/johan-perso/obsidianinbox-api","commit_stats":null,"previous_names":["johan-perso/obsidianinbox-api"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/johan-perso/obsidianinbox-api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johan-perso%2Fobsidianinbox-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johan-perso%2Fobsidianinbox-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johan-perso%2Fobsidianinbox-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johan-perso%2Fobsidianinbox-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/johan-perso","download_url":"https://codeload.github.com/johan-perso/obsidianinbox-api/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johan-perso%2Fobsidianinbox-api/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32809147,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-08T08:22:46.396Z","status":"online","status_checked_at":"2026-05-09T02:00:06.633Z","response_time":123,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["fastify","inbox","obsidian","obsidian-md","obsidian-plugin","obsidian-vault","push-notifications"],"created_at":"2025-09-02T22:01:48.915Z","updated_at":"2026-05-09T06:03:00.975Z","avatar_url":"https://github.com/johan-perso.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"###### English version [here](https://github.com/johan-perso/obsidianinbox-api/blob/main/README.md).\n\n# Obsidian Inbox | API\n\nUne extension pour Obsidian vous permettant de recevoir des fichiers dans votre coffre via une API REST, comme une boîte de réception.\n\n\u003e Ce dépôt GitHub contient le code source nécessaire pour exécuter l'API. Le dépôt de l'extension est [disponible ici](https://github.com/johan-perso/obsidianinbox-plugin).\n\n## Installation\n\n### Installation classique\n\n**Prérequis :**\n\n- Une version récente de [Node.js](https://nodejs.org/fr/download) et de [npm](https://nodejs.org/fr/download) (fourni avec Node.js)\n\t- Obsidian Inbox a été testé avec Node.js v24\n\t- Vous pouvez vérifier la version installée avec la commande `node --version`\n- [Git CLI](https://git-scm.com/)\n\n**Télécharger le code et les dépendances :**\n\n```bash\ngit clone https://github.com/johan-perso/obsidianinbox-api.git\ncd obsidianinbox-api\n\nnpm install\n# ou pnpm install\n```\n\n**Configurer l'API :**\n\n```bash\nmv .env.example .env\nnano .env\n```\n\n\u003e Le mot de passe de l'API doit être défini avec la variable d'environnement `AUTH_PASSWORD`. Celui-ci devra également être configuré dans Obsidian.\n\n**Démarrer l'API :**\n\n```bash\nnpm start\n\n# Pour démarrer l'API en arrière-plan, vous pouvez utiliser PM2 :\n# npm install pm2 -g\n# pm2 start index.js --name obsidianinbox-api\n```\n\n### Installation avec Docker\n\n**Prérequis :**\n\n- [Docker](https://docs.docker.com/get-docker/)\n- [Git CLI](https://git-scm.com/)\n\n**Télécharger le code source :**\n\n```bash\ngit clone https://github.com/johan-perso/obsidianinbox-api.git\ncd obsidianinbox-api\n```\n\n**Configurer l'API :**\n\n```bash\nmv .env.example .env\nnano .env\n```\n\n\u003e Le mot de passe de l'API doit être défini avec la variable d'environnement `AUTH_PASSWORD`. Celui-ci devra également être configuré dans Obsidian.\n\n**Démarrer l'API :**\n\n```bash\ndocker-compose up -d --build\n# Pour voir les logs : docker-compose logs -f\n```\n\n\u003e Pour éviter de perdre des données, vous pouvez monter un volume allant du répertoire `STORAGE_PATH` (valeur du fichier `.env`) vers un répertoire physique sur votre machine hôte.\n\n## Configurer l'extension\n\nLes instructions sont disponibles sur le [dépôt GitHub de l'extension](https://github.com/johan-perso/obsidianinbox-plugin).\n\n## Utilisation de l'API\n\n### Créer des fichiers (POST `/store`)\n\n```bash\ncurl -X POST \"http://localhost:3000/store\" \\\n  -H \"Authorization: \u003cAUTH_PASSWORD\u003e\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"files\":[{\"name\":\"test.md\",\"content\":\"blablabla\",\"force\":false}]}'\n\n# 'force' permet de remplacer un fichier s'il n'a pas encore été synchronisé dans le coffre.\n```\n\n### Récupérer les fichiers (GET `/files`)\n\n```bash\ncurl -X GET \"http://localhost:3000/files\" \\\n\t-H \"Authorization: \u003cAUTH_PASSWORD\u003e\"\n```\n\n### Supprimer des fichiers (DELETE `/delete`)\n\n```bash\ncurl -X DELETE \"http://localhost:3000/delete\" \\\n  -H \"Authorization: \u003cAUTH_PASSWORD\u003e\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"files\":[\"test.md\"]}'\n```\n\n## Licence\n\nMIT © [Johan](https://johanstick.fr). [Soutenez ce projet](https://johanstick.fr/#donate) si vous souhaitez m'aider 💙\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjohan-perso%2Fobsidianinbox-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjohan-perso%2Fobsidianinbox-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjohan-perso%2Fobsidianinbox-api/lists"}