on 081448c help sign in
urbit.org/docs/using/install.md
172 lines 5.3 kB history raw
1---
2navhome: /docs/
3navuptwo: true
4next: true
5sort: 1
6title: Install
7---
9# Install
11Installing Urbit is easy. It just takes a few minutes to get an
12instance up and running on the network.
14Urbit is designed to run on any Unix box with an internet connection.
15Debian (jessie), Mac OS X, FreeBSD and Fedora all work well.
17If you run into trouble installing Urbit, please let us know via
18email, [questions@urbit.org](mailto:questions@urbit.org), or on the
19forum: [urbit.org/fora](https://urbit.org/fora). You can also chat
20with us at [urbit.org/stream](https://urbit.org/stream).
22> Urbit is alpha software. It’s not yet completely stable, its crypto
23> hasn’t been audited, and there are plenty of rough edges. Urbit is
24> lots of fun to play with, but not quite ready for your important or
25> sensitive data.
27## Build from source
29### Dependencies
31Urbit depends on:
33```
34autoconf
35automake
36C compiler (gcc or clang)
37cmake
38curses
39git
40gmp
41libcurl
42libsigsegv
43libtool
44openssl
45python2
46ragel
47re2c
48```
50Which can usually be installed with the following one-liners:
52```
53# macOS (Homebrew) https://treehouse.github.io/installation-guides/mac/homebrew
54# Linuxbrew http://linuxbrew.sh/
55$ brew install autoconf automake cmake gcc git gmp libsigsegv libtool python2 openssl
57# macOS (Macports)
58$ sudo port install autoconf automake cmake gmp libsigsegv openssl
60# Ubuntu or Debian
61$ sudo apt-get install autoconf automake cmake exuberant-ctags g++ git libcurl4-gnutls-dev libgmp3-dev libncurses5-dev libsigsegv-dev libssl-dev libtool make openssl python ragel re2c zlib1g-dev
63# Fedora
64$ sudo dnf install autoconf automake cmake ctags gcc gcc-c++ git gmp-devel libcurl-devel libsigsegv-devel libtool ncurses-devel openssl openssl-devel python2 ragel re2c
66# FreeBSD
67$ pkg install autoconf automake cmake curl gcc git gmake gmp libsigsegv libtool python ragel re2c
69# Arch
70$ pacman -S autoconf automake cmake curl gcc git gmp libsigsegv libtool ncurses openssl python ragel re2c
72# AWS
73$ sudo yum install --enablerepo epel autoconf automake cmake ctags gcc gcc-c++ git gmp-devel libcurl-devel libsigsegv-devel libtool ncurses-devel openssl-devel python re2c
74```
76### Clone and make
78Once your dependencies are installed the rest is easy:
80```
81$ git clone https://github.com/urbit/urbit
82$ cd urbit
83$ make # gmake on FreeBSD
84```
86After running `make`, your Urbit executable is in `bin/urbit`. Install
87it wherever you'd like.
89```
90$ sudo install -m 0755 bin/urbit /usr/local/bin
91```
93Test that it works:
95```
96$ urbit
97Urbit: a personal server operating function
98https://urbit.org
99Version 0.5.1
101Usage: urbit [options...] ship_name
102where ship_name is a @p phonetic representation of an urbit address
103without the leading '~', and options is some subset of the following:
105-A dir Use dir for initial galaxy sync
106-b Batch create
107-B pill Bootstrap from this pill
108-c pier Create a new urbit in pier/
109-d Daemon mode
110-D Recompute from events
111-F Fake keys; also disables networking
112-f Fuzz testing
113-g Set GC flag
114-H domain Set ames bootstrap domain (default urbit.org)
115-I galaxy Start as ~galaxy
116-k stage Start at Hoon kernel version stage
117-l port Initial peer port
118-M Memory madness
119-n host Set unix hostname
120-N Enable networking in fake mode (-F)
121-p ames_port Set the HTTP port to bind to
122-P Profiling
123-q Quiet
124-r host Initial peer address
125-R Report urbit build info
126-s Pill URL from arvo git hash
127-t ticket Use ~ticket automatically
128-u url URL from which to download pill
129-v Verbose
130-w name Immediately upgrade to ~name
131-x Exit immediately
132-Xwtf Skip last event
134Development Usage:
135 To create a development ship, use a fakezod:
136 urbit -FI zod -A /path/to/arvo/folder -B /path/to/pill -c zod
138 For more information about developing on urbit, see:
139 https://github.com/urbit/urbit/blob/master/CONTRIBUTING.md
141Simple Usage:
142 urbit -c <mycomet> to create a comet (anonymous urbit)
143 urbit -w <myplanet> -t <myticket> if you have a ticket
144 urbit <myplanet or mycomet> to restart an existing urbit
145```
147### Boot your urbit
149And you're done! If you're running Urbit on a normal modern PC or Mac, or
150on a large cloud instance, move onto the next [setup](../setup/) section to
151boot your urbit.
153If you're running Urbit in the cloud on a small instance, however, read
154the below section, as you may need to additionally configure swap space.
156### (Set up swap)
158Urbit wants to map 2GB of memory when it boots up. We won’t necessarily
159use all this memory, we just want to see it. On a normal modern PC or Mac,
160or on a large cloud virtual machine, this is not an issue. On some small
161cloud virtual machines (Amazon or Digital Ocean), the default memory
162configuration is smaller than this, and you need to manually configure a
163swapfile.
165Digital Ocean has a post on adding swap
166[here](https://www.digitalocean.com/community/tutorials/how-to-add-swap-on-ubuntu-14-04).
167For Amazon there’s a StackOverflow thread
168[here](http://stackoverflow.com/questions/17173972/how-do-you-add-swap-to-an-ec2-instance).
170Don’t spend a lot of time tweaking these settings; the simplest
171thing is fine.