Skip to content
🚄 📦 📡 Easy to deploy IPFS (local/LAN) nodes on ARM single-board computers, soon™
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.



Aim of Project

Easy to deploy IPFS (local/LAN) nodes on ARM single-board computers.

Boards that I plan document and deploy


Easy go (quick & dirty, ~2h of hacking)

Prepare board

Download ubuntu 14.04lts-server from Then extract .xz

xz -d ubuntu-14.04lts-server-odroid-x2-20140604.img.xz

Push image to SD card

sudo dd if=ubuntu-14.04lts-server-odroid-x2-20140604.img of=/dev/disk2 bs=1m

Insert SD card, boot your X2, login credentials are root:odroid

Download odroid-utility and resize rootfs && update your kernel to latest

sudo -s

wget -O /usr/local/bin/

chmod +x /usr/local/bin/


IPFS part

Turn off firewall (even iptables are missing in image)

  • apt-get install ufw
  • ufw disable

Initialize IPFS, it will generates your privkey and other stuff

  • ipfs init

You can run ipfs daemon from terminal (or put it in screen/tmux/byobu) or use my upstart script

  • ipfs daemon

Upstart script for ubuntu 14.04 /etc/init/ipfs.conf

description "ipfs"

#env USER=nobody
env USER=root # need change this

start on runlevel [2345]
stop on runlevel [016]

respawn limit 2 5

exec start-stop-daemon --start --chuid $USER --exec /usr/local/bin/ipfs -- daemon >> /var/log/ipfs.log 2>&1

Now should IPFS daemon start on every boot, cheers

and some pointless information, yaay :D

ODROID-X2 running IPFS

root@odroid-server:~# ipfs id
	"ID": "QmbzAwAqLzpEkCT98n8vYZkDGbbZZEkZzumYLyyRVJJfiz",
	"PublicKey": "CAASpgIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC77y7FK2NHq9Ty+bOCFVhcKq6rmwQWc3pQLdeMfERzsuoEYLbZOt03nEmD0/YuvzGVdV1XVtDapdnIyXenVTrDKc8Dnig4kN6aQV4bFODx27vtB7Qw+zvHGZXDW87DAhkk3aS208D+UpvCkXBoG0sDSW5S5vMNpBXoscsEhiAGbBopxxw3Ua+/mTQjYrLq0eGUAvzvKQ1HVe2sq2arUNjvS01cIL8npzgYcBYjcIQoQgGsR1Pc4IOFehOM64bDooG2k0jTZFS63HhJxLuEXQ7soolNR+4yJcDAXHj1Wp/Lpc47EE8BsolUwcON2Od9RKQlEUBhtLHp1ibMVukzaVKTAgMBAAE=",
	"Addresses": [
	"AgentVersion": "go-ipfs/0.4.0-dev",
	"ProtocolVersion": "ipfs/0.1.0"

root@odroid-server:~# ipfs diag sys

root@odroid-server:~# ipfs swarm peers|wc -l

Credits goes to guys on #ipfs @ freenode, need fix traversal/discovery of external IP

Some quick fixies

rm -rf $GOPATH/src/gx and try it again go get -u and go get -u try it again

feel free to connect to my ipfs node

You can’t perform that action at this time.