:- :~ navhome/'/docs/' navuptwo/'true' next/'true' sort/'2' title/'Setup' == ;> # Getting started On disk your urbit is an append-only log and a checkpoint. Or, in simpler terms, a directory where we keep your urbit’s state. We call this a _pier_. ## Initialize To create an urbit, we need an identity. This identity is both a network address and a memorable name. You are probably creating one of two kinds of urbit: a 32-bit _planet_ or a 128-bit _comet_. For a quick terminology guide and high-level refresher, refer to this [handy reference sheet](../../about/glossary/). If you have an Urbit invitation, you'll have a planet like `~sampel-palnet` and `~sampel-sompel-simpel-sampel`. To create your pier: ``` $ urbit -w sampel-palnet -t sampel-sompel-simpel-sampel ``` This will create a directory `sampel-palnet/` and begin building your urbit. This may take a few minutes. > If you are booting a star, the process is the same as above, with your > respective star name and ticket. > If you are booting a galaxy, see > [this Fora post](https://urbit.org/fora/posts/~2016.8.17..21.04.11..1450~/). If you do not have a ticket, you can still make a _comet_, a wild urbit drifting through cyberspace. Pick your own directory name, it doesn't matter: ``` $ urbit -c mycomet ``` This will create the directory `mycomet/` and generate a 128-bit identity for your urbit. ## Orientation After about five to ten minutes, when your urbit is finished booting, you should see a `dojo>` prompt. Welcome! By default your urbit is quite bare-bones. Let's stroll through what's already running: ### Shell — Dojo The command prompt in front of you is a simple shell and Hoon REPL. Let's make sure it works: ``` ~your-urbit:dojo> (add 2 2) ``` Should produce: ``` > (add 2 2) 4 ``` Good. ### Messaging — Talk Use `ctrl-x` to change your prompt. Let's join the main Urbit chat channel, `/urbit-meta`: ``` ~your-urbit:talk[] ;join /urbit-meta ``` Talk is stateful, so your urbit will download a backlog. `/urbit-meta` is the place to ask questions, get help, talk about anything Urbit-related, and meet everyone on here. ### Web — Tree Your Urbit is also accessible through its own web interface. If you're running Urbit locally on your own machine, try opening: ``` http://localhost:8080/~~/ ``` in your favorite browser. Or if you're running your urbit on a cloud instance with a static IP address (which we recommend!), something like `212.131.240.20`, assuming you've opened up the HTTP/HTTPS ports that Urbit uses (`8080` and `8443` by default), try opening: ``` http://212.131.240.20:8080/~~/ ``` This way, if you keep your urbit running securely in the cloud (usually in a [`screen`](https://www.gnu.org/software/screen/) or [`tmux`](https://github.com/tmux/tmux/wiki) session), you can always access your urbit's web interface in any browser on any device, so long as you have your password on hand. The `/~~/` in the URL will redirect you to a login page, which was generated by Tree, the basic Urbit web interface. The page will tell you to run the `+code` generator (an Urbit functional shell script) in your Dojo to get your password. Copy and paste that into your password input box and hit Enter. After loading, you'll find yourself redirected to your home page, authenticated, where you can then use the navigation bar at the top of the page to visit your Talk web interface and static files. You can also access your urbit through `https://your-urbit.urbit.org/~~/`. Note that this latter approach is slower for the time being because we proxy over the Urbit network, Ames, but a better, faster solution for this is in the works. ### Filesystem — Clay Clay, the Urbit filesystem, isn't mounted to Unix by default. Switch to the Dojo prompt and run: ``` ~your-urbit:dojo> |mount % ``` This should produce: ``` > |mount % >= ``` which indicates the command was processed. `|mount %` will cause a `home/` directory to appear inside your pier folder. Changes to these files are automatically synced into your urbit.
Here are a few other things you can do to get up and running: ### Discussion — Fora Fora is the place for long-form Urbit discussion. It's hosted on an Urbit and served over HTTP via Eyre, Urbit's web server. Head on over to: ``` https://fora.urbit.org/~~/ ``` Like on your own web interface, you'll be redirected to a login page and prompted to run `+code` in your Dojo to retrive your password and log in. After loading, you'll get redirected to the Fora home page where you can post and comment authenticated as your ship name. Like Talk, Fora is a great place to ask questions, get help, chat about anything Urbit, and see what's going on. ### Docs We host our docs on `urbit.org`, but it's faster to view them locally through your own ship's web interface. So we also host the docs on a Clay desk on one of our `urbit.org` planets, which you can merge and sync onto your live ship over the network. Run in your Dojo: ``` ~your-urbit:dojo> |sync %home ~ladnub-lorwyn %docs ``` Depending on network traffic, this initial merge and sync could take anywhere between thirty seconds to a few minutes. Upon a successful sync you'll see the output: ``` sync succeeded from %docs on ~ladnub-lorwyn to %home ``` If for some reason that doesn't work, head to the [urbit/docs](https://github.com/urbit/docs) repo and follow the local install steps. Otherwise, your docs are now live, and you can view them at: ``` http://localhost:8080/~~/docs ``` We'll update our planet's desk with new doc changes as they happen. You should get sync updates automatically through Clay over Ames. ### Examples Similarly, we host some Urbit examples on our same `urbit.org` planet as above. Head to our [examples repo](https://github.com/urbit/examples) for full instructions if you're interested, though you may want to start with the [Urbyte](../../urbyte/), [Nock](../../nock/), [Hoon](../../hoon/) or [Arvo](../../arvo/) sections so you can really understand the example code. ## Learn more If you're eager to get started programming you're ready to head over to [the Hoon section](../../hoon/mission/). To learn more about using the system, let's keep going: