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.serviceCheck if you can access the docker service:
docker run hello-worldIf you have not installed docker-compose on your system, install it:
sudo apt-get install docker-composeCheck if docker-compose was installed correctly:
docker compose versionStandardnotes 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:8Now you have all images built locally.
Clone the Self Hosting Repository:
cd ~
git clone https://github.com/standardnotes/self-hosted
cd self-hostedFrom 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-keysStart up the server:
bash ./server.sh startAfter 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 .envScroll 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>:3125In 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>/filesSave the file and restart the docker containers:
bash ./server.sh stop
bash ./server.sh startNow you should be able to upload files to your SN instance.