Installation requirements

Zotonic runs on Linux, Mac OS X and (not officially) on Windows.

Before running Zotonic, you must make sure your system meets the minimum requirements to do so. Zotonic needs the following software installed:

  1. Erlang/OTP version 23 or newer. Build it from source, or use packages.
  2. ImageMagick (version 6.5 or higher) for the convert and identify tools. Make sure that the convert and identify tools are in your path so that zotonic can find them. For auto-rotation to work you’ll need the exif utility as well.
  3. PostgreSQL version 9.5 or higher. Enable trust-authentication (username+password) in Postgres (see below).
  4. gcc and g++ For compiling dependencies like erlexec.
  5. git Zotonic comes with a few subprojects which are pulled from the web with the git command.
  6. gettext For translation support.

If you meet these requirements, head straight on to Cloud-Init, otherwise, read on below for the specifics on these.


You can check if you have Erlang installed by typing the following command in a terminal:

$ erl

The output should be something like:

Erlang/OTP 23 [erts-11.0] [source] [64-bit] [smp:12:12] [ds:12:12:10] [async-threads:1] [hipe]
Eshell V11.0  (abort with ^G)

(Press ctrl+c twice to exit)

If your version is below release 23, you need to upgrade. If you don’t have Erlang installed, we recommend downloading a build for your operating system from the Erlang Solutions website:


You can check if you have ImageMagick installed by typing the following command in a terminal:

$ convert -version

This tells you which version of ImageMagick is installed:

Version: ImageMagick 6.8.9-9 Q16 x86_64 2018-09-28


You can check if you have PostgreSQL installed by typing the following command in a terminal:

$ psql -V

Returns the PostgreSQL version:

psql (PostgreSQL) 9.5.17

Enabling trust-authentication in PostgreSQL

To let Postgres users access the database from Zotonic, you need to make a configuration change in Postgres’ configuration file pg_hba.conf.

On Linux, this file is located in /etc/postgresql/<pg version>/main/pg_hba.conf. Add the following lines:

# Zotonic settings
local   all         zotonic                           ident
host    all         zotonic          md5
host    all         zotonic     ::1/128               md5

These settings assume that your Zotonic sites are going to connect with a PostgreSQL user called zotonic. For other user names, adjust accordingly. Do not forget to restart PostgreSQL after you’ve made this change.

Platform-specific notes

Ubuntu / Debian

We recommend you install Erlang from the Erlang solutions website:

The other requirements are easily fetched with apt:

sudo sudo apt-get install gcc g++ build-essential git imagemagick postgresql ffmpeg


If you’re running on FreeBSD, make sure you’ve got the ‘GNU’ ‘make’ (check with make --version, which should give you GNU, and version info). If you don’t have GNU make, Zotonic will give an error when trying to compile.


With Homebrew you can install Erlang and ImageMagick using the following commands:

brew install erlang git imagemagick ffmpeg

Alternatively, with MacPorts:

sudo port install erlang +ssl
sudo port install ImageMagick

For PostgreSQL choose either:


Currently, Zotonic is not officially supported on the Windows platform. However, the main dependencies Erlang, PostgreSQL and ImageMagick do work on Windows, so, if you’re adventurous, it should be possible to get it running.

Edit on GitHub

Notifications Reference Configuration

Download Zotonic Getting Started

Referred by

Just enough Postgres

Understand the primary data-store of Zotonic.