Skip to content

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

License

Notifications You must be signed in to change notification settings

iknownothing/braindump

 
 

Repository files navigation

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

braindump

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

Features

  • 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

Screenshots

Organize your Notes with Notebooks

Notebooks

Powerful Markdown based Editing with Prose Mirror

New Note

All of your Notes in One Place

All Notes

Development

The easiest way to hack on braindump is with Vagrant

Requirements

  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/bootstrap.sh) 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/start-dev.sh 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. Braindump.pw is currently running on an Ubuntu 16.04 LTS server on Linode. You can view scripts/deploy.sh to see how braindump is currently being deployed to production via CircleCI.

Requirements

  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/secrets.sh 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/secrets.sh && 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/secrets.sh && docker-compose up

About

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

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 59.8%
  • HTML 21.6%
  • JavaScript 7.5%
  • CSS 6.1%
  • Shell 4.2%
  • Nginx 0.5%
  • Mako 0.3%