joni1802 / ts3-manager

A modern web interface for maintaining Teamspeak3 servers
https://www.ts3.app
MIT License
189 stars 23 forks source link

Linux (Raspberry Pi) Installation #20

Closed TechSaiyajin closed 3 years ago

TechSaiyajin commented 3 years ago

Guten Morgen,

ich habe folgendes Problem: Beim Ausführen der Installationsdatei bekomme ich folgende Rückmeldung: bash: .ts3-manager-linux: Kommando nicht gefunden.

Raspberry Pi 3+ Raspbian 10 Buster 32bit

joni1802 commented 3 years ago

Hallo Daniel,

die ausführbaren Dateien für Windows, MacOS und Linux unterstützen nur x86 Systeme. Die bereitgestellten Dateien können aktuell nicht auf Systemen mit ARM Prozessoren gestartet werden. Folgende zwei Möglichkeiten gibt es, den TS3 Manager dennoch unter Raspbian laufen zu lassen:

  1. Installiere auf deinem Raspberry Pi Docker und benutze das offizielle Docker Image.
  2. Kompiliere das Programm eigenständig und erstelle eine ausführbare Datei. 2.1 Installiere dafür die aktuelle Version von NodeJS 2.2 Klone das Github Repository git clone https://github.com/joni1802/ts3-manager.git. 2.3 Führe den Befehl npm install jeweils in den Verzeichnissen frontend und backend aus. 2.4 Führe den Befehl npm run build im Verzeichnis frontend aus. 2.5 Führe den Befehl npm install pkg -g aus. 2.6 Führe den Befehl pkg . im Verzeichnis backend aus. 2.7 Danach sollte sich im Verzeichnis backend eine ausführbare Datei ts3-manager-backend-XXX befinden. 2.8 Passe die Rechte für die erzeugte Datei mit chmod +x ts3-manager-backend-XXX an. 2.9 Nun kann die Datei mit .\ts3-manager-backend-XX ausgeführt werden.

Ich werde für das eigenständige Kompilieren noch eine ausführlichere Anleitung auf www.ts3.app veröffentlichen.

bash: .ts3-manager-linux: Kommando nicht gefunden.

Bei dem Befehl fehlt /. Es müsste ./ts3-manager-linux lauten.

LG

TechSaiyajin commented 3 years ago

Vielen Dank für die schnelle und äußerst ausführliche Antwort!

Ich wollte das Webinterface wie den Ts3 Server mithilfe von ExaGear laufen lassen. Muss ich in der x86 Umgebung etwas nachinstallieren um die Datei ausführen zu können?

joni1802 commented 3 years ago

Die ausführbare Programmdatei benötigt keine Abhängigkeiten und sollte direkt laufen. Eine Installation von NodeJS ist nicht notwendig.

TechSaiyajin commented 3 years ago

Leider funktioniert Docker auch nicht, der Container lässt sich ebenfalls nicht auf ARM ausführen. Letzte Chance ist Kompilieren, ansonsten muss ich mir wohl einen Rock Pi X anschaffen.

joni1802 commented 3 years ago

Das Docker Image basiert auf node:lts-alpine. Das wird vermutlich das Problem sein. Auch hier müsstest du dir dann dein eigenes Image bauen und vermutlich einfach nur node:lts-alpine durch arm32v7/node oder arm64v8/node im Dockerfile ersetzen. Das Dockerfile würde dann wie folgt aussehen:

FROM arm32v7/node:latest AS build

# create the directory "app" inside the docker image and set it to the default directory
WORKDIR /app

# copy the files into the workdir (node_modules are excluded by ignore file)
COPY ./frontend ./frontend

#only set frontend env here
ENV FRONTEND_DIR ./frontend

# download all the packages for the frontend and build app for production with minification
RUN npm --prefix ${FRONTEND_DIR} install ${FRONTEND_DIR} && npm run build --prefix ${FRONTEND_DIR}

FROM arm32v7/node:latest

# the webserver will look for the environment variable "PORT"
# otherwise the default port is hard coded as 3000
ENV PORT 8080

# set directory for frontend and backend
ENV BACKEND_DIR ./backend
ENV FRONTEND_DIR ./frontend

ENV NODE_ENV=production

WORKDIR /app

#only copy the relevant dist and backend files
COPY --from=build /app/frontend/dist /app/frontend/dist
COPY ./backend ./backend

# download all the packages for the backend
RUN npm --prefix ${BACKEND_DIR} install ${BACKEND_DIR}

# the webserver port
EXPOSE ${PORT}

# starts the webserver (backend)
# info: in the exec form it is not possible to access environment variables
CMD ["npm", "start", "--prefix", "./backend"]

Leider kann ich das nicht testen, da ich keinen Raspberry Pi besitze. Ich kann dir also nicht garantieren, ob es am Ende dann auch wirklich funktioniert :-(

TechSaiyajin commented 3 years ago

Vielen Dank für die Hilfe,

leider bekomme ich's auf dem Pi nicht zum laufen, Kompilieren funktionierte auch nicht.

Werde mich nach einer Stromsparenden x86 Alternative umschauen müssen, denn dieses Projekt ist deutlich ansprechender als die Alternativen.

Danke auch nochmals für die Mühen und Bereitstellung dieses Projektes.

joni1802 commented 3 years ago

Kein Problem. Vielen Dank.

joni1802 commented 2 years ago

Es gibt nun ein Docker Image des TS3-Managers, das auf dem Raspberry Pi ausgeführt werden kann. Rel. #62