Installazione

Dipendenze

  • Podman oppure Docker
  • Python 3 (+ venv, yaml)
  • PostgreSQL
  • Java 21
  • Maven

Esempio con Debian:

sudo apt install podman postgresql openjdk-21-jdk maven python3-venv python3-yaml

Clone del repo

git clone https://codeberg.org/LUG-Trieste/linux-bomb.git

Setup del database

sudo su - postgres
createdb bomb
psql bomb

Esegui il codice SQL contenuto in server/src/main/resources/db/migration/V1.0__db-structure.sql per creare le tabelle.

Crea l’utente che il server usa per accedere al database:

CREATE ROLE bomb WITH PASSWORD 'bomb';
ALTER ROLE bomb WITH LOGIN;
GRANT ALL PRIVILEGES ON DATABASE bomb TO bomb;

Installare dipendenze Python della CLI

Installare le dipendenze in virtualenv:

cd cli
python3 -m venv venv
source ./venv/bin/activate
pip install -r requirements.txt

Compilare il server in Java

cd server
mvn clean package

Generare le immagini Docker

Generare le immagini base:

cd server/src/main/resources/static/levels/base

podman build -t linux-bomb-base:en .
podman build --build-arg LANG=it_IT.UTF-8 -t linux-bomb-base:it .
podman build --build-arg LANG=sl_SI.UTF-8 -t linux-bomb-base:sl .

Generare le immagini dei livelli:

cd ../1/
podman build -t linux-bomb-n00b:en .
podman build -t linux-bomb-n00b:it -f Dockerfile.it .
podman build -t linux-bomb-n00b:sl -f Dockerfile.sl .

cd ../2/
podman build -t linux-bomb-explorer:en .
podman build -t linux-bomb-explorer:it -f Dockerfile.it .
podman build -t linux-bomb-explorer:sl -f Dockerfile.sl .

cd ../3/
podman build -t linux-bomb-ninja:en .
podman build -t linux-bomb-ninja:it -f Dockerfile.it .
podman build -t linux-bomb-ninja:sl -f Dockerfile.sl .

Avviare il server

cd server
java -jar target/bomb-0.0.1-SNAPSHOT.jar