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
|
|
|
|
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
|
|
|
|
|
|
|
|
Zola is available in the official Alpine Linux repository, only on the `edge` version for now.
|
|
|
|
|
|
|
|
```sh
|
|
|
|
$ apk add zola --repository http://dl-cdn.alpinelinux.org/alpine/edge/community/
|
|
|
|
```
|
|
|
|
|
2019-06-30 16:10:21 +00:00
|
|
|
### Fedora
|
|
|
|
|
2019-11-26 19:30:30 +00:00
|
|
|
Zola has been available in the official repositories since Fedora 29.
|
2019-06-30 16:10:21 +00:00
|
|
|
|
|
|
|
```sh
|
|
|
|
$ 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
|
|
|
|
```
|
|
|
|
|
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
|
|
|
|
2021-02-03 13:59:45 +00:00
|
|
|
### Docker
|
|
|
|
|
|
|
|
Zola is available on [Docker Hub](https://hub.docker.com/r/balthek/zola).
|
|
|
|
It has no `latest` tag, you will need to specify a [specific version to pull](https://hub.docker.com/r/balthek/zola/tags).
|
|
|
|
|
|
|
|
```sh
|
|
|
|
$ docker pull balthek/zola:0.13.0
|
|
|
|
$ docker run balthek/zola:0.13.0 --version
|
|
|
|
```
|
|
|
|
|
|
|
|
#### Build
|
|
|
|
|
|
|
|
```sh
|
|
|
|
$ docker run -u "$(id -u):$(id -g)" -v $PWD:/app --workdir /app balthek/zola:0.13.0 build
|
|
|
|
```
|
|
|
|
|
|
|
|
#### Serve
|
|
|
|
|
|
|
|
```sh
|
|
|
|
$ docker run -u "$(id -u):$(id -g)" -v $PWD:/app --workdir /app -p 8080:8080 balthek/zola:0.13.0 serve --interface 0.0.0.0 --port 8080 --base-url localhost
|
|
|
|
```
|
|
|
|
|
|
|
|
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
|
|
|
|
> `$ docker run -u "$(id -u):$(id -g)" -v $PWD:/app --workdir /app -p 8080:8080 -p 1024:1024 balthek/zola:0.13.0 serve --interface 0.0.0.0 --port 8080 --base-url localhost`
|
|
|
|
|
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-02-03 12:13:49 +00:00
|
|
|
|
2021-01-05 21:15:09 +00:00
|
|
|
To build Zola from source, you will need to have Git, [Rust (at least 1.45) and Cargo](https://www.rust-lang.org/)
|
2019-11-26 19:30:30 +00:00
|
|
|
installed. You will also need to meet additional dependencies to compile [libsass](https://github.com/sass/libsass):
|
2017-09-27 14:37:17 +00:00
|
|
|
|
2019-11-26 19:30:30 +00:00
|
|
|
- OSX, Linux and other Unix-like operating systems: `make` (`gmake` on BSDs), `g++`, `libssl-dev`
|
2019-02-19 14:54:07 +00:00
|
|
|
- NixOS: Create a `shell.nix` file in the root of the cloned project with the following contents:
|
|
|
|
```nix
|
|
|
|
with import <nixpkgs> {};
|
|
|
|
|
|
|
|
pkgs.mkShell {
|
|
|
|
buildInputs = [
|
|
|
|
libsass
|
|
|
|
openssl
|
|
|
|
pkgconfig
|
|
|
|
];
|
|
|
|
}
|
|
|
|
```
|
2019-11-26 19:30:30 +00:00
|
|
|
- Then, invoke `nix-shell`. This opens a shell with the above dependencies. Then, run `cargo build --release` to build the project.
|
2018-11-12 18:58:46 +00:00
|
|
|
- Windows (a bit trickier): updated `MSVC` and overall updated VS installation
|
|
|
|
|
|
|
|
From a terminal, you can now run the following command:
|
|
|
|
|
2021-02-03 12:13:49 +00:00
|
|
|
```sh
|
2018-11-12 18:58:46 +00:00
|
|
|
$ cargo build --release
|
|
|
|
```
|
2017-09-27 14:37:17 +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
|
2018-11-12 18:58:46 +00:00
|
|
|
`zola` command available globally or in a directory if you want for example to have the binary in the
|
|
|
|
same repository as the site.
|