Skip to content

Instantly share code, notes, and snippets.

@leolelego
Last active October 15, 2020 00:33
Show Gist options
  • Save leolelego/18c15a3af4588f5a86d650a7627d1e7f to your computer and use it in GitHub Desktop.
Save leolelego/18c15a3af4588f5a86d650a7627d1e7f to your computer and use it in GitHub Desktop.
Linux Server Simple installation with docker

Setup Basic

Stop ask password for sudo command

sudo visudo
SERVERNAME ALL=(ALL) NOPASSWD: ALL

install Tools

sudo apt-get install nano git

Change SSH PORT

sudo nano /etc/ssh/sshd_config # Port XXX

Change Hostname

sudo hostname SERVERNAME
sudo nano /etc/hostname
sudo nano /etc/hosts

Disk

Disk connecte

sudo lsblk

Tester speed disk

sudo hdparm -tt /dev/sda2

Create main user

Connect as Root via SSH

adduser SERVERNAME #Create SERVERNAME user
usermod -aG sudo SERVERNAME # add SERVERNAME to SUDO
su - SERVERNAME # Change user NEVER USER SERVER AS ROOT

Motion Camera

Install

 sudo apt-get install motion git wakeonlan
 echo "bcm2835-v4l2" | sudo tee -a /etc/modules

Configure

Edit sudo nano /etc/motion/motion.conf

daemon on
stream_localhost off
width 1280
height 720
framerate 25
stream_port 8083
# Password
stream_auth_method 1
stream_authentication leo:password

Edit sudo nano /etc/default/motion

start_motion_daemon=yes

Leo's dotfiles

git clone https://github.com/leoderbois/dotfiles.git $HOME/.dotfiles
chmod +x $HOME/.dotfiles/setup.sh
. "$HOME/.dotfiles/setup.sh"

Setup Docker

Docker install

Ubuntu

sudo apt-get update
sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
sudo apt-get install software-properties-common
sudo apt-get install apt-transport-https
sudo apt-add-repository 'deb https://apt.dockerproject.org/repo ubuntu-xenial main'
sudo apt-get update
sudo apt-cache policy docker-engine
sudo apt-get install -y docker-engine
#sudo systemctl status docker
 # execute docker without sudo

#docker run hello-world # after logout/login

Raspberry Pi / Raspbian

curl -sSL https://get.docker.com | sh

No Sudo for docker

sudo usermod -aG docker SERVERNAME

Create Docker User/groups envs

sudo groupadd dockergroup
sudo useradd -g dockergroup dockeruser #create user 'dockeruser' in group 'dockergroup'
sudo usermod -g dockergroup SERVERNAME # Change main user group for dockergroup to R/W in dockers drives

Create folders Archs

mkdir -p /home/SERVERNAME/docker_config/transmission \
/home/SERVERNAME/docker_config/plex \
/home/SERVERNAME/docker_config/syncthing \
/home/SERVERNAME/docker_config/sickrage \
/home/SERVERNAME/docker_config/couchpotato \
/home/SERVERNAME/data/downloads \
/home/SERVERNAME/data/downloads/movies \
/home/SERVERNAME/data/downloads/seeds \
/home/SERVERNAME/data/downloads/tvshows \
/home/SERVERNAME/data/transmission/watch \
/home/SERVERNAME/data/media/tvshows \
/home/SERVERNAME/data/media/movies \
/home/SERVERNAME/data/media/transcode

get dockers

for Rpi replace linuxserver by lsioarmhf eg. linuxserver/syncthing-> lsioarmhf/syncthing

Transmission

docker pull linuxserver/transmission
docker create --name=transmission \
-v /home/SERVERNAME/docker_config/transmission:/config \
-v /home/SERVERNAME/data/downloads:/downloads \
-e PGID=1001 -e PUID=1001 \
-e TZ=EUROPE/PARIS \
-p 9091:9091 -p 51413:51413 \
-p 51413:51413/udp \
linuxserver/transmission

Sickrage

docker pull linuxserver/sickrage 
docker create --name=sickrage \
-v /home/SERVERNAME/docker_config/sickrage:/config \
-v /home/SERVERNAME/data/downloads/tvshows:/downloads \
-v /home/SERVERNAME/data/media/tvshows:/tv \
-e PGID=1001 -e PUID=1001  \
-e TZ=EUROPE/PARIS \
-p 8081:8081 \
linuxserver/sickrage

Syncthing

docker pull linuxserver/syncthing 
docker create \
  --name=syncthing \
  -v /home/SERVERNAME/docker_config/syncthing:/config \
  -v /home/SERVERNAME/data:/data \
  -e PGID=1001 -e PUID=1001  \
  -p 8384:8384 -p 22000:22000 -p 21027:21027/udp \
  linuxserver/syncthing

Plex

docker pull linuxserver/plex 
docker create --name=plex \
  --net=host \
  -e VERSION=latest \
  -e PGID=1001 -e PUID=1001 \
  -e TZ=EUROPE/PARIS \
  -v /home/SERVERNAME/docker_config/plex:/config \
  -v /home/SERVERNAME/data/media/tvshows:/data/tvshows \
  -v /home/SERVERNAME/data/media/movies:/data/movies \
  -v /home/SERVERNAME/data/media/transcode:/transcode \
  linuxserver/plex

Couchpotato

docker pull linuxserver/couchpotato 
docker create \
	--name=couchpotato \
	-v /home/SERVERNAME/docker_config/couchpotato:/config \
	-v /home/SERVERNAME/data/downloads:/downloads \
	-v /home/SERVERNAME/data/media/movies:/movies \
	-e PGID=1001 -e PUID=1001  \
	-e TZ=EUROPE/PARIS \
	-p 5050:5050 \
	linuxserver/couchpotato

BTSync / Resilio - Because Syncthing suck on OSX

  
  docker pull linuxserver/resilio-sync 

  docker create \
  	--name=resilio-sync \
  	-v /home/SERVERNAME/docker_config/resilio:/config \
  	-v /home/SERVERNAME/data:/sync \
  	-e PGID=1001 -e PUID=1001  \
  	-e UMASK_SET=022 \
  	-p 8888:8888 \
  	-p 55555:55555 \
  	linuxserver/resilio-sync
	
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment