This repository has been archived by the owner. It is now read-only.
BrainDump is a simple, powerful, and open note taking platform that makes it easy to organize your life.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
circle.yml Bring back docker email Jan 10, 2017
gulpfile.js [migration] add shared_notes Aug 30, 2016

DEPRECATED: Read more here and join me in using and contributing to Standard Notes instead.


BrainDump is a simple, powerful, and open note taking platform that makes it easy to organize your life.


  • RESTful API (WIP)
  • Full Markdown Editing
  • Full Markdown Viewing
  • Share Notes via Email
  • Categorize Notes into Notebooks
  • Categorize Notes with Tags
  • Full Text Search
  • Mark notes as Favorites


Organize your Notes with Notebooks


Powerful Markdown based Editing with Prose Mirror

New Note

All of your Notes in One Place

All Notes


The easiest way to hack on braindump is with Vagrant


  1. VirtualBox
  2. Vagrant
  3. Git

Development Instructions

  1. Fork and Clone this repo locally
  2. cd into the new repo
  3. Run vagrant up
  4. The first time you run vagrant up the provisioner (scripts/ will run which takes a bit of time. Each subequent time will be much quicker.
  5. Run vagrant ssh to enter the Vagrant box.
  6. Go to the /vagrant directory with cd /vagrant which is a synced folder of your local git repo.
  7. Run scripts/ to start the application
  8. Go to localhost:5000 to view the app, any changes you make locally will be reflected in the Vagrant environment.

Deploying to Production

The only official method of deploying Braindump is with Docker. is currently running on an Ubuntu 16.04 LTS server on Linode. You can view scripts/ to see how braindump is currently being deployed to production via CircleCI.


  1. Docker and Docker Compose
  2. SMTP (Required for Creating new Accounts and Sharing Notes)

Deployment Instructions

  1. Log into your Production Server and install Docker and Docker Compose

  2. Create a new directory for braindump mkdir -p /var/www/braindump

  3. Edit scripts/ and add your site specific environment credentials.

  4. Edit etc/conf/nginx.conf and add your site specific nginx configuration

  5. From your local repo, send latest scripts to production Server

    rsync -avz scripts/ $USER@SERVER:/var/www/braindump/scripts/
    rsync -avz etc/ $USER@SERVER:/var/www/braindump/etc/
    scp docker-compose.yml $USER@SERVER:/var/www/braindump
  6. From your local repo, log into production server, pull and restart Docker

    ssh $USER@SERVER 'cd /var/www/braindump && docker-compose pull'
    ssh $USER@SERVER 'cd /var/www/braindump && docker-compose build'
    ssh $USER@SERVER 'cd /var/www/braindump && source scripts/ && docker-compose up -d'
  7. (Optional) to set up automatic backups (every 6 hours) add the backup script to your crontab crontab scripts/braindump-backup

If all goes well, you will be able to navigate to $YOUR_SERVER in a browser and see the app. If you get a bad gateway error, or some other error try to run docker-compose in the foreground to get additional logging cd /var/www/braindump && source scripts/ && docker-compose up