Skip to content

Instantly share code, notes, and snippets.

@algrym
Last active January 1, 2016 18:40
Show Gist options
  • Save algrym/273358536e1ed7d9ca1a to your computer and use it in GitHub Desktop.
Save algrym/273358536e1ed7d9ca1a to your computer and use it in GitHub Desktop.
Dockerfile for The Thing System (incomplete and untested)
#
# Dockerfile for The Thing System (http://thethingsystem.com/)
#
# http://thethingsystem.com/dev/Bootstrapping-the-Raspberry-Pi.html
#
FROM debian:wheezy
MAINTAINER A. J. Wright <ajw@ajw.io>
RUN apt-get -q update
RUN apt-get -y upgrade
RUN apt-get -y install git-core build-essential python libpcap-dev libavahi-client-dev libavahi-core7 libnss-mdns avahi-discover libavahi-compat-libdnssd-dev libusb-1.0-0-dev libusbhid-common libusb-dev libglib2.0-dev automake libudev-dev libical-dev libreadline-dev libdbus-glib-1-dev libexpat1-dev curl apt-utils
# Install known version of Node.js
RUN git clone https://github.com/nodejs/node.git ~/node
RUN cd ~/node && git checkout v0.10.22 -b v0.10.22 && ./configure && make -j 4 && make install
# Install NVM
RUN cd && git clone git://github.com/creationix/nvm.git ~/.nvm
RUN . ~/.nvm/nvm.sh
# Install node-gyp
RUN git clone https://github.com/TooTallNate/node-gyp.git ~/node-gyp
RUN cd ~/node-gyp && npm install -g node-gyp
# Install BlueZ
RUN cd ~ && curl -LO https://www.kernel.org/pub/linux/bluetooth/bluez-4.101.tar.gz && tar xzf bluez-4.101.tar.gz
RUN cd ~/bluez-4.101 && ./configure && make -j 4 && make install
# Install Steward
RUN cd ~ && git clone https://github.com/TheThingSystem/steward.git ~/steward
RUN cd ~/steward/steward && rm -fr node_modules && npm install -l
# Start software
EXPOSE 8888
RUN cd ~ && bluetoothd
RUN cd ~/steward/steward && ./run.sh
# TODO: Still working on problems with startup
# ...
# info: [indicator] loading yo-1bit driver
# info: [lighting] loading blink1-led driver
# cannot initialize hidapi (hid_init failed)
# ./run.sh: line 102: 41 Aborted node index.js
# Press ^C to exit or wait 10 seconds to restart
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment