Standard Notes is a straightforward, encrypted notes app that goals to make coping with your notes the simplest factor you may do all day. When you join a free sync account, your notes are routinely encrypted and seamlessly synced with all of your gadgets.
There are two key components that differentiate Standard Notes from different, business software program options:
- The server and shopper are each utterly open supply.
- The firm is constructed on sustainable enterprise practices and focuses on product improvement.
When you mix open supply with moral enterprise practices, you get a software program product that has the potential to serve you for many years. You begin to really feel possession within the product reasonably than feeling like simply one other transaction for an IPO-bound firm.
In this text, I’ll describe the way to deploy your personal Standard Notes open supply syncing server on a Linux machine. You’ll then have the ability to use your server with our revealed functions for Linux, Windows, Android, Mac, iOS, and the online.
If you don’t wish to host your personal server and are prepared to start out utilizing Standard Notes immediately, you should utilize our public syncing server. Simply head on over to Standard Notes to get began.
Hosting your personal Standard Notes server
Get the Standard File Rails app working in your Linux field and expose it by way of NGINX or every other net server.
Getting began
These directions are primarily based on establishing our syncing server on a recent CentOS-like set up. You can use a internet hosting service like AWS or DigitalOcean to launch your server, and even run it domestically by yourself machine.
-
Update your system:
sudo yum replace
-
Install RVM (Ruby Version Manager):
gpg --keyserver hkp://keys.gnupg.internet --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3curl -sSL https://get.rvm.io | bash -s steady
-
Begin utilizing RVM in present session:
supply /house/ec2-consumer/.rvm/scripts/rvm
-
Install Ruby:
rvm set up ruby
This ought to set up the newest model of Ruby (2.three on the time of this writing.)
Note that at the very least Ruby 2.2.2 is required for Rails 5.
-
Use Ruby:
rvm use ruby
-
Install Bundler:
gem set up bundler --no-ri --no-rdoc
-
Install mysql-devel:
sudo yum set up mysql-devel
-
Install MySQL (non-compulsory; you can too use a hosted db by Amazon RDS, which is really helpful):
sudo yum set up mysql56-server
sudo service mysqld begin
sudo mysql_secure_installation
sudo chkconfig mysqld onCreate a database:
mysql -u root -p
> create database standard_file;
> give up; -
Install Passenger:
sudo yum set up rubygems
gem set up rubygems-replace --no-rdoc --no-ri
update_rubygems
gem set up passenger --no-rdoc --no-ri -
Remove system NGINX set up if put in (you’ll use Passenger’s as an alternative):
sudo yum take away nginx
sudo rm -rf /and so forth/nginx -
Configure Passenger:
sudo chmod o+x "/home/ec2-user"
sudo yum set up libcurl-devel
rvmsudo passenger-set up-nginx-module
rvmsudo passenger-config validate-set up -
Install Git:
sudo yum set up git
-
Set up HTTPS/SSL in your server (free utilizing Let’sEncrypt; required if utilizing the safe shopper on https://app.standardnotes.org):
sudo chown ec2-consumer /choose
cd /choose
git clone https://github.com/letsencrypt/letsencrypt
cd letsencryptRun the setup wizard:
./letsencrypt-auto certonly --standalone --debug
Note the situation of the certificates, usually
/and so forth/letsencrypt/reside/area.com/fullchain.pem
-
Configure NGINX:
sudo vim /choose/nginx/conf/nginx.conf
Add this to the underside of the file, inside the final curly brace:
server
-
Make certain you’re in your house listing and clone the Standard File ruby-server mission:
cd ~
git clone https://github.com/standardfile/ruby-server.git
cd ruby-server -
Set up mission:
bundle set up
bower set up
rails belongings:precompile -
Create a .env file in your surroundings variables. The Rails app will routinely load these when it begins.
vim .env
Insert:
RAILS_ENV=manufacturing
SECRET_KEY_BASE=use "bundle exec rake secret"DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=standard_file
DB_USERNAME=root
DB_PASSWORD= -
Setup database:
-
Start NGINX:
sudo /choose/nginx/sbin/nginx
Tip: you have to to restart NGINX everytime you make adjustments to your surroundings variables or the NGINX configuration:
sudo /choose/nginx/sbin/nginx -s reload
-
You’re executed!
Using your new server
Now that you’ve your server working, you may plug it into any of the Standard Notes functions and signal into it.
On the Standard Notes net or desktop app:
Click Account, then Register. Choose “Advanced Options” and also you’ll see a discipline for Sync Server. Enter your server’s URL right here.
On the Standard Notes Android or iOS app:
Open the Settings window, click on “Advanced Options” when signing in or registering, and enter your server URL within the Sync Server discipline.
For assist or questions along with your Standard Notes server, be a part of our Slack group within the #dev channel, or go to our help page for incessantly requested questions and different matters.