{"id":13911265,"url":"https://github.com/danobot/notorious","last_synced_at":"2025-04-22T12:22:00.103Z","repository":{"id":37181458,"uuid":"245994956","full_name":"danobot/notorious","owner":"danobot","description":"Offline-first note taking and knowledge management application for desktop and the web. Supports nested notebooks, tags, real-time sync, images and file attachments. Optimised for efficiency with keyboard navigation, full-text search and version control. Never lose a thought. Private, fast, notorious 😈","archived":false,"fork":false,"pushed_at":"2023-02-04T03:28:56.000Z","size":5936,"stargazers_count":123,"open_issues_count":55,"forks_count":8,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-03-29T15:05:23.655Z","etag":null,"topics":["auto-save","couchdb","electron","knowledge-management","markdown","note-taking","notes","offline-storage","react","synchronization"],"latest_commit_sha":null,"homepage":"https://danobot.github.io/notorious-landing","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/danobot.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"COPYING","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null},"funding":{"custom":["https://paypal.me/danielb160","https://gofund.me/7a2487d5"]}},"created_at":"2020-03-09T09:35:10.000Z","updated_at":"2025-02-07T02:57:56.000Z","dependencies_parsed_at":"2023-02-18T13:30:46.628Z","dependency_job_id":null,"html_url":"https://github.com/danobot/notorious","commit_stats":null,"previous_names":[],"tags_count":44,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danobot%2Fnotorious","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danobot%2Fnotorious/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danobot%2Fnotorious/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danobot%2Fnotorious/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/danobot","download_url":"https://codeload.github.com/danobot/notorious/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250237910,"owners_count":21397414,"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":["auto-save","couchdb","electron","knowledge-management","markdown","note-taking","notes","offline-storage","react","synchronization"],"created_at":"2024-08-07T00:02:04.175Z","updated_at":"2025-04-22T12:22:00.081Z","avatar_url":"https://github.com/danobot.png","language":"TypeScript","funding_links":["https://paypal.me/danielb160","https://gofund.me/7a2487d5"],"categories":["TypeScript"],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e\n  \u003cbr\u003e\n  \u003ca href=\"https://danobot.github.io/notorious-landing\"\u003e\u003cimg src=\"https://github.com/danobot/notorious/raw/master/resources/icons/256x256.png\" alt=\"Notorious\" width=\"200\"\u003e\u003c/a\u003e\n  \u003cbr\u003e\n  Notorious\n  \u003cbr\u003e\n\u003c/h1\u003e\n\n\u003ch4 align=\"center\"\u003eOffline-first note taking application for desktop and the web. Private, fast, notorious 😈\u003c/h4\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"#\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/package-json/v/danobot/notorious?style=flat-square\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/danobot/notorious/releases/latest\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/downloads/danobot/notorious/total.svg?style=flat-square\u0026color=green\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/danobot/notorious/blob/develop/COPYING\"\u003e\n      \u003cimg src=\"https://img.shields.io/github/license/danobot/notorious.svg?style=flat-square\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://paypal.me/danielb160\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/donate-PayPal-blue.svg?style=flat-square\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://gofund.me/7a2487d5\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/donate-GoFundMe-orange?style=flat-square\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"#getting-started\"\u003eGetting Started\u003c/a\u003e •\n  \u003ca href=\"#development-setup\"\u003eDevelopment Setup\u003c/a\u003e •\n  \u003ca href=\"https://danobot.github.io/notorious\"\u003eReact API Docs\u003c/a\u003e •\n  \u003ca href=\"https://danobot.github.io/notorious-landing\"\u003eLanding Page\u003c/a\u003e •\n  \u003ca href=\"https://github.com/danobot/notorious/releases/latest\"\u003eDownload\u003c/a\u003e\n\u003c/p\u003e\n\n![Markdown Boilerplate](images/md_boilerplate.png)\n\n# Introduction\n\n\n|Stream|Status|\n|---|---|\n|Latest|![latest](https://github.com/danobot/notorious/workflows/Build/badge.svg?style=flat-square\u0026branch=develop)|\n|Master|![master](https://github.com/danobot/notorious/workflows/Build/badge.svg?style=flat-square\u0026branch=master)|\n\n**Note Context Menu**\n![Note Context Menu](images/context_menu.png)\n\n**Global Search is mapped to Ctrl + G and allows search by title and note content**\n![Global Search](images/global_search.png)\n\n**Notebook context menu options**\n![Notebook Context Menu](images/notebook_context_menu.png)\n\n**Tag selection for notes**\n![Tag Editor](images/tag_editor.png)\n# Donations\n\n**Donations ensure the following:**\n\n- 🔨 Long term maintenance of the project\n- 🛣 Progress on feature requests\n- 🐛 Quick responses to bug reports and help requests\n\n\n[Support my projects on GoFundMe](https://gofund.me/7a2487d5)\n\n[Support my projects via PayPal](https://paypal.me/danielb160)\n\nPlease consider supporting development (See [Contributions](#contributions)). We are actively looking for contributors.\n\n# Getting Started\n\n## Step 1: Download the Desktop App\n\nGo to the [Github releases page](https://github.com/danobot/notorious/releases/latest) and download the installer for your platform. For a web based alternative, use the `notorious_web` docker deployment (read on for more on that).\n\nFrom here you have two options:\n\n* **Set up your own backend** for usage across multiple devices, including synchronisation and replication.\n* **Local data directory only**: Use Notorious without a backend and store all data locally (not recommended, see [Backing Up Data Directory](#backing-Up-Data-Directory)).\n\nYou may use the dev environment backend to try Notorious before you set up your own backend. Do not store personal information on this instance because it does not persist data.\n```\nhost: https://notorious-dev.danielbkr.net\nuser: admin\npassword: admin\n```\n\n## Step 2: Docker Compose Setup\n\n### Step 2.1: Get the Docker Compose Files\n\nNotorious backend is a CouchDB database and an optional web interface for accessing Notorious through a web browser. There are 3 containers:\n \n|Container|Description|Required|\n|---|---|---|\n|`couchdb`|CouchDB server|Required|\n|`notorious_web`|Optional web server for accessing Notorious via a web browser. You can comment out this section to disable it.|Optional, but kinda cool|\n\nI have included `docker-compose.sample.yaml` and `.env.sample` file to get you started quickly. Download and rename these files into a local folder. (You can clone this repository and run the commands below).\n\n```\nmv .env.sample .env\nmv docker-compose.sample.yaml docker-compose.yaml\n```\n### Step 2.2: Edit the defaults\n\nEdit the contents of `.env`, providing long and secure passwords and changing the domain names and customise the docker labels to suit your Traefik setup. If you want to access Notorious from outside your home network the backend server needs to be externally accessible.\n\n|Envrionment Variable|Description|\n|---|---|\n|`COUCHDB_USER`|Used by CouchDB server during setup.|\n|`COUCHDB_PASSWORD`| Used by CouchDB server during setup.|\n|`DB_URL`| Used by the web deployment (to access Notorious via a browser).|\n|`DB_SCHEME`| Used by the web deployment (to access Notorious via a browser).|\n\n### Step 2.3: Start the docker compose stack\n You can start the stack using `docker-compose up -d`. \n\n### Step 2.4: Initialise the database\n\nBefore you can start using Notorious you must initialise the CouchDB server by opening this link in your browser. Change the `admin:admin` part to match `COUCHDB_USER:COUCHDB_PASSWORD` according to the environment variables defined in step 2.\n\n```\nhttp://admin:admin@hostname:5984/_utils#setup\n```\n\n## Step 3: Link Notorious on your Desktop to the backend\n\n\n\n\n## Web deployment\nThe `notorious_web` container spins up a web server you can use to access your notes through a web browser on the go. Take special note of the `volumes` section, which passes in the `.env` file to the container because the `DB_URL` string is required in order to connect back to your server.\n\nI recommend you put this behind some kind of basic authentication such as Traefik's `basic auth` middleware.\n\n### Deploying static assets\nYOu can generate static assets for web deployment using the `yarn build-web` command. The compiled files are available in the `web/dist` directory.\n\n# Backing Up Data Directory \nThis is applicable only if you don't have a backend server. Backing up or restoring the data directory when data is being synced to a remote server is untested and may have nasty consequences.\n\nData is stored in `C:\\Users\\\u003cusername\u003e\\AppData\\Roaming\\Notorious\\data`, backing up this directory will help avoid data loss. Make sure to close Notorious before any backup and restore operation to avoid data corruption.\n\n# Development Setup\nEnsure your NodeJS installation includes all build tools installed by the installer (python;visualstudio2017-workload-vctools). If not, it's easiest to uninstall and install the latest version of node. This is because the template on which this repository is based depends on `node-gyp` which requires Visual studio build tools installed.|\n\nIf you are having problems please check:\nhttps://github.com/electron-react-boilerplate/electron-react-boilerplate/issues/400\n\nOnce that is out of the way and the `yarn` command completes successfully, you can start the app for development using `yarn dev`. This starts the renderer process in [**hot-module-replacement**](https://webpack.js.org/guides/hmr-react/) mode and starts a webpack dev server that sends hot updates to the renderer process.\n\n```bash\nyarn dev\n```\n\nRunning production version for debugging:\n\n```\nDEBUG_PROD=true yarn build \u0026\u0026 DEBUG_PROD=true yarn start\n\n```\n\n# Packaging for Production\n\nTo package apps for the local platform:\n\n```bash\n$ yarn package-win\n```\n\n# Contributing\nContributions in any form are encouraged and happily merged back into the codebase. You can help by:\n\n* star this repository,\n* raising issues, \n* helping new users with issues they may encounter,\n* improving documentation,\n* submitting pull request with your kickass new features and bug fixes (raise a discussion issue first),\n* recommending the software to others (Spreading the word),\n* donating spare change\n\nThere is an immense backlog of work to be done on this and I will not be able to do it by myself. If you are into React dev and would like to help me on this project please get in touch.\n\n\n# License GNU GPLv3\n\nThis license was chosen to ensure this project stays open source and contributor enhancements are made available to the public.\n\n**GNU GPLv3**\nPermissions of this strong copyleft license are conditioned on making available complete source code of licensed works and modifications, which include larger works using a licensed work, under the same license. Copyright and license notices must be preserved. Contributors provide an express grant of patent rights.\n\nSee `COPYING` for complete license text.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanobot%2Fnotorious","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdanobot%2Fnotorious","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanobot%2Fnotorious/lists"}