User Tools

This is an old revision of the document!


Olivetin

OliveTin is…

Installation

OliveTin can be installed both containerized or not. Read this page to understand why using a container in this case is overcomplicated and not recomented. I do share this opinion, so i will install it on bare metal as a service.

Given that i use Gentoo, let's go with the tar.gz approach. As general rule, see this page, but i don't like that approach and i prefer to keep this kind of stuff confined into /opt, so keep in mind that the following will be slightly different.

First of all, OliveTin will be installed as root so that it can do stuff on your server. I know this is dangarous and whatnot, but i will not expose it directly to the internet rather keep it protected behind the reverse proxy, with HTTPS, and accessible only after a proper SSO layer of authentication. If you prefer, you can disable access from outside your home as well for added security.

Download the latest relesase from GitHub and decompress it under /opt/olivetin:

mkdir /opt/olivetin
cd /opt/olivetin
wget https://github.com/OliveTin/OliveTin/releases/download/2025.4.22/OliveTin-linux-amd64.tar.gz
tar xvf OliveTin-linux-amd64.tar.gz
mv OliveTin-linux-amd64/* .
rmdir OliveTin-linux-amd64

Reverse Proxy

Please refer to this page for more details on NGINX as a reverse proxy.

OliveTin can be used on a subpath. While it is not recomended i think it's a better approach to use a dedicated DNS CNAME for it mostly because i will be using it only masked under my main server address (internal.mydomain.com) and well protected behind the reverse proxy.

olivetin.conf
location /olivetin/ {
        proxy_pass http://localhost:1337/;
        proxy_redirect http://localhost:1337/ http://localhost/olivetin/;
}

location /olivetin/websocket {
        proxy_set_header Upgrade "websocket";
        proxy_set_header Connection "upgrade";
        proxy_pass http://localhost:1337/websocket;
}

Of course, this assume that this is hosted under the main domain, which is already protected by the SSO (see here for more details). Do not run OliveTin unprotected.

In order to let OliveTin work under a sub-path you need to add the following configuration directive to /opt/olivetin/config.yaml:

externalRestAddress: https://internal.mydomain.com/olivetin

Configuration

Autostart

OliveTin provides a SystemD service file. If you, like me, prefeer to use OpenRC, it's pretty easy to setup a proper initialization script.

Drop the following to /etc/init.d/olivetin:

olivetin
#!/sbin/openrc-run
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

description="OliveTin"
pidfile="/run/olivetin.pid"
command_background=true
command="/opt/olivetin/OliveTin"
command_args="-configdir /opt/olivetin"
output_log="/var/log/olivetin/olivetin.log"
output_err="/var/log/olivetin/olivetin.log"

depend() {
        need net
}

and make it executable, add to the runlevel, and start it:

mkdir /var/log/olivetin
chmod +x /etc/init.d/olivetin
rc-update add olivetin default
/etc/init.d/olivetin start

Yes, i prefer to keep it's log separate, so i created also a log folder for it.

This website uses technical cookies only. No information is shared with anybody or used in any way but provide the website in your browser.

More information