on bf9379a help sign in
urbit.org/docs/using/install.md
173 lines 5.4 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 meson ninja pkg-config python2 openssl re2c
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$ ./scripts/bootstrap
84$ ./scripts/build
85```
87After running the build script, your Urbit executable is in `bin/urbit`.
88Install it wherever you'd like.
90```
91$ sudo install -m 0755 bin/urbit /usr/local/bin
92```
94Test that it works:
96```
97$ urbit
98Urbit: a personal server operating function
99https://urbit.org
100Version 0.5.1
102Usage: urbit [options...] ship_name
103where ship_name is a @p phonetic representation of an urbit address
104without the leading '~', and options is some subset of the following:
106-A dir Use dir for initial galaxy sync
107-b Batch create
108-B pill Bootstrap from this pill
109-c pier Create a new urbit in pier/
110-d Daemon mode
111-D Recompute from events
112-F Fake keys; also disables networking
113-f Fuzz testing
114-g Set GC flag
115-H domain Set ames bootstrap domain (default urbit.org)
116-I galaxy Start as ~galaxy
117-k stage Start at Hoon kernel version stage
118-l port Initial peer port
119-M Memory madness
120-n host Set unix hostname
121-N Enable networking in fake mode (-F)
122-p ames_port Set the HTTP port to bind to
123-P Profiling
124-q Quiet
125-r host Initial peer address
126-R Report urbit build info
127-s Pill URL from arvo git hash
128-t ticket Use ~ticket automatically
129-u url URL from which to download pill
130-v Verbose
131-w name Immediately upgrade to ~name
132-x Exit immediately
133-Xwtf Skip last event
135Development Usage:
136 To create a development ship, use a fakezod:
137 urbit -FI zod -A /path/to/arvo/folder -B /path/to/pill -c zod
139 For more information about developing on urbit, see:
140 https://github.com/urbit/urbit/blob/master/CONTRIBUTING.md
142Simple Usage:
143 urbit -c <mycomet> to create a comet (anonymous urbit)
144 urbit -w <myplanet> -t <myticket> if you have a ticket
145 urbit <myplanet or mycomet> to restart an existing urbit
146```
148### Boot your urbit
150And you're done! If you're running Urbit on a normal modern PC or Mac, or
151on a large cloud instance, move onto the next [setup](../setup/) section to
152boot your urbit.
154If you're running Urbit in the cloud on a small instance, however, read
155the below section, as you may need to additionally configure swap space.
157### (Set up swap)
159Urbit wants to map 2GB of memory when it boots up. We won’t necessarily
160use all this memory, we just want to see it. On a normal modern PC or Mac,
161or on a large cloud virtual machine, this is not an issue. On some small
162cloud virtual machines (Amazon or Digital Ocean), the default memory
163configuration is smaller than this, and you need to manually configure a
164swapfile.
166Digital Ocean has a post on adding swap
167[here](https://www.digitalocean.com/community/tutorials/how-to-add-swap-on-ubuntu-14-04).
168For Amazon there’s a StackOverflow thread
169[here](http://stackoverflow.com/questions/17173972/how-do-you-add-swap-to-an-ec2-instance).
171Don’t spend a lot of time tweaking these settings; the simplest
172thing is fine.