# Linux

### Vorraussetungen

- Docker und Docker Compose installiert (Anleitungen für deine Distribution gibt es meist auf der offiziellen Docker Website)
- Diese Anleitung legt eine Debianbasierte Distribution zu grunde.

### Projektdateien und Software

- [Docker Compose YAML Datei](https://codeberg.org/BSApp/FieldNetAmpel-DockerInfrastructur/src/branch/main/docker-compose.yaml)

### Benötigtes Material

<table border="1" id="bkmrk-anzahl-art-link-1-m4" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 33.3333%;"></col><col style="width: 33.3333%;"></col><col style="width: 33.3333%;"></col></colgroup><tbody><tr><td>**Anzahl**</td><td>**Art**</td><td>**Link**</td></tr><tr><td>1</td><td>Linux PC / Raspberry Pi / o.ä.</td><td>  
</td></tr></tbody></table>

### Anleitung - Start/Installation der Steuerung

#### 1. Ordner anlegen und Docker Compose Datei ablegen

Als erstes erstellen wir im Home Verzeichnis einen Ordner namens fna-steuerung

```shell
## Optional, wenn wget nicht installiert ist
sudo apt install wget -y
## Erstellen des Ordners fna-steuerung
cd ~
mkdir fna-steuerung
cd fna-steuerung
## Downloaden der docker-compose.yaml
wget https://gitlab.gras-it.de/bsapp/fieldnet-ampel/fna-docker-infrastructur/-/blob/e561a872b02b854c72ce75088ba0750fe36b8028/docker-compose.yaml
```

#### 2. Starten des Docker Compose Service

Nachdem wir die docker-compose.yaml Datei heruntergeladen haben können wir den Service starten

```shell
## Springen in den Ordner fna-steuerung
cd ~/fna-steuerung
## Starten des Services
#Je nach dem ob der Benutzer in der docker Gruppe ist mit oder ohne SUDO
#Ist der Benutzer in der docker gruppe kann das sudo weggelassen werden
sudo docker compose up -d
```

#### 3. Öffnen der WebUI

Nachdem die Container nun laufen kann auf die Weboberfläche (WebUI) der Steuerng zugegriffen werden. Diese läuft auf Port 80. Im Browser die URL [http://127.0.0.1](http://127.0.0.1/) eingeben. Alternativ, wenn die Steuerung ohne Bildschirm betrieben wird, dann auf dem Gerät mit Bildschirm (Notebook / Smartphone / Tablet) die IP Adresse oder der DNS Name des "Servers" eingeben. z.B. [http://10.0.1.10](http://10.0.1.10) oder [http://sv-ampel](http://sv-ampel)

[![image.png](https://docs.bsapp.de/uploads/images/gallery/2026-03/scaled-1680-/XXQPexrYUXMxfvgp-image.png)](https://docs.bsapp.de/uploads/images/gallery/2026-03/XXQPexrYUXMxfvgp-image.png)

### Anleitung - Stoppen der Steuerung

Die steuerung kann über ein docker compose down gestoppt werden. Solltest du die Software nicht manuell stoppen, wird sie beim nächsten Start von deinem PC automatisch gestartet.

```shell
## Springen in den Ordner fna-steuerung
cd ~/fna-steuerung
## Stoppen des Services
#Je nach dem ob der Benutzer in der docker Gruppe ist mit oder ohne SUDO
#Ist der Benutzer in der docker gruppe kann das sudo weggelassen werden
sudo docker compose down
```

<span style="background-color: rgb(241, 196, 15);">**WICHTIG**: Im Netzwerk darf nur eine Steuerung gleichzeitig laufen, da sonst die Anzeigegeräte unterschiedliche Informationen erhalten.</span>

### Anleitung - Update der Steuerung

Die steuerung kann mit einem einfachen docker compose pull und einem neuerstellen beim Start durchgeführt werden. Hierzu muss der Servie auf jeden fall gestoppt sein.

```shell
## Springen in den Ordner fna-steuerung
cd ~/fna-steuerung
## Stoppen des Services
sudo docker compose down
## Starten des Services
#Je nach dem ob der Benutzer in der docker Gruppe ist mit oder ohne SUDO
#Ist der Benutzer in der docker gruppe kann das sudo weggelassen werden
sudo docker compose pull
sudo docker compose up --force-recreate -d
sudo docker image prune -f
```