Host Docker
Qualsiasi server che esegue immagini Docker. Ollama ha bisogno di internet in uscita una
volta, per fare ollama pull dei tuoi modelli; dopodiché tutto è locale.
Secretia è una distribuzione: esegue le immagini ufficiali di Ollama e Open WebUI e aggiunge un piccolo livello di branding. Scegli il percorso più adatto al tuo host — un Compose con un solo file, oppure tre servizi separati (l’opzione più comoda su EasyPanel).
Host Docker
Qualsiasi server che esegue immagini Docker. Ollama ha bisogno di internet in uscita una
volta, per fare ollama pull dei tuoi modelli; dopodiché tutto è locale.
RAM sufficiente
Un modello da 7–8B richiede all’incirca 4–5 GB. Funziona con la sola CPU; una GPU è molto più veloce.
Un session secret
Una lunga stringa casuale per Open WebUI (openssl rand -hex 32). Per l’SSO, i dettagli del
client Lockatus (opzionale).
EasyPanel preferisce servizi separati a un Compose. Crea un progetto e tre servizi:
ollama — App → Docker Image ollama/ollama:latest. Monta un volume su
/root/.ollama. Nessun dominio (interno).open-webui — App → Docker Image ghcr.io/open-webui/open-webui:main. Monta
/app/backend/data. Imposta le variabili d’ambiente (sotto). Nessun dominio (interno).secretia — App → GitHub diegoparras/secretia, Build = Dockerfile. Imposta
OPEN_WEBUI_UPSTREAM=open-webui:8080. Assegna il tuo dominio pubblico → porta 8080.All’interno di un progetto, i servizi si raggiungono per nome (http://ollama:11434,
open-webui:8080). La checklist completa si trova nel DEPLOY.md del repository.
git clone https://github.com/diegoparras/secretia.git && cd secretiacp .env.example .env # set WEBUI_URL, WEBUI_SECRET_KEY and the OAUTH_* varsdocker compose up -dIl compose avvia insieme Ollama, Open WebUI e l’nginx di branding; solo il servizio di branding
viene pubblicato (porta 8080).
Vuoi il percorso più semplice? Esegui solo ollama + open-webui e punta il tuo dominio
direttamente su open-webui (porta 8080). Mantieni il nome “Secretia” e il login Lockatus, ma
perdi l’accento magenta — è ciò che aggiunge il servizio di branding.
| Variable | Example | Descrizione |
|---|---|---|
OLLAMA_BASE_URL | http://ollama:11434 | Dove risiede il motore dei modelli (hostname interno). |
WEBUI_NAME | Secretia | Il nome dell’app mostrato nell’interfaccia. |
WEBUI_URL | https://your-domain | URL pubblico — usato per costruire i redirect OIDC. |
WEBUI_SECRET_KEY | (random) | Chiave di sessione/crittografia. openssl rand -hex 32. Tienila segreta. |
ENABLE_SIGNUP | false | Registrazione locale disattivata — gli account arrivano tramite Lockatus. |
ENABLE_OAUTH_SIGNUP | true | Crea un utente automaticamente al primo login con Lockatus. |
OAUTH_CLIENT_ID | secretia | Slug dell’app registrato in Lockatus. |
OAUTH_CLIENT_SECRET | (secret) | Il secret registrato in Lockatus. |
OPENID_PROVIDER_URL | …/.well-known/openid-configuration | URL di discovery di Lockatus. |
OPENID_REDIRECT_URI | https://your-domain/oauth/oidc/callback | Deve corrispondere a quello registrato in Lockatus. |
Il servizio di branding accetta una variabile: OPEN_WEBUI_UPSTREAM (default open-webui:8080).
ollama, scarica un modello:ollama pull llama3.1:8b # or qwen2.5:7b, or llava:7b for imagesIl modello compare da solo nel selettore di Secretia.