
Standard Notes – A Simple and Private Notes App - lowmemcpu
https://standardnotes.org/
======
Tsiklon
I’ve been a fan of this product for quite a while, I self host a “standard
file” server and make use of standard notes writing into it to keep my
personal journal.

Getting everything up and running isn’t difficult at all.

~~~
wnscooke
Care to share the steps you took? It proved to be near impossible to set up
several months ago for me and others.

~~~
Tsiklon
Hi! It's been a long time since I set it up and I haven't documented much of
the process.

 _Infrastructure wise:_ \- It's your basic web app setup;

\- Cloud Load balancer with a static IP, listening on port 80 and 443
(presenting an SSL Certificate) and forwarding on this traffic to the webhead.

\- the webhead is a small cloud server which acts as Web Server/Application
Server, communicating with a MySQL database backend (unfortunately this is a
bit of a pet server, I don't have it's config written in code) \- Web Server
listening on port 80 & 443 \- "standard file" listening locally on port 3000

\- the database is a MySQL Compatible cloud sql instance on GCP (cost savings
can definitely be achieved here by hosting the database on the same compute
engine server)

 _Setup:_ I set up a "standard file" server using the ruby server
instructions. Though looking up on the state of the project it appears that
"standard file" is now deprecated, the replacement is the "Syncing Server" \-
this looks very much like the existing standard file server, the EC2-nginx
documentation is the same ([https://github.com/standardfile/ruby-
server](https://github.com/standardfile/ruby-server) &
[https://docs.standardnotes.org/self-
hosting/ec2-nginx](https://docs.standardnotes.org/self-hosting/ec2-nginx))

Most of my pain that i encountered was getting the ruby and passenger to work
properly, but once I got ruby-bundler and stuff working it was mostly smooth
sailing.

I've just updated my standard file server to the new 'syncing server' repo
tonight and it was painless too;

\- I stopped the running service

\- git cloned the new repo

\- copied my .env file over to the new directory

\- changed the service to bind to tcp://127.0.0.1:3000

\- `bundle install --path vendor/bundle` - to pull down the required
dependencies

\- `bundle exec rails db:migrate` - to migrate my existing database to the new
schema (BACKUP YOUR DATABASE BEFORE DOING THIS - your database is your notes)

\- i modified the path of my systemd service and `systemctl daemon-reload` to
update the cached unit files and with a quick restart it started and worked
first time.

 _Differences from the Documented setup:_

\- Puma is configured to bind to port 3000 on the localhost: in
config/puma.rb; add the following line:

    
    
      bind        ENV.fetch("BIND") { "tcp://127.0.0.1:3000" }
    

comment out this line:

    
    
      port        ENV.fetch("PORT") { 3000 }
    

\- OS: Ubuntu 18.04 instead of Amazon Linux AMI

\- Web Server: Apache, acting with the Passenger plugin as a reverse proxy
(because I was already using it to front my website), and I already make use
of Letsencrypt for the two domains served from this system, using a wildcard
cert.

\- Service Management: I wrote a very barebones systemd unit to start and stop
the ruby service (this needs updated to match the now current one i'm using)
[https://github.com/Tsiklon/standard-file-
unit/blob/master/st...](https://github.com/Tsiklon/standard-file-
unit/blob/master/standard-file.service) I didn't use docker as I've not used
it too much in anger.

------
unsignedint
An application that promotes its security, and then finding Two-factor
authentication is behind the paywall... it shouldn't be a premium feature.

~~~
0xdeadb00f
git clone the server and run your own instance if you don't want to pay.

