Vai al contenuto
CloseYourItdocsPagine

Documentazione / Per iniziare

Impostazioni

Ogni impostazione del file .env, a cosa serve e quali non vanno mai cambiate.

Tutte le impostazioni stanno in /opt/closeyourit/.env. Dopo una modifica lancia:

closeyourit restart

Il servizio AI non si imposta qui: ha una pagina sua nell'area di amministrazione. Vedi AI.

Indirizzo

VariabileUso
DOMAINl'indirizzo che Caddy serve e per cui chiede il certificato HTTPS
ACME_EMAILemail per il certificato HTTPS
APP_HOSTStutti gli indirizzi a cui risponde l'app, separati da virgola; il primo è quello principale
MAIL_HOSTl'indirizzo usato nei link dentro le email; di base è il primo di APP_HOSTS
APP_BASE_URLl'indirizzo pubblico completo, se non è https:// più l'host principale

Per cambiare dominio cambia insieme DOMAIN, APP_HOSTS e MAIL_HOST, punta il nuovo dominio al server, poi riavvia.

Email

VariabilePredefinitoUso
SMTP_ADDRESSvuotoil server SMTP; vuoto vuol dire che non parte nessuna email
SMTP_PORT587la porta
SMTP_USERNAME, SMTP_PASSWORDvuotole credenziali; lasciale entrambe vuote per un server senza login
SMTP_AUTHENTICATIONplainil metodo di login, usato solo con un nome utente
SMTP_STARTTLStruemetti false per un server che non offre STARTTLS
MAIL_FROMCloseYourIt <noreply@tuo-dominio>il mittente

File caricati

I file caricati restano sul disco del server, nel volume Docker closeyourit_storage. Per tenerli invece su Amazon S3:

VariabileUso
AWS_S3_BUCKETil bucket; impostarlo sposta i caricamenti su S3
AWS_REGIONla regione; di base eu-central-1
AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEYle credenziali

È supportato solo Amazon S3: non c'è un'impostazione per l'indirizzo di un altro servizio compatibile con S3.

I file caricati prima del cambio restano sul disco e non vengono spostati.

Backup

VariabileUso
BACKUP_S3_BUCKETmanda anche ogni backup del database in questo bucket, con le credenziali AWS_* qui sopra

Vedi Aggiornamenti e backup.

Capacità

Non toccarle finché il server non è chiaramente troppo carico.

VariabilePredefinitoUso
WEB_CONCURRENCY1processi che rispondono alle richieste web
JOB_CONCURRENCY1processi per il lavoro generale in background
INGEST_JOB_CONCURRENCY1processi che salvano errori, log e metriche in arrivo
EMBEDDINGS_JOB_CONCURRENCY1processi che preparano il testo per la ricerca AI
RAILS_LOG_LEVELinfoquanto scrive l'app nel suo log (debug, info, warn, error)

Ogni processo in più usa più memoria. Su un server da 4 GB alza un valore alla volta.

Integrazioni

VariabileUso
GH_APP_ID, GH_APP_SLUG, GH_APP_PRIVATE_KEY, GH_APP_CLIENT_ID, GH_APP_CLIENT_SECRET, GH_WEBHOOK_SECRETla GitHub App
TELEGRAM_BOT_TOKEN, TELEGRAM_BOT_USERNAME, TELEGRAM_WEBHOOK_SECRETun bot Telegram per le notifiche
MAXMIND_LICENSE_KEYuna chiave di licenza MaxMind gratuita: il database dei paesi per le statistiche web si scarica e si aggiorna da solo; vedi sotto
GEOIP_DB_PATHdove si trova il database dei paesi per le statistiche web; vedi sotto

Telegram

Crea un bot con BotFather, imposta le tre variabili, riavvia, poi registra il bot una volta:

cd /opt/closeyourit
docker compose exec app bin/rails telegram:set_webhook
docker compose exec app bin/rails telegram:set_commands

Paesi nelle statistiche web

Il paese di una visita viene da un file MaxMind GeoLite2 Country, che CloseYourIt non contiene. Senza, tutto il resto funziona e il paese resta vuoto.

Crea un account MaxMind gratuito, genera una chiave di licenza, impostala come MAXMIND_LICENSE_KEY e riavvia. Ogni notte CloseYourIt scarica il file se manca o ha una settimana, e inizia a usarlo senza riavvio. Amministrazione → Salute sistema dice se il file c'è ed è aggiornato.

Senza chiave puoi copiare il file a mano; in quel caso non si aggiorna:

cd /opt/closeyourit
docker compose cp GeoLite2-Country.mmdb app:/rails/storage/GeoLite2-Country.mmdb

Scritte dall'installer

Le gestisce il comando closeyourit. Non modificarle a mano.

VariabileGestita da
CLOSEYOURIT_VERSIONcloseyourit update
INGEST_ENABLED, INGEST_UPSTREAMcloseyourit enable ingest e disable ingest

Da non cambiare mai

Si generano all'installazione. Cambiarne o perderne una rende illeggibili i dati esistenti o chiude fuori l'app dal suo database.

VariabileProtegge
POSTGRES_PASSWORDil database
SECRET_KEY_BASEsessioni e link firmati
AR_ENCRYPTION_PRIMARY_KEY, AR_ENCRYPTION_DETERMINISTIC_KEY, AR_ENCRYPTION_KEY_DERIVATION_SALTle colonne cifrate del database
SECRET_ASSETS_MASTER_KEYil vault dei segreti

Tieni una copia di .env fuori dal server: i backup del database non contengono queste chiavi.