* cargo/manifests: allow user to use native-tls ... ... if `ring` can't be used on the user's platform (e.g. mips/ppc/riscv) * CI: test for native tls build
3.9 KiB
+++ title = "Installation" weight = 10 +++
Zola provides pre-built binaries for MacOS, Linux and Windows on the GitHub release page.
macOS
Zola is available on Brew:
$ brew install zola
Zola is also available on MacPorts:
$ sudo port install zola
Arch Linux
Zola is available in the official Arch Linux repositories.
$ pacman -S zola
Alpine Linux
Zola is available in the official Alpine Linux repository, only on the edge
version for now.
$ apk add zola --repository http://dl-cdn.alpinelinux.org/alpine/edge/community/
Debian
Zola is available over at barnumbirr/zola-debian.
Grab the latest .deb
for your Debian version then simply run:
$ sudo dpkg -i zola_<version>_amd64_debian_<debian_version>.deb
Fedora
Zola has been available in the official repositories since Fedora 29.
$ sudo dnf install zola
Void Linux
Zola is available in the official Void Linux repositories.
$ sudo xbps-install zola
FreeBSD
Zola is available in the official package repository.
$ pkg install zola
OpenBSD
Zola is available in the official package repository.
$ doas pkg_add zola
Snapcraft
Zola is available on snapcraft:
$ snap install --edge zola
Docker
Zola is available on Docker Hub.
It has no latest
tag, you will need to specify a specific version to pull.
$ docker pull balthek/zola:0.13.0
$ docker run balthek/zola:0.13.0 --version
Build
$ docker run -u "$(id -u):$(id -g)" -v $PWD:/app --workdir /app balthek/zola:0.13.0 build
Serve
$ 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.
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
Windows
Zola is available on Scoop:
$ scoop install zola
and Chocolatey:
$ choco install zola
Zola does not work in PowerShell ISE.
From source
To build Zola from source, you will need to have Git, Rust (at least 1.49) and Cargo installed. You will also need to meet additional dependencies to compile libsass:
- OSX, Linux and other Unix-like operating systems:
make
(gmake
on BSDs),g++
,libssl-dev
- NixOS: Create a
shell.nix
file in the root of the cloned project with the following contents:
with import <nixpkgs> {}; pkgs.mkShell { buildInputs = [ libsass openssl pkgconfig ]; }
- Then, invoke
nix-shell
. This opens a shell with the above dependencies. Then, runcargo build --release
to build the project.
- NixOS: Create a
- Windows (a bit trickier): updated
MSVC
and overall updated VS installation
From a terminal, you can now run the following command:
$ cargo build --release
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:
$ cargo build --release --no-default-features --features=native-tls
The binary will be available in the target/release
directory. You can move it in your $PATH
to have the
zola
command available globally or in a directory if you want for example to have the binary in the
same repository as the site.