- Rust 89.8%
- CSS 6.3%
- Dockerfile 3.1%
- Shell 0.8%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| .forgejo/workflows | ||
| assets | ||
| src | ||
| .dockerignore | ||
| .env.example | ||
| .gitignore | ||
| AGENTS.md | ||
| Cargo.lock | ||
| Cargo.toml | ||
| clippy.toml | ||
| deploy.sh | ||
| Dioxus.toml | ||
| docker-compose.yml | ||
| Dockerfile | ||
| README.md | ||
Development
Your new bare-bones project includes minimal organization with a single main.rs file and a few assets.
project/
├─ assets/ # Any assets that are used by the app should be placed here
├─ src/
│ ├─ main.rs # main.rs is the entry point to your application and currently contains all components for the app
├─ Cargo.toml # The Cargo.toml file defines the dependencies and feature flags for your project
Serving Your App
Run the following command in the root of your project to start developing with the default platform:
dx serve --platform web
To run for a different platform, use the --platform platform flag. E.g.
dx serve --platform desktop
Docker & Deployment
Il progetto include la configurazione Docker e Docker Compose ottimizzata secondo la guida ufficiale Dioxus 0.7, utilizzando cargo-chef per il caching delle dipendenze.
Avvio rapido con Docker Compose
Sul server o macchina remota con Docker:
docker compose up -d --build
L'app sarà raggiungibile all'indirizzo http://<host-ip>:8080.
I dati delle sessioni word cloud vengono salvati in ./data/wordclouds.json e persistiti tramite il volume montato ./data.
Aggiornamento dell'applicazione
Per aggiornare l'applicazione dopo nuove modifiche al codice:
# Tramite lo script dedicato:
./deploy.sh
# Oppure manualmente:
git pull
docker compose up -d --build
Comandi utili
# Visualizzare i log in tempo reale
docker compose logs -f
# Riavviare il servizio
docker compose restart
# Arrestare il container
docker compose down
CI/CD e Forgejo Packages
Il file .forgejo/workflows/docker-publish.yml compila automaticamente l'immagine e la pubblica nel Container Registry di Forgejo (source.shadowfenix.net/development/clord).
- Trigger: solo alla pubblicazione di una Release (o creazione di tag di versione es.
0.1.0/v0.1.0), oppure su avvio manuale (workflow_dispatch). I normali commit sumainnon creano l'immagine. - Autenticazione: utilizza automaticamente
${{ github.actor }}e${{ secrets.CR_PAT || secrets.FORGEJO_TOKEN || secrets.GITHUB_TOKEN }}.- Nota: se
GITHUB_TOKENdella tua istanza Forgejo non dispone dei permessi di scrittura sui Packages, crea un Personal Access Token (scopewrite:package) in Impostazioni Utente -> Applicazioni e aggiungilo nei Secrets della repo comeCR_PAT.
- Nota: se
- Download diretto dell'immagine:
docker pull source.shadowfenix.net/development/clord:latest