Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

self-hosted version #115

sungwoncho opened this issue Sep 14, 2018 · 5 comments


Copy link

commented Sep 14, 2018

Just an idea:

  • allow users to download Dnote server and self-host
  • allow users to download Dnote web app and self-host
  • allow users to configure backup url to point to the self-hosted server
  • continue to provide a hosted option as a paid offering


  • should the Dnote server and web version be:
    • fully open source
    • an open source community edition with limited features
    • a one time purchase
  • if flat fee, how would the server binary and web app be distributed with proper access control for users who purchased the software?
  • any other ideas?


  • open source the server for syncing notes

This comment has been minimized.

Copy link
Member Author

commented May 10, 2019

#171 open sourced the the server side code, and now we are one step closer to self-hosting. Some things that we need to think about before formalizing self-host guideline:

  • a reliable way for users to run SQL migration files that need to be run.
  • a simple script to set up and run Dnote
  • docker?
  • how would users apply new patch from master?


  • In CLI's .dnoterc, allow to specify the endpoint for sync.

This comment has been minimized.

Copy link

commented May 10, 2019

Excellent! Thanks for the work on this.

For my purposes I would be running this from a docker image. Could be something you setup and publish automatically from your main branch build pipeline.


This comment has been minimized.

Copy link

commented May 13, 2019

Just learned about Dnote. It sounds very promising and would fit my needs well. Just wanted share some thoughts.

  1. Being built with Go, it would be lovely to get simple executable binaries as an option of deployment. Updating dnote? - Just download the latest released binary and put it in place.
  2. Have not yet checked on the SQL side of things - whether dnote needs a full blown database or a simple SQLite. A simple script that would set it up would be a good idea of simple automation.
  3. I like a good old fashioned test/QA release. Whenever you think a feature is complete, you can release a build that is marked for testing, and folks who want to visit the bleeding edge can test and report issues. When you deem it ready, you can promote it to a stable release.
  4. Docker? - I suppose there is a wider audience that would prefer to just "docker run" something. Just wanted to raise my hands here and say that there are odd ones like me who likes to inspect what I'm running and not have it run by a complex daemon running with root privileges. Also, places like OpenBSD where Docker is not commonplace.

Cheers on building such a good project!!!!!


This comment has been minimized.

Copy link
Member Author

commented May 14, 2019

@aravindhsampath Thanks for your input. Where did you learn about Dnote?

  1. It's possible to just provide binaries. But for web client, users will still need to download the latest JavaScript bundle and assets.
  2. Locally Dnote uses SQLite, and there is a module that runs any pending migration. The server side uses postgres and needs a way to automate migration. A bash script can do the work, but users might forget to run it, if not automated.
  3. That is a pretty cool idea akin to FireFox's nightly release. But I will keep it simple for now by just having a master branch as a stable release.
  4. Yeah, we could have a simple bash script to set up and run Dnote, instead of using docker. Could you explain the meaning of "have it run by a complex daemon running with root privileges"? Isn't it possible to run docker as non-root?

This comment has been minimized.

Copy link
Member Author

commented Jul 25, 2019

I have done an initial release for Dnote server. It is a single binary that encompasses the front-end app, API server, and background jobs. Upgrading to new version is as simple as downloading and running a new binary. (thanks for your feedback @aravindhsampath) Database migration is also automated.

There is an official self hosting guide. Currently, Dnote server has the same feature you see on production site. It is marked as a beta release only to allow more improvement on self hosting guide before a stable release.

  • Would it make sense to automate setting up postgres, nginx, systemd by creating an installation script? How feasible is it to do so in a cross-platform manner at least for *nix systems? Such script can be helpful for setting up LetsEncrypt as well.
  • Any other feedback welcomed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
None yet
3 participants
You can’t perform that action at this time.