Jae's Website
Random Beeps'n Boops

Logo

Getting started with Overengine

This article will describe how to get started and host your own instance of Overengine.

Production setup

Currently, only Docker is supported, baremetal deployments are deprecated.

Docker

You will need:

Create the following Compose file:

version: "3.8"

services:
  overengine:
    image: d.j4.lc/general-stuff/overengine:beep
    ports:
      - "127.0.0.1:8080:8080"

In theory, you should be good to go and run it, but it will run it in debug mode which is suboptimal for real deployments.
For a more better Compose file, you can use:

version: "3.8"

services:
  overengine:
    image: d.j4.lc/general-stuff/overengine:beep
    ports:
      - "127.0.0.1:8080:8080"
    env_file:
      - .overengine.env
    volumes:
      - ./content:/content

With the following .overengine.env file:

Note: /content assumes a clone of the site-content repo

CONTENT_DIR=/content/content
NODE_ENV=production

Congrats, you have now a running version of Overengine.
Proceed to the configuration section of this page for more information.

It is also recommended to use a reverse proxy such as Caddy to have HTTPS on the site.

Dev setup

Setting up a dev repo is pretty simple:

git clone https://g.j4.lc/general-stuff/overengine.git
cd overengine
git submodule update --init
yarn
yarn dev

This should launch a development server on http://localhost:8080 ready to be used.

Docker

To build a local Docker image, use:

docker build -t overengine:latest .

Configuration

There are multiple configuration keys in Overengine, all set through the environment variables.
Here is a table of all of them.

Name Description Example
CONTENT_DIR Sets the location of the content of the website CONTENT_DIR=/content
SITE_NAME The name of your site SITE_NAME=Awa Awa
SITE_DESCRIPTION The description of your site SITE_DESCRIPTION=Awa Kabawa
SITE_TAGLINE The site subtitle/tagline SITE_TAGLINE=Beep
SITE_COPYRIGHT The site’s copyright line SITE_COPYRIGHT=CC BY-SA 4.0
SITE_LANGUAGE The site language code SITE_LANGUAGE=eo
DOMAINS_ADVERTISED Domains you wish to advertise on the sidebar DOMAINS_ADVERTISED=example.com
MATRIX_SUBDOMAIN Used to set a Matrix server subdomain MATRIX_SUBDOMAIN=matrix
MATRIX_HOMESERVER_PORT Used to set a Matrix server port MATRIX_HOMESERVER_PORT=443
MATRIX_ENABLED Enable Matrix well-known support MATRIX_ENABLED=true
BLOGS_ENABLED Enable the blog parsing engine BLOGS_ENABLED=true
REDIRECTS_ENABLED Enable redirects REDIRECTS_ENABLED=true
API_ENABLED Enable the API API_ENABLED=true