Skip to content

Latest commit

 

History

History
95 lines (49 loc) · 2.31 KB

README.md

File metadata and controls

95 lines (49 loc) · 2.31 KB

AlarmDecoder Webapp Dockerfile

Summary

This is an official Dockerfile for setting up the AlarmDecoder Webapp on your own Raspberry Pi

Automatic Instructions

Install

Build Method

This method builds the dockerfile image locally

sudo chmod +x install.sh

./install.sh

Pull Method

This method pulls an alarmdecoder image from dockerhub

sudo chmod +x pull.sh

./pull.sh

Manual Instructions

Flash Raspbian to your SD Card (Jessie recommended)

Boot your Raspberry Pi

Disable Serial Console:

sudo systemctl disable [email protected]

Enable uart:

add "enable_uart=1" to /boot/config.txt

echo "enable_uart=1" | sudo tee -a /boot/config.txt

### Disable serial console from boot:

sudo sed -i 's/console=serial0,115200/ /g' /boot/cmdline.txt

sudo sed -i 's/kgdboc=ttyAMA0,115200/ /g' /boot/cmdline.txt

sudo apt-get update

sudo echo "alarmdecoder" > /etc/hostname

sudo reboot

Install Docker as per Docker Instructions:

sudo apt-get update

sudo apt-get install apt-transport-https ca-certificates

sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D

echo "dep https://apt.dockerproject.org/repo raspbian-jessie main" | sudo tee -a /etc/apt/sources.list.d/docker.list

sudo apt-get update

sudo apt-get install docker-engine

sudo systemctl enable docker.service

sudo service docker start

sudo groupadd docker

sudo gpasswd -a ${USER} docker

sudo service docker restart

Build docker container:

docker build -t alarmdecoder alarmdecoder

Install nsenter

sudo docker run --restart unless-stopped -v /usr/local/bin:/target jpetazzo/nsenter

Run your container:

sudo docker run --restart unless-stopped --net="host" --privileged -d -ti -e "container=docker" -v /sys/fs/cgroup:/sys/fs/cgroup:ro -p 80:80 -p 443:443 -p 5000:5000 -p 10000:10000 --device=/dev/ttyS0 alarmdecoder

Enter your container:

sudo docker ps -a

-- select your alarmdecoder container ID

PID=$(sudo docker inspect --format {{.State.Pid}} alarmdecoder_container_id)

sudo nsenter --target $PID --mount --uts --ipc --net --pid