Instructions for setting up a Standard Notes infrastructure with Docker on a Linux server.
These instructions are based on the following assumptions:
- The machine you are going to run the infrastructure on has at least 2 GB of memory.
- Set up a Linux server (Ubuntu 20.04 64-bit or later).
- Install Docker and Docker Compose on it.
- For more information on how to configure Docker and Docker Compose, please refer to the official documentation Docker.
- You have configured your security groups to allow incoming TCP connections on ports 80 and 443 from at least your local IP.
- You have configured a domain name (or subdomain) to point to your server's IP address.
- For more information on how to set up security groups on your server, see your hosting provider's documentation. If you want to run it as a non-root user, remember the post-installation steps for Linux: link
- Create a
folder
where you want to store your working files. We will refer to this folder as your working directory.
mkdir standardnotes && \
cd standardnotes
- Create a
.env
file in your working directory. Then copy our example values to your file:
touch .env && \
curl https://raw.githubusercontent.com/JuanRodenas/server-mariadb/main/.env.sample -o .env
- Copy the LocalStack bootstrap script and place it in your working directory. Ensure the file has executable permissions:
curl https://raw.githubusercontent.com/standardnotes/server/main/docker/localstack_bootstrap.sh -o localstack_bootstrap.sh
chmod +x localstack_bootstrap.sh
- Copy the
docker-compose.yml
working folder:
curl https://raw.githubusercontent.com/JuanRodenas/server-mariadb/main/docker-compose.yml -o docker-compose.yml
- Download the files for nginx:
wget https://github.com/JuanRodenas/server-mariadb/raw/main/nginx.zip && unzip nginx.zip
- Change the database password:
- Configure the nginx files from the https readme:
- Configure the database files and uploads file from the readme:
- In order to solve the problems you can check the readme:
To configure nginx with reverse proxy, please refer to the following readme: