Prerequisiti¶
Prima di installare Jinbocho in locale o in produzione, assicurati che il tuo sistema soddisfi i seguenti requisiti.
Sistema operativo¶
Jinbocho funziona su: - Linux (Ubuntu 22.04 LTS o superiore, Debian 12+) - macOS (12.0 o superiore, Intel o Apple Silicon) - Windows 11 (WSL2 con Ubuntu 22.04)
Utenti Windows: configurazione WSL2¶
Se sei su Windows, usa Windows Subsystem for Linux 2:
# Installa WSL2 con Ubuntu 22.04
wsl --install -d Ubuntu-22.04
# Nel terminale WSL, verifica che siano disponibili almeno 4 GB di RAM
free -h
Docker & Docker Compose¶
Docker Desktop o Docker Engine v20.10+ con Docker Compose v2.20+
Installazione¶
macOS (Homebrew):
brew install docker docker-compose
Linux (Ubuntu/Debian):
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo usermod -aG docker $USER
newgrp docker
Verifica:
docker --version # v20.10.0 o superiore
docker compose version # v2.20.0 o superiore
Python 3.12¶
Tutti i servizi backend richiedono Python 3.12 o superiore.
Installazione¶
macOS (Homebrew):
brew install python@3.12
python3.12 --version
Linux (Ubuntu/Debian):
sudo apt update
sudo apt install python3.12 python3.12-venv python3.12-dev
python3.12 --version
Windows (WSL2):
sudo apt update
sudo apt install python3.12 python3.12-venv python3.12-dev
Node.js 18+¶
Lo sviluppo del frontend richiede Node.js 18.0.0 o superiore con npm 9.0.0 o superiore.
Installazione¶
macOS (Homebrew):
brew install node@18
node --version # v18.x.x
npm --version # 9.x.x o superiore
Linux/WSL2:
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt-get install -y nodejs
node --version
npm --version
Git¶
Necessario per clonare i repository.
macOS:
brew install git
Linux/WSL2:
sudo apt install git
Verifica:
git --version
Client PostgreSQL (psql)¶
Facoltativo ma consigliato per ispezionare il database locale.
macOS:
brew install postgresql
Linux/Ubuntu:
sudo apt install postgresql-client
Chiavi API esterne (facoltative)¶
Per la ricerca ISBN avanzata, considera di ottenere:
Google Books API Key¶
- Perché: fallback per i metadati ISBN quando Open Library è lento
- Costo: livello gratuito (100 richieste/giorno)
- Come ottenerla: https://developers.google.com/books/docs/v1/using#APIKey
- Quando serve: imposta
GOOGLE_BOOKS_API_KEYnel file.env
OpenAI API Key¶
- Perché: per il servizio AI (suggerimenti di tag, deduplicazione)
- Costo: pay-as-you-go (funzione opzionale)
- Come ottenerla: https://platform.openai.com/api-keys
- Quando serve: imposta
OPENAI_API_KEYse distribuisciai-service
Account cloud (solo produzione)¶
Per il deploy su Render + Neon:
Account Neon.tech¶
- Scopo: database PostgreSQL gestito
- Costo: livello gratuito (0,5 GB, sospensione automatica dopo 30 giorni di inattività)
- Registrazione: https://neon.tech
- Perché: migliore di Render Postgres (che è effimero)
Account Render.com¶
- Scopo: hosting dei servizi backend + frontend
- Costo: livello gratuito (cold start accettabili), Starter a $7/mese per servizio
- Registrazione: https://render.com
- Perché: deploy Docker semplice, integrazione GitHub, SSL integrato
Checkout dei repository¶
Crea una cartella di lavoro e clona tutti i repository Jinbocho dall’organizzazione GitHub:
mkdir -p ~/workspace/jinbocho && cd ~/workspace/jinbocho
# Clona tutti i repository Jinbocho
git clone https://github.com/jinbocho/jinbocho-infrastructure-v1.git
git clone https://github.com/jinbocho/jinbocho-auth-v1.git
git clone https://github.com/jinbocho/jinbocho-catalog-v1.git
git clone https://github.com/jinbocho/jinbocho-api-gateway-v1.git
git clone https://github.com/jinbocho/jinbocho-ai-v1.git
git clone https://github.com/jinbocho/jinbocho-fe.git
# Verifica che tutti i servizi siano presenti
ls | grep jinbocho
# Atteso: jinbocho-auth-v1 jinbocho-catalog-v1 jinbocho-api-gateway-v1
# jinbocho-ai-v1 jinbocho-fe jinbocho-infrastructure-v1
Tutti i repository si trovano nell’organizzazione GitHub jinbocho: https://github.com/jinbocho
Script di verifica dei prerequisiti¶
Esegui questo script per verificare che tutti i prerequisiti siano installati:
#!/bin/bash
echo "=== Verifica prerequisiti Jinbocho ==="
echo "OS: $(uname -s)"
echo "Docker: $(docker --version)"
echo "Docker Compose: $(docker compose version)"
echo "Python: $(python3.12 --version)"
echo "Node.js: $(node --version)"
echo "npm: $(npm --version)"
echo "Git: $(git --version)"
echo "psql: $(psql --version 2>/dev/null || echo 'Non installato')"
echo "✅ Tutti i prerequisiti sono installati!"
Prossimi passi¶
Una volta verificati tutti i prerequisiti: 1. Vai a Sviluppo Locale per configurare l’ambiente di sviluppo 2. Per il deploy in produzione, vedi Deploy in Produzione