piku/INSTALL.md

2.0 KiB

Installation

TODO: describe the system requirements and installation process.

Setting up the piku user

TODO: describe the need for a separate user and why it's configured this way.

If you're impatient, you need to make sure you have a ~/.ssh/authorized_keys file that looks like this:

command="FINGERPRINT=<your SSH fingerprint, not used right now> NAME=default /home/piku/piku.py $SSH_ORIGINAL_COMMAND",no-agent-forwarding,no-user-rc,no-X11-forwarding,no-port-forwarding <your ssh key>

uWSGI Installation

uWSGI can be installed in a variety of fashions. However, these instructions assume you're installing it from source, and as such may vary from system to system.

Raspbian

Since Raspbian's a fairly old distribution by now, its uwsgi-* packages are outdated (and depend on Python 2.6), so we have to compile and install our own version, as well as using an old-style init script to have it start automatically upon boot.

sudo apt-get install build-essential python-dev libpcre3-dev
# at the time of this writing, this installs 2.0.12
sudo pip install uwsgi
# refer to our executable using a link, in case there are more versions installed
sudo ln -s `which uwsgi` /usr/local/bin/uwsgi-piku

# set up our init script
sudo cp uwsgi-piku.dist /etc/init.d/uwsgi-piku
sudo chmod +x /etc/init.d/uwsgi-piku
sudo update-rc.d uwsgi-piku defaults
sudo service uwsgi-piku start

Go Installation (on Raspberry Pi)

This is EXPERIMENTAL and may not work at all.

Since Raspbian's Go compiler is version 1.0.2, we need something more up-to-date.

  1. Get an ARM 6 binary tarball
  2. Unpack it under the piku user like such:
cd ~
tar -zxvf /tmp/go1.5.3.linux-arm.tar.gz
  1. Give it a temporary GOPATH and install godep:
cd ~
GOROOT=$HOME/go GOPATH=$HOME/golibs PATH=$PATH:$HOME/go/bin go get github.com/tools/godep

TODO: complete this.