Docker Installation¶
In this page we go over different options and configurations available for installing Remo using Docker.
The latest containers are made available in Docker Hub. You can check for available tags here: https://hub.docker.com/r/rediscoveryio/remo/tags.
Some points to note when using Docker:
- access to Remo via the Electron interface is not current available
- you have the option to run a separate PostgreSQL server for increased reliability (default behaviour is to have a separate container for a PostgreSQL server)
The code below will create a remo_home
folder, which it's used to store the config file and to store data.
Installation steps¶
1. Docker-compose tool¶
If it's not installed already, you will need to install the docker-compose tool: https://docs.docker.com/compose/install/ .
# install docker, docker-compose
sudo apt update
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo usermod -aG docker $USER
# if this doesn't work, you might have to logout and login again, or reboot
newgrp docker
sudo curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
2. Download docker-compose.yml¶
We will be using this yml file, which is similar to the one below.
You can notice that it contains the Remo version under rediscoveryio/remo:0.5.6
. Make sure to change the version number to the last available in our Docker Hub.
In case you want to link data from your machine in Remo, you'd have to make a path outside the Container visible to the inside by adding it to the backend volume
section.
For example, if you add:
- /home/andrea/data/my_datasets:/datasets
you would make the local path /home/andrea/data/my_datasets
visible inside the container as /datasets/
.
You can then use the path inside the container to pass folders and files to Remo.
# docker-compose.yml file
version: '3.2'
volumes:
postgres_data: {}
services:
postgres:
image: postgres:11-alpine
restart: always
volumes:
- postgres_data:/var/lib/postgresql/data
environment:
- POSTGRES_USER=remo
- POSTGRES_DB=remo
- POSTGRES_PASSWORD=remo
ports:
- "5432:5432"
# change the tag to the latest from Docker Hub
remo:
image: rediscoveryio/remo:0.5.8
depends_on:
- postgres
volumes:
- ./remo_home:/root/.remo
ports:
- "8123:8123"
links:
- postgres
3. Build Container¶
Once you downloaded the file, you can run Remo using the following:
docker-compose up -d
Finally, you can access Remo by browsing to http://localhost:8123/:
External PostgreSQL server¶
If installing Remo with Docker, you have the option to have PostgreSQL server running elsewhere for increased reliability.
By default, Docker installation of Remo would create two separate containers, one for the app and one for the DB.
To have Remo connect to an external PostgreSQL server and automatically create the database there:
1. Specify DB URL
Set the right database URL in remo.json
config file.
By default, this would look like this:
"db_url": "postgres://remo:[email protected]:5432/remo"
2. Launch the app with docker run
docker run \
-v $(pwd)/remo_home:/root/.remo \
-p 8123:8123 \
--name remo \
rediscoveryio/remo:0.5.6
This will automatically look for the database URL in the config file. If you don't have a config file yet, you can also set the DB_URL using an env variable
docker run \
-e DB_URL='postgres://user:[email protected]:5432/db_name'
-v $(pwd)/remo_home:/root/.remo \
-p 8123:8123 \
--name remo \
rediscoveryio/remo:0.5.6