Navigazione Docs

Configurazione Avanzata

Setup su VPS, Raspberry Pi, SSL, e configurazioni custom.

Produzione su VPS

Con Nginx Reverse Proxy

Se vuoi girare più applicazioni sulla stessa macchina:

server {
    listen 80;
    server_name fatturino.tuodominio.com;
    return 301 https://$server_name$request_uri;
}

server {
    listen 443 ssl http2;
    server_name fatturino.tuodominio.com;

    ssl_certificate /etc/letsencrypt/live/fatturino.tuodominio.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/fatturino.tuodominio.com/privkey.pem;

    location / {
        proxy_pass http://localhost:8000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

SSL con Let's Encrypt

# Installa certbot
sudo apt-get install certbot python3-certbot-nginx

# Genera certificato
sudo certbot certonly --nginx -d fatturino.tuodominio.com

# Auto-renewal è automatico

Raspberry Pi / Dispositivi ARM

Fatturino gira benissimo su Raspberry Pi 4 (4GB RAM minimo consigliato).

# Assicurati di usare l'immagine ARM di Docker
docker pull arm32v7/postgres

# Nel docker-compose.yml:
services:
  db:
    image: arm32v7/postgres:latest

Variabili d'Ambiente Importanti

Nel .env:

APP_ENV=production
APP_DEBUG=false

DB_CONNECTION=pgsql
DB_HOST=db
DB_DATABASE=fatturino
DB_USERNAME=postgres
DB_PASSWORD=segretissima

REDIS_HOST=redis
QUEUE_CONNECTION=redis

APP_URL=https://fatturino.tuodominio.com

MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_USERNAME=tuo@gmail.com

Backup Database

# Backup giornaliero con cron
0 2 * * * docker compose exec -T db pg_dump -U postgres fatturino | gzip > /backup/fatturino-$(date +%Y%m%d).sql.gz

Sicurezza

Firewall

# UFW
sudo ufw allow 22/tcp    # SSH
sudo ufw allow 80/tcp    # HTTP
sudo ufw allow 443/tcp   # HTTPS
sudo ufw default deny incoming
sudo ufw enable

Updates Regolari

# Aggiorna immagini Docker
docker compose pull
docker compose up -d

# Aggiorna Laravel (dentro il container)
docker compose exec app php artisan migrate

Prossimi Passi