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
| Variabile | Uso |
|---|---|
DOMAIN | l'indirizzo che Caddy serve e per cui chiede il certificato HTTPS |
ACME_EMAIL | email per il certificato HTTPS |
APP_HOSTS | tutti gli indirizzi a cui risponde l'app, separati da virgola; il primo è quello principale |
MAIL_HOST | l'indirizzo usato nei link dentro le email; di base è il primo di APP_HOSTS |
APP_BASE_URL | l'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.
| Variabile | Predefinito | Uso |
|---|---|---|
SMTP_ADDRESS | vuoto | il server SMTP; vuoto vuol dire che non parte nessuna email |
SMTP_PORT | 587 | la porta |
SMTP_USERNAME, SMTP_PASSWORD | vuoto | le credenziali; lasciale entrambe vuote per un server senza login |
SMTP_AUTHENTICATION | plain | il metodo di login, usato solo con un nome utente |
SMTP_STARTTLS | true | metti false per un server che non offre STARTTLS |
MAIL_FROM | CloseYourIt <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:
| Variabile | Uso |
|---|---|
AWS_S3_BUCKET | il bucket; impostarlo sposta i caricamenti su S3 |
AWS_REGION | la regione; di base eu-central-1 |
AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY | le 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
| Variabile | Uso |
|---|---|
BACKUP_S3_BUCKET | manda 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.
| Variabile | Predefinito | Uso |
|---|---|---|
WEB_CONCURRENCY | 1 | processi che rispondono alle richieste web |
JOB_CONCURRENCY | 1 | processi per il lavoro generale in background |
INGEST_JOB_CONCURRENCY | 1 | processi che salvano errori, log e metriche in arrivo |
EMBEDDINGS_JOB_CONCURRENCY | 1 | processi che preparano il testo per la ricerca AI |
RAILS_LOG_LEVEL | info | quanto 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
| Variabile | Uso |
|---|---|
GH_APP_ID, GH_APP_SLUG, GH_APP_PRIVATE_KEY, GH_APP_CLIENT_ID, GH_APP_CLIENT_SECRET, GH_WEBHOOK_SECRET | la GitHub App |
TELEGRAM_BOT_TOKEN, TELEGRAM_BOT_USERNAME, TELEGRAM_WEBHOOK_SECRET | un bot Telegram per le notifiche |
MAXMIND_LICENSE_KEY | una chiave di licenza MaxMind gratuita: il database dei paesi per le statistiche web si scarica e si aggiorna da solo; vedi sotto |
GEOIP_DB_PATH | dove 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.
| Variabile | Gestita da |
|---|---|
CLOSEYOURIT_VERSION | closeyourit update |
INGEST_ENABLED, INGEST_UPSTREAM | closeyourit 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.
| Variabile | Protegge |
|---|---|
POSTGRES_PASSWORD | il database |
SECRET_KEY_BASE | sessioni e link firmati |
AR_ENCRYPTION_PRIMARY_KEY, AR_ENCRYPTION_DETERMINISTIC_KEY, AR_ENCRYPTION_KEY_DERIVATION_SALT | le colonne cifrate del database |
SECRET_ASSETS_MASTER_KEY | il vault dei segreti |
Tieni una copia di .env fuori dal server: i backup del database non contengono queste chiavi.