Skip to main content

Easy installation

There are two guided ways to install Grafioschtrader (GT): the Linux installer for a classic installation on Debian or Ubuntu, and the installation with Docker. Both ask the necessary questions themselves, generate the passwords on request, set up the database and, for a public domain, obtain the TLS certificate from Let’s Encrypt. This page compares the two ways; their structure is described on the subpages Linux installer and Docker Architecture. The individual commands are in the wiki under Installation with the Linux installer and Grafioschtrader with Docker.

Common prerequisites

Without a domain, GT is only reachable in the local network over HTTP. Access from the internet requires a domain that points to the computer. If you use the free dynamic domain of DuckDNS for this, create the account and the subdomain on duckdns.org yourself before the installation and keep the token ready; neither way can create a subdomain. Both ask through which address family the computer is reachable from outside: IPv4 with port forwarding in the router, IPv6 only (for example on a DS-Lite connection) or both. In every case, the router must let TCP ports 80 and 443 through to this computer, as port forwarding for IPv4 and as a firewall allowance for IPv6. Port 80 is needed to issue and renew the certificate.

Linux installer and Docker compared

Linux installerDocker
ComputerDebian 12 and 13, Ubuntu 24.04 and 26.04 (also Raspberry Pi OS and Armbian on these bases) with systemdLinux server with Docker Engine and the Compose plugin, on x86-64 or 64-bit ARM such as the Raspberry Pi
What is createdGT as a system service; the backend is built on the computer from the source code, the user interface too from about 4 GB of memory, otherwise it is downloaded ready-madethree containers from ready-made images, optionally a fourth for DuckDNS
Web servernginx or Apache; an existing HTTPS site can take in GTCaddy in the web container
TLS certificatecertbot, or an existing certificate, or an upstream proxyCaddy obtains and renews it itself
DuckDNSown systemd timer; an existing updater is recognisedown container, on request
Local networkalways additionally through the LAN address over HTTPwith a domain only through the domain
Other services on the computeran existing MariaDB, websites, Java and Node.js versions and occupied ports are recognised and stay unchangedGT runs separately in containers; only ports 80 and 443 are occupied
Updategtupdate.sh as user grafioschtraderupdate.sh in the Docker directory
Uninstallgt-install.sh --uninstalluninstall.sh

Which way fits?

graph TD
    A["Where should GT run?"] --> B{"Debian or Ubuntu<br/>with systemd?"}
    B -->|"No"| D["Docker"]
    B -->|"Yes"| C{"Should GT run beside other services<br/>such as MariaDB or websites?"}
    C -->|"Yes, and they should<br/>be shared"| L["Linux installer"]
    C -->|"No"| E{"Is Docker already<br/>in use?"}
    E -->|"Yes"| D
    E -->|"No"| L
    L --> F{"Does another proxy such as<br/>Caddy own ports 80 and 443?"}
    F -->|"Yes"| G["Linux installer without its own web server;<br/>the proxy takes over the routes"]
    F -->|"No"| H["Linux installer with nginx or Apache"]

The Linux installer suits a computer that GT shares with other applications, or when you want the individual components in front of you as with a manual installation. Docker suits GT running separately from everything else, or a computer that already uses Docker. On a Raspberry Pi with little memory, Docker also saves building the backend, because the images are obtained ready-made.

Uninstall

An installation made with the Linux installer can be removed with the same program. The command sudo bash gt-install.sh --uninstall first shows what will be removed and, after confirmation, removes only what the installer itself set up. Other websites, services and Java versions on the server stay unchanged, as do files that were changed by hand after the installation. The database with your data and the installed program packages are kept by default. Only the options --remove-database and --remove-packages remove them as well. Before deleting the database, the installer writes a backup to the directory /root and additionally asks you to type delete-database.

Info

As long as the kept database remains on the server, Grafioschtrader cannot be installed there again. In this case, restore your data from the backup or from Export personal data.

An installation with Docker is removed with the script uninstall.sh in the Docker directory. It keeps the database and the certificates unless they are deleted explicitly with the option --purge.