App Streamlit per:
- caricare un file HTML;
- salvarlo su storage persistente;
- generare un URL dedicato del tipo
?page=<id>; - visualizzare la pagina renderizzata.
L'app supporta due modalita':
S3consigliata per Streamlit Community Cloud: salva gli HTML in un bucket persistente.localeutile solo per sviluppo: salva file e metadati nella cartelladata/.
Se imposti S3_BUCKET, l'app usa automaticamente il backend S3-compatible.
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
streamlit run app.py- Pubblica il progetto su GitHub.
- Crea una nuova app su Streamlit Community Cloud.
- Nei secrets dell'app configura almeno:
PUBLIC_BASE_URL = "https://tuo-subdomain.streamlit.app"
S3_BUCKET = "nome-bucket"
S3_PREFIX = "html-pages"
AWS_DEFAULT_REGION = "eu-west-1"
AWS_ACCESS_KEY_ID = "..."
AWS_SECRET_ACCESS_KEY = "..."- Se usi uno storage S3-compatible diverso da AWS, aggiungi anche:
S3_ENDPOINT_URL = "https://<endpoint-provider>"- Gli URL dedicati restano stabili fintanto che l'oggetto rimane nel bucket.
- Streamlit Community Cloud mantiene l'URL dell'app, ma l'app puo' andare in sleep per inattivita'.
- La persistenza "senza scadenza" dipende dalle policy del tuo bucket: non impostare lifecycle rules di cancellazione se vuoi conservarli indefinitamente.