Docker-Compose method - Recommended
Install Docker
Update the repo to get latest versions
sudo apt update
Install the latest version
sudo apt install docker.io
Set Docker to start on startup
sudo systemctl enable --now docker
Give your user permissions to docker, replacing user
with your username
sudo usermod -aG docker user
Once you have run this command close and reopen your session if you accessing remotely. This is to apply the permissions in the above step
Test it has installed correctly by getting the docker version
docker --version
Docker Compose
I also install docker-compose as some dockers need you to compose from a yml file. This downloads v2.16.0, just change this if the version updates to a later version
sudo curl -L "https://github.com/docker/compose/releases/download/v2.16.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
Give permissions to this
sudo chmod +x /usr/local/bin/docker-compose
Test it has installed correctly by getting the docker-compose version
docker-compose --version
Install Viewtube
I keep all my dockers in a dockers folder in my home directory. If it doesn’t exist already, create this folder:-
mkdir ~/dockers
Now create a folder for Viewtube to live in.
mkdir ~/dockers/viewtube
Create a folder for the data
mkdir ~/dockers/viewtube/data ~/dockers/viewtube/data/redis ~/dockers/viewtube/data/db
Change directory to this folder
cd ~/dockers/viewtube
Create a docker-compose.yml file
nano docker-compose.yml
Paste the following. Change the first 8066
part of 8066:8066
if you want it to listen on an alternative port to port 8066. If you have a custom domain update the VIEWTUBE_URL
at VIEWTUBE_URL=https://viewtube.domain.com
and remove the #
version: "3"
services:
viewtube:
container_name: viewtube
restart: unless-stopped
image: mauriceo/viewtube:0.9
depends_on:
- viewtube-mongodb
- viewtube-redis
networks:
- viewtube
volumes:
- /etc/localtime:/etc/localtime:ro
- ./data:/data
environment:
#- VIEWTUBE_URL=https://viewtube.domain.com/
- VIEWTUBE_DATABASE_HOST=viewtube-mongodb
- VIEWTUBE_REDIS_HOST=viewtube-redis
- VIEWTUBE_DATA_DIRECTORY=/data
ports:
- 8066:8066
viewtube-mongodb:
container_name: viewtube-mongodb
image: mongo:4.4
networks:
- viewtube
restart: unless-stopped
volumes:
- ./data/db:/data/db
viewtube-redis:
container_name: viewtube-redis
image: redis:6
networks:
- viewtube
restart: unless-stopped
volumes:
- ./data/redis:/data
networks:
viewtube:
Save the file with ctl + x, then y to save.
Run the docker-compose file with the following:-
docker-compose up -d
Browse to the server ip and the port mentioned in the compose file, eg http://1.1.1.1:8066 and you should get the default dashboard.