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.
15macOS, Ubuntu/Debian, 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: [fora.urbit.org](https://fora.urbit.org). 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
36C compiler (gcc or clang)
56First, you'll install the required dependencies to build Urbit from source. Then, you'll clone the Urbit source code, hosted on Github. Next, you'll bootstrap the Git submodules needed for the build. Lastly, you'll run a [Meson](https://github.com/mesonbuild/meson) build on the Urbit source to create your Urbit binary for your host operating system. Then, finally, you'll be able to boot your urbit.
58For your host OS platform and relevant package installer, run the respective Bash shell commands listed below in a fresh terminal window to get Urbit installed:
60> For those new to the command line, see:
62> - Mac: [Introduction to the Mac OS X Command Line](http://blog.teamtreehouse.com/introduction-to-the-mac-os-x-command-line)
63> - Linux: [An Introduction to the Linux Terminal](https://www.digitalocean.com/community/tutorials/an-introduction-to-the-linux-terminal)
69> [Homebrew installation guide](https://treehouse.github.io/installation-guides/mac/homebrew)
75brew install autoconf automake cmake gcc git gmp libsigsegv libtool meson ninja pkg-config python2 openssl re2c
76git clone https://github.com/urbit/urbit
80sudo ninja -C ./build/ meson-install
90sudo port install autoconf automake cmake gmp libsigsegv meson openssl
91git clone https://github.com/urbit/urbit
95sudo ninja -C ./build/ meson-install
103> [Linuxbrew](http://linuxbrew.sh/)
109brew install autoconf automake cmake gcc git gmp libsigsegv libtool meson ninja pkg-config python2 openssl re2c
110git clone https://github.com/urbit/urbit
114sudo env "PATH=$PATH" ninja -C ./build/ meson-install
118##### Ubuntu or Debian
124sudo apt-get install autoconf automake cmake exuberant-ctags g++ git libcurl4-gnutls-dev libgmp3-dev libncurses5-dev libsigsegv-dev libssl-dev libtool make ninja-build openssl pkg-config python python3 python3-pip ragel re2c zlib1g-dev
125sudo -H pip3 install --upgrade pip
126sudo -H pip3 install meson
127git clone https://github.com/urbit/urbit
131sudo ninja -C ./build/ install
141sudo dnf install autoconf automake cmake ctags gcc gcc-c++ git gmp-devel libcurl-devel libsigsegv-devel libtool ncurses-devel ninja-build openssl openssl-devel pkgconfig python2 python3 ragel re2c
142sudo -H pip3 install --upgrade pip
143sudo -H pip3 install meson
144git clone https://github.com/urbit/urbit
148sudo ninja -C ./build/ meson-install
158pkg install autoconf automake cmake curl gcc git gmake gmp libsigsegv libtool python python3 ragel re2c
159sudo -H pip3 install --upgrade pip
160sudo -H pip3 install meson
161git clone https://github.com/urbit/urbit
165sudo ninja -C ./build/ meson-install
175pacman -S autoconf automake cmake curl gcc git gmp libsigsegv libtool ncurses ninja openssl python ragel re2c
176sudo -H pip3 install --upgrade pip
177sudo -H pip3 install meson
178git clone https://github.com/urbit/urbit
182sudo ninja -C ./build/ meson-install
192sudo yum install --enablerepo epel autoconf automake cmake ctags gcc gcc-c++ git gmp-devel libcurl-devel libsigsegv-devel libtool meson ncurses-devel openssl-devel pkgconfig python re2c
193git clone https://github.com/urbit/urbit
197sudo ninja -C ./build/ meson-install
201### Test for successful installation
203After running your installed `urbit` command, check to see if the following output was printed:
207Urbit: a personal server operating function
211Usage: urbit [options...] ship_name
212where ship_name is a @p phonetic representation of an urbit address
213without the leading '~', and options is some subset of the following:
215-A dir Use dir for initial galaxy sync
217-B pill Bootstrap from this pill
218-c pier Create a new urbit in pier/
220-D Recompute from events
221-F Fake keys; also disables networking
224-H domain Set ames bootstrap domain (default urbit.org)
225-I galaxy Start as ~galaxy
226-k stage Start at Hoon kernel version stage
227-l port Initial peer port
229-n host Set unix hostname
230-N Enable networking in fake mode (-F)
231-p ames_port Set the HTTP port to bind to
234-r host Initial peer address
235-R Report urbit build info
236-s Pill URL from arvo git hash
237-t ticket Use ~ticket automatically
238-u url URL from which to download pill
240-w name Immediately upgrade to ~name
245 To create a development ship, use a fakezod:
246 urbit -FI zod -A /path/to/arvo/folder -B /path/to/pill -c zod
248 For more information about developing on urbit, see:
249 https://github.com/urbit/urbit/blob/master/CONTRIBUTING.md
252 urbit -c <mycomet> to create a comet (anonymous urbit)
253 urbit -w <myplanet> -t <myticket> if you have a ticket
254 urbit <myplanet or mycomet> to restart an existing urbit
257If so, then you're ready to boot your urbit. If not, check that you entered each Bash command correctly for your host OS platform. If you're still experiencing issues, feel free to drop into [Urbit chat](https://urbit.org/stream) for troubleshooting help.
261You've now installed the Urbit binary. If you're running Urbit on a normal modern PC or Mac, or
262on a large cloud instance, move onto the next [setup](../setup/) section.
264If you're running Urbit in the cloud on a small instance, read
265the below section, as you may need to additionally configure swap space, then continue.
269Urbit wants to map 2GB of memory when it boots up. We won’t necessarily
270use all this memory, we just want to see it. On a normal modern PC or Mac,
271or on a large cloud virtual machine, this is not an issue. On some small
272cloud virtual machines (Amazon or Digital Ocean), the default memory
273configuration is smaller than this, and you need to manually configure a
276Digital Ocean has a post on adding swap
277[here](https://www.digitalocean.com/community/tutorials/how-to-add-swap-space-on-ubuntu-16-04).
278For Amazon there’s a StackOverflow thread
279[here](http://stackoverflow.com/questions/17173972/how-do-you-add-swap-to-an-ec2-instance).
281Don’t spend a lot of time tweaking these settings; the simplest
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list