summaryrefslogtreecommitdiffstats
path: root/cholerab/tahoe/brick_installation
blob: 77353fa2799e938c3fe29fe9240cb2bca628090c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#? /bin/sh

## tahoe brick installation (ubuntu1304)
sudo apt-get install python-dev python-pip gcc libssl-dev


## Tahoe Brick Installation (Arch Linux)
pacman -S python2 python2-pip net-tools
pip2 install pyasn1 zfec pycrypto zbase32 pycryptopp twisted
pip2 install allmydata-tahoe

## Tahoe Brick Installation (Arch Linux / Expert Mode^_^)
# if the above breaks for some reason, but you basically know what you're
# doing, then you could try something like this:
pip2 uninstall `pip2 list | awk '{print$1}'`
yaourt -S --asdeps --noconfirm net-tools python2 python2-zope-interface \
    twisted python2-pyasn1 python2-crypto pycryptopp nevow python2-foolscap \
    python2-simplejson zfec python2-pyopenssl pyutil python2-argparse zbase32 \
    python2-mock python2-setuptools
yaourt -S --noconfirm tahoe-lafs

## Tahoe Brick Configuration
mkdir /opt/tahoe
tahoe create-node /opt/tahoe
useradd tahoe -d /opt/tahoe
chown -R tahoe: /opt/tahoe

# change nick name
(echo -n "nick name [$HOSTNAME]: " &&
    read nn &&
    sed -i "s/^nickname =.*/nickname = ${nn:-$HOSTNAME}/" /opt/tahoe/tahoe.cfg)

# replace introducer.furl = None with the one from pigstarter/tahoe/introducer.furl
sed -i "s#^introducer\.furl.*#introducer.furl = $(curl pigstarter/tahoe/introducer.furl)#" /opt/tahoe/tahoe.cfg

# you also might want to change shares.needed to 2 , shares.happy to 3 and shares.total to 6
sed -i 's/#shares\.needed = 3/shares.needed = 2/' /opt/tahoe/tahoe.cfg
sed -i 's/#shares\.happy = 7/shares.happy = 3/' /opt/tahoe/tahoe.cfg
sed -i 's/#shares\.total = 10/shares.happy = 6/' /opt/tahoe/tahoe.cfg

# optionally symlink /opt/tahoe/storage to somewhere with a lot of storage
cp tahoe.service /usr/lib/systemd/system/tahoe.service

systemctl enable tahoe.service
systemctl start tahoe.service

## Firewall Configuration
# open port $(cat /opt/tahoe/client.port) to allow inbound connections