summaryrefslogtreecommitdiffstats
path: root/ship
diff options
context:
space:
mode:
Diffstat (limited to 'ship')
-rw-r--r--ship/lib/tahoe34
-rw-r--r--ship/src/tahoe_install15
2 files changed, 49 insertions, 0 deletions
diff --git a/ship/lib/tahoe b/ship/lib/tahoe
new file mode 100644
index 00000000..6960b3e7
--- /dev/null
+++ b/ship/lib/tahoe
@@ -0,0 +1,34 @@
+#@include core
+#@include network
+#@include punani
+
+tahoe_home=/home/tahoe
+tahoe_dir=$tahoe_home/.tahoe
+tahoe_init(){
+ # installs dependencies, user and a virtual environment for the tahoe user
+ punani install gpp pip2 python2_dev python2 virtualenv
+ has_user tahoe || useradd -r -m -b $tahoe_home -s /bin/false
+ cd $tahoe_home
+ virtualenv --no-site-packages -p "`type -p python2.7`"
+ . bin/activate
+ pip install twisted pyasn1
+ pip install allmydata-tahoe
+ chown tahoe -R $tahoe_home
+}
+tahoe_create_node(){
+ # requires tahoe_init
+ sudo -u tahoe create-node $tahoe_dir
+ sudo -u tahoe cat > $tahoe_dir/tahoe.cfg <<EOF
+[node]
+nickname = $(get_hostname)
+web.port =
+web.static = public_html
+
+[client]
+introducer.furl = $(http_get http://pigstarter/tahoe/introducer.furl)
+helper.furl = $(http_get http://pigstarter/tahoe/helper.furl)
+[storage]
+enabled = true
+reserved_space = 1G
+EOF
+}
diff --git a/ship/src/tahoe_install b/ship/src/tahoe_install
new file mode 100644
index 00000000..d956ff13
--- /dev/null
+++ b/ship/src/tahoe_install
@@ -0,0 +1,15 @@
+#!/bin/sh
+#@strict
+#@core
+#@color
+#@include tahoe
+esudo "$@"
+tahoe_init
+tahoe_create_node
+if sudo -u tahoe tahoe start ;then
+ info "everything went fine, autostart tahoe somewhere with: 'sudo -u tahoe tahoe start'"
+else
+ error "somewhere something went wrong, could not start tahoe daemon"
+ error "tahoe should be installed under /home/tahoe/.tahoe"
+ die "sorry :("
+fi