2017-09-12 07:13:26 +00:00
+++
title = "Installation"
2020-01-20 03:02:05 +00:00
weight = 10
2017-09-12 07:13:26 +00:00
+++
2018-10-18 21:09:32 +00:00
Zola provides pre-built binaries for MacOS, Linux and Windows on the
[GitHub release page ](https://github.com/getzola/zola/releases ).
2017-09-27 14:37:17 +00:00
2018-11-19 22:46:49 +00:00
### macOS
2017-09-27 14:37:17 +00:00
2018-11-19 22:46:49 +00:00
Zola is available on [Brew ](https://brew.sh ):
2017-10-16 13:22:47 +00:00
2021-02-03 12:13:49 +00:00
```sh
2018-11-19 22:46:49 +00:00
$ brew install zola
2017-11-01 15:31:58 +00:00
```
2017-09-27 14:37:17 +00:00
2021-07-21 11:11:51 +00:00
Zola is also available on [MacPorts ](https://www.macports.org ):
```sh
$ sudo port install zola
```
2018-11-19 15:36:07 +00:00
### Arch Linux
2018-11-12 18:58:46 +00:00
2020-07-19 08:51:03 +00:00
Zola is available in the official Arch Linux repositories.
2017-10-16 13:22:47 +00:00
2021-02-03 12:13:49 +00:00
```sh
2020-07-19 08:51:03 +00:00
$ pacman -S zola
2017-10-21 07:48:29 +00:00
```
2017-09-27 14:37:17 +00:00
2021-02-03 12:13:49 +00:00
### Alpine Linux
2022-08-03 17:49:27 +00:00
Zola is available in the official Alpine Linux community repository since Alpine v3.13.
See this section of the Alpine Wiki explaining how to enable the community repository if necessary: https://wiki.alpinelinux.org/wiki/Repositories#Enabling_the_community_repository
2021-02-03 12:13:49 +00:00
```sh
2022-08-03 17:49:27 +00:00
$ apk add zola
2021-02-03 12:13:49 +00:00
```
2021-04-26 07:27:23 +00:00
### Debian
Zola is available over at [barnumbirr/zola-debian ](https://github.com/barnumbirr/zola-debian ).
Grab the latest `.deb` for your Debian version then simply run:
```sh
$ sudo dpkg -i zola_< version > _amd64_debian_< debian_version > .deb
```
2019-06-30 16:10:21 +00:00
### Fedora
2023-01-28 21:44:46 +00:00
On Fedora, Zola is avialable via [COPR ](https://fedoraproject.org/wiki/Category:Copr ).
2019-06-30 16:10:21 +00:00
```sh
2023-01-28 21:44:46 +00:00
$ sudo dnf copr enable fz0x1/zola
2019-06-30 16:10:21 +00:00
$ sudo dnf install zola
```
2020-09-05 17:28:44 +00:00
### Void Linux
2021-02-03 12:13:49 +00:00
2020-09-05 17:28:44 +00:00
Zola is available in the official Void Linux repositories.
```sh
$ sudo xbps-install zola
```
2019-07-10 19:39:30 +00:00
### FreeBSD
Zola is available in the official package repository.
```sh
$ pkg install zola
```
2020-07-30 09:03:01 +00:00
### OpenBSD
2021-02-03 12:13:49 +00:00
2020-07-30 09:03:01 +00:00
Zola is available in the official package repository.
```sh
$ doas pkg_add zola
```
2022-12-13 09:59:54 +00:00
### pkgsrc
Zola is available in the official package repository, with [pkgin ](https://pkgin.net/ ).
```sh
$ pkgin install zola
```
2018-11-19 15:34:39 +00:00
### Snapcraft
2018-11-12 18:58:46 +00:00
2018-11-19 15:34:39 +00:00
Zola is available on snapcraft:
2017-10-16 13:22:47 +00:00
2021-02-03 12:13:49 +00:00
```sh
2019-02-05 10:09:18 +00:00
$ snap install --edge zola
2017-10-16 13:22:47 +00:00
```
2017-09-27 14:37:17 +00:00
2022-06-21 15:17:23 +00:00
### Flatpak
Zola is available as a flatpak on [flathub ](https://flathub.org ):
```sh
$ flatpak install flathub org.getzola.zola
```
To use zola:
```sh
$ flatpak run org.getzola.zola [command]
```
2023-01-02 15:16:33 +00:00
To avoid having to type this every time, an alias can be created in `~/.bashrc` :
2022-06-21 15:17:23 +00:00
```sh
$ alias zola="flatpak run org.getzola.zola"
```
2023-03-05 19:32:22 +00:00
### NixOS / Nixpkgs
Zola is [available ](https://search.nixos.org/packages?show=zola&query=zola )
in the nixpkgs repository. If you're using NixOS, you can install Zola
by adding the following to `/etc/nixos/configuration.nix` :
```
environment.systemPackages = [
pkgs.zola
];
```
If you're using Nix as a package manager in another OS, you can install it using:
```
nix-env -iA nixpkgs.zola
```
2023-02-11 14:28:49 +00:00
### Via Github Actions
Zola can be installed in a GHA workflow with [taiki-e/install-action ](https://github.com/taiki-e/install-action ).
Simply add it in your CI config, for example:
```yaml
jobs:
foo:
steps:
- uses: taiki-e/install-action@v2
with:
2023-02-26 19:01:03 +00:00
tool: zola@0.17.1
2023-02-11 14:28:49 +00:00
# ...
```
See the action repo for docs and more examples.
2021-02-03 13:59:45 +00:00
### Docker
2021-12-08 19:36:34 +00:00
Zola is available on [the GitHub registry ](https://github.com/getzola/zola/pkgs/container/zola ).
2022-04-18 17:58:20 +00:00
It has no `latest` tag, you will need to specify a [specific version to pull ](https://github.com/getzola/zola/pkgs/container/zola/versions ).
2021-02-03 13:59:45 +00:00
```sh
2023-02-26 19:01:03 +00:00
$ docker pull ghcr.io/getzola/zola:v0.17.1
2021-02-03 13:59:45 +00:00
```
#### Build
```sh
2023-02-26 19:01:03 +00:00
$ docker run -u "$(id -u):$(id -g)" -v $PWD:/app --workdir /app ghcr.io/getzola/zola:v0.17.1 build
2021-02-03 13:59:45 +00:00
```
#### Serve
```sh
2023-02-26 19:01:03 +00:00
$ docker run -u "$(id -u):$(id -g)" -v $PWD:/app --workdir /app -p 8080:8080 ghcr.io/getzola/zola:v0.17.1 serve --interface 0.0.0.0 --port 8080 --base-url localhost
2021-02-03 13:59:45 +00:00
```
You can now browse http://localhost:8080.
2021-02-13 19:06:59 +00:00
> To enable live browser reload, you may have to bind to port 1024. Zola searches for an open
> port between 1024 and 9000 for live reload. The new docker command would be
2023-02-26 19:01:03 +00:00
> `$ docker run -u "$(id -u):$(id -g)" -v $PWD:/app --workdir /app -p 8080:8080 -p 1024:1024 ghcr.io/getzola/zola:v0.17.1 serve --interface 0.0.0.0 --port 8080 --base-url localhost`
2021-02-13 19:06:59 +00:00
2023-10-21 20:38:17 +00:00
#### Multi-stage build
Since there is no shell in the Zola docker image, if you want to use it from inside a Dockerfile, you have to use the
exec form of `RUN` , like:
```Dockerfile
FROM ghcr.io/getzola/zola:v0.17.1 as zola
COPY . /project
WORKDIR /project
RUN ["zola", "build"]
```
2021-02-13 19:06:59 +00:00
2018-11-19 15:34:39 +00:00
## Windows
2017-11-09 02:39:09 +00:00
2021-02-03 12:13:49 +00:00
Zola is available on [Scoop ](https://scoop.sh ):
2017-11-09 02:39:09 +00:00
2021-02-03 12:13:49 +00:00
```sh
2018-11-19 15:34:39 +00:00
$ scoop install zola
2017-11-09 02:39:09 +00:00
```
2019-11-26 19:30:30 +00:00
and [Chocolatey ](https://chocolatey.org/ ):
2018-09-18 10:13:00 +00:00
2021-02-03 12:13:49 +00:00
```sh
2018-11-19 15:34:39 +00:00
$ choco install zola
2018-11-12 18:58:46 +00:00
```
2017-09-27 14:37:17 +00:00
2019-03-25 22:17:36 +00:00
Zola does not work in PowerShell ISE.
2018-11-12 18:58:46 +00:00
## From source
2021-11-25 08:15:00 +00:00
To build Zola from source, you will need to have Git, [Rust and Cargo ](https://www.rust-lang.org/ )
2023-05-17 07:25:01 +00:00
installed.
2018-11-12 18:58:46 +00:00
2023-05-23 19:02:26 +00:00
From a terminal, you can now run the following commands:
2018-11-12 18:58:46 +00:00
2021-02-03 12:13:49 +00:00
```sh
2023-05-23 19:02:26 +00:00
$ git clone https://github.com/getzola/zola.git
$ cd zola
2023-08-24 19:08:37 +00:00
$ cargo install --path . --locked
2023-05-23 19:02:26 +00:00
$ zola --version
2018-11-12 18:58:46 +00:00
```
2017-09-27 14:37:17 +00:00
2021-08-18 13:32:34 +00:00
If you encountered compilation errors like `error: failed to run custom build command for 'ring v0.16.20'` , you can try the command below instead:
```sh
2023-08-24 19:08:37 +00:00
$ cargo build --release --locked --no-default-features --features=native-tls
2021-08-18 13:32:34 +00:00
```
2019-11-26 19:30:30 +00:00
The binary will be available in the `target/release` directory. You can move it in your `$PATH` to have the
2023-05-23 19:02:26 +00:00
`zola` command available globally:
```sh
$ cp target/release/zola ~/.cargo/bin/zola
```
or in a directory if you want for example to have the binary in the same repository as the site.