# Set up a local development environment

Source: https://zotonic.com/docs/1526/set-up-a-local-development-environment

URI: https://zotonic.com/id/1526

Language: en

Choose one installation route, start Zotonic, create a site, and make your first visible change.

Start here to build Zotonic, open your own site, and change a page. You do not need to learn Erlang before trying the first template edit.

1. Choose an installation route
-------------------------------

::: {.aside}
The [installation requirements](/id/1530) explain the tools and version checks. They are a checklist to consult, not another required tutorial.
:::

**For a first try, use [Install with Docker or Podman](/id/1411).** It supplies Erlang/OTP 28, build tools, and PostgreSQL. You only install Git and a container runtime on your computer.

Prefer running everything directly on your computer? Follow [Install on macOS or Linux](/id/3044). Already use Nix? Follow [Use the Nix development shell](/id/3046). Choose one route; you do not need all three.

2. Get the source
-----------------

In a terminal, move to the directory where you keep projects, then run:

```sh
git clone https://github.com/zotonic/zotonic.git
cd zotonic
```

This gets the development branch used by this guide. If you need a released version, get its source from the [Zotonic releases](https://github.com/zotonic/zotonic/releases) and follow instructions for that release. Do not mix an existing native build with a container build; use separate checkouts.

3. Install and start
--------------------

Open your chosen installation page above and follow it until `bin/zotonic status` reports a running node. Container users run Zotonic commands **inside the container shell**; native users run them in this checkout.

4. Make it yours
----------------

[Create your first site](/id/2914), log in to its admin, then [change its home-page template](/id/2915). The example is a small blog named `garden`.

You are done with the first run when the site opens in your browser and your own text appears after a template edit. Continue with [your first dynamic page](/id/2916) when you want to add a new URL.

License: 

Attribution: 

Related resources: https://zotonic.com/api/agent/related/1526?language=en


## API access

- [API help](<https://zotonic.com/api-help>)
- [OpenAPI specification](<https://zotonic.com/openapi.json>)
- [This resource as JSON](<https://zotonic.com/api/agent/resource/1526?language=en>)
