Skip to content

Installing From Source

Tony Collen edited this page Dec 11, 2021 · 28 revisions

These instructions assume a basic knowledge of Linux/Unix and command-line tools.

open890 is currently supported under Linux, or Unix-like operating systems like MacOS. You can also follow these instructions in Windows 10 if you have WSL installed - much of this project was written under WSL. If you are on Windows and do not have WSL installed, you can still compile the app. See Developing on Windows for more information.

Development Prerequsites

  • Raspberry Pi users may need to install the following packages:

    sudo apt -y install autoconf libssl-dev libncurses5-dev zip unzip git
    
  • Fedora Red Hat users will need to install the following packages:

    sudo yum install autoconf openssl-devel ncurses-devel automake inotify-tools git
    

Clone the repository

    git clone https://github.com/tonyc/open890.git
    cd open890

Optional: Check out the develop branch

There are two main branches in the repository: main and develop

  • main can be interpreted as "stable", but unreleased. Code that lands in main is next in line for a release. This is the default branch you get when cloning the repository.

  • develop should be considered "unstable". Things may break, things may change around rapidly, etc.

To check out the develop branch:

    git checkout develop

Installing Development Tools

asdf is a tool to manage installing specific versions of various programming languages and development tools. It is the recommended way to build open890 from source locally.

Install asdf following these instructions

Build the app and run the local development server:

    make up

Answer Y to any prompts that appear.

This will install all of the required development tools (asdf plugins), compile erlang/elixir, install NodeJS, fetch application dependencies, compile the app, and start the server.

The Erlang install will take a very long time on a Raspberry Pi. You may also see scary-looking messages during the Erlang install that says something like "fop is missing" or "documentation cannot be built" - this is OK.

If you are updating a local code checkout, it may be useful to run make clean after fetching the latest code, and then running make up. If you don't want to run the server for some reason, you can just run make, although this is less useful.

You can now visit http://localhost:4000 from your browser.

Stopping your server

Type ^C^C (aka: ctrl-c twice)

Clone this wiki locally