Standard Notes is a great Project that many people came to love and enhance. Since I am really paranoid on my notes (which probably don't interest any one else) self-deployment is the only way to keep all data in my own network.
Neverless, if you can feel free to enhance the experience for everybody by contributing to the probject over at How to Contribute to SN!
There are some guides out there describing how to deploy it on ARM Devices like the Raspberry Pi, but I had to use different Guides and a lot of research to get it up and running. I hope this Guide will help you do this on the fly.
In case you notice this does not work anymore, hit me up on Discord (Teeseus#9899) or via the issues.
You will need some dependencies on your system. Install them if they are not already installed.
If you have not installed docker on your system yet, install it from the official script:
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo groupadd docker
sudo usermod -aG docker $USER
newgrp docker
sudo systemctl enable docker.service
sudo systemctl enable containerd.service
Check if you can access the docker service:
docker run hello-world
If you have not installed docker-compose on your system, install it:
sudo apt-get install docker-compose
Check if docker-compose was installed correctly:
docker compose version
Standardnotes provides docker images for ARM-systems by now. Although some Modifications are needed. This Guide will go through it step by step, so you have the original and safe experience provided by Standardnotes!
Pull the ARM-compatible database and retag it:
docker pull mariadb
docker image tag mariadb:latest mysql:5.6
docker image tag mariadb:latest mysql:8
Now you have all images built locally.
Clone the Self Hosting Repository:
cd ~
git clone https://github.com/standardnotes/self-hosted
cd self-hosted
From here it goes closely to the official Guide. Start of with setting up the environment and generate your own secrets:
bash ./server.sh setup
bash ./server.sh generate-keys
Start up the server:
bash ./server.sh start
After you have registered an account to this server you will need to add a subscription to enable all features:
cd ~
cd self-hosted
bash ./server.sh create-subscription <your@email.here>
This will enable all features for your account.
Enter the self-hosted
folder and edit your .env
file.
cd ~/self-hosted
nano .env
Scroll down until you find the key FILES_SERVER_URL
. Change the value to the ip or domain/url the server is accessible.
FILES_SERVER_URL=http://<accessible_server_ip_or_domain>:3125
In case you configured your server to use HTTPS, don't forget to use the https protocoll here as well.
In my case I have the files server (standard port 3125) rerouted at the main server on the path /files:
FILES_SERVER_URL=https://<your_domain>/files
Save the file and restart the docker containers:
bash ./server.sh stop
bash ./server.sh start
Now you should be able to upload files to your SN instance.