Skip to content

Latest commit

 

History

History
73 lines (51 loc) · 2.55 KB

INSTALL.md

File metadata and controls

73 lines (51 loc) · 2.55 KB

Building eturnal From Source

Requirements

Note that you need the development headers of the libraries as well. Linux distributions often put those into separate *-dev or *-devel packages. For example, on DEB-based distributions you'd typically install libyaml-dev and libssl-dev, on RPM-based distributions you'll probably need libyaml-devel and openssl-devel.

Compilation

Note: If you build directly from the Git repository rather than using the official source tarball, you must download rebar3 and make it executable (chmod +x rebar3), first.

$ curl https://eturnal.net/download/eturnal-1.4.5.tar.gz | tar -C /tmp -xzf -
$ cd /tmp/eturnal-1.4.5
$ ./rebar3 as prod tar

This generates the archive file _build/prod/rel/eturnal/eturnal-1.4.5.tar.gz. The default installation prefix is set to /opt/eturnal, and it's assumed the server will be executed by a user named eturnal. To change these defaults, edit the build.config file, re-run ./rebar3 as prod tar, and adapt the following installation instructions accordingly.

Installation

You'll need root privileges for the following commands. Therefore, call su - or sudo -i, first.

  1. Create a user for running eturnal. This step is of course only required if you're installing eturnal for the first time:

    # useradd -r -m -d /opt/eturnal eturnal
    

    Otherwise, create a backup of the old installation, first:

    # tar -czf /opt/eturnal-$(date '+%F').tar.gz /opt/eturnal
    
  2. Extract the archive generated above:

    # cd /opt/eturnal
    # tar -xzf /tmp/eturnal-1.4.5/_build/prod/rel/eturnal/eturnal-1.4.5.tar.gz
    
  3. Copy the eturnal.yml file to /etc (optional):

    # cp -i /opt/eturnal/etc/eturnal.yml /etc/
    
  4. Start the systemd service:

    # cp /opt/eturnal/etc/systemd/system/eturnal.service /etc/systemd/system/
    # systemctl daemon-reload
    # systemctl --now enable eturnal
    

Configuration and Usage

See the README.md file and the reference documentation for configuration and usage instructions.