10 KiB
NocoDB
✨ L'alternativa Open Source ad Airtable ✨
Trasforma qualsiasi MySQL, PostgreSQL, SQL Server, SQLite & Mariadb in un foglio di calcolo intelligente.
Website • Discord • Twitter • Reddit • Documentation
Prova veloce
1-Click Deploy
Heroku
Con Docker.
docker run -d --name nocodb -p 8080:8080 nocodb/nocodb:latest
Per rendere persistenti i dati puoi montare il volume su
/usr/app/data/
.
Con NPM.
npx create-nocodb-app
Con git.
git clone https://github.com/nocodb/nocodb-seed
cd nocodb-seed
npm install
npm start
GUI
Accedi al Pannello di Controllo visitando: http://localhost:8080/dashboard
Unisciti alla nostra comunità
Screenshots
Caratteristiche
Interfaccia a foglio di calcolo
- ⚡ Ricerca, ordina, filtra, nascondi le colonne con super facilità
- ⚡ Crea Views: Griglie, Gallerie, Kanban, Gantt, Form
- ⚡ Condividi Views: Pubbliche o protette da password
- ⚡ Views personali o bloccate
- ⚡ Carica immagini nelle celle (funziona con S3, Minio, GCP, Azure, Digitalocean, Linode, OVH, BackBlaze) !!
- ⚡ Ruoli: proprietario, creatore, editor, commentatore, visualizzatore, commentatore o ruoli personalizzati.
- ⚡ Controllo accessi: controllo di accesso anche a livello di database, tabella e colonna.
App store per automazioni del flusso di lavoro:
- ⚡ Chat: Microsoft Teams, Slack, Discord, Mattermost
- ⚡ Email: SMTP, SES, MailChimp
- ⚡ SMS: Twilio
- ⚡ Qualsiasi API di terze parti
Accesso API programmatico tramite:
- ⚡ REST APIs (Swagger)
- ⚡ APIs GraphQL.
- ⚡ Include autenticazione JWT e AUTH
- ⚡ API Token da integrare con Zapier, Integromat.
Impostazione in produzione
NOCODB richiede un database per memorizzare i metadati delle viste dei fogli di calcolo e dei database esterni. I parametri di connessione per questo database possono essere specificati nella variabile di ambiente NC_DB.
Docker
Esempio con MySQL
docker run -d -p 8080:8080 \
-e NC_DB="mysql2://host.docker.internal:3306?u=root&p=password&d=d1" \
-e NC_AUTH_JWT_SECRET="569a1821-0a93-45e8-87ab-eb857f20a010" \
nocodb/nocodb:latest
Esempio con Postgres
docker run -d -p 8080:8080 \
-e NC_DB="pg://host:port?u=user&p=password&d=database" \
-e NC_AUTH_JWT_SECRET="569a1821-0a93-45e8-87ab-eb857f20a010" \
nocodb/nocodb:latest
Esempio con SQL Server
docker run -d -p 8080:8080 \
-e NC_DB="mssql://host:port?u=user&p=password&d=database" \
-e NC_AUTH_JWT_SECRET="569a1821-0a93-45e8-87ab-eb857f20a010" \
nocodb/nocodb:latest
Docker Compose
git clone https://github.com/nocodb/nocodb
cd nocodb
cd docker-compose
cd mysql or pg or mssql
docker-compose up
Variabili d'ambiente
Variabile | Obbligatoria | Descrizione | Se assente |
---|---|---|---|
NC_DB | Si | Visualizza gli URLs del nostro database. | Un BD SQLite verrà creato nella cartella principale |
DATABASE_URL | No | Formato URL JDBC. Può essere utilizzato in alternativa a NC_DB. Utilizzato nell'installazione 1-Click con Heroku | |
DATABASE_URL_FILE | No | Path per i file contenenti gli URL JDBC. Può essere utilizzato in alternativa a NC_DB. Utilizzato nell'installazione 1-Click con Heroku | |
NC_PUBLIC_URL | Si | Per inviare inviti via mail | Autogenerato dai parametri delle richieste http |
NC_AUTH_JWT_SECRET | Si | Segreto JWT utilizzato per l'autenticazione e la memorizzazione di altri segreti | Sarà generato un segreto in maniera randomica |
NC_SENTRY_DSN | No | Per il monitoraggio con Sentry | |
NC_CONNECT_TO_EXTERNAL_DB_DISABLED | No | Disabilita la creazione di Progetti con database esterni | |
NC_DISABLE_TELE | No | Disabilita la telemetria | |
NC_BACKEND_URL | No | URL di Backend Personalizzato | Sarà utilizato http://localhost:8080 |
Setup di sviluppo
git clone https://github.com/nocodb/nocodb
cd nocodb
# run backend
cd packages/nocodb
npm install
npm run watch:run
# apre localhost:8080/dashboard nel browser
# run frontend
cd packages/nc-gui
npm install
npm run dev
# apre localhost:3000/dashboard nel browser
Modifiche al codice generano un riavvio automatico.
Utilizzare i test Cypress in locale
# installa le dipendenze (Cypress)
npm install
# eseguire il database mysql con il database richiesto utilizzando docker compose
docker-compose -f ./scripts/docker-compose-cypress.yml up
# Esegui l'API di backend usando il seguente comando
npm run start:api
# Esegui l'interfaccia utente web frontend usando il seguente comando
npm run start:web
# attendi la disponibilità delle porte 3000 e 8080
# ed esegui Cypress con il seguente comando:
npm run cypress:run
# o esegui questo comando per avviarlo con l'interfaccia grafica
npm run cypress:open
Contributi
- Leggi ./scripts/contribute/HowToApplyLicense.md
- Ignora l'aggiunta di header per .json, .md o .yml
🎯 Perché lo abbiamo creato?
La maggior parte delle aziende utilizza fogli di calcolo o database per le proprie esigenze aziendali. I fogli di calcolo vengono utilizzati da oltre un miliardo di persone in modo collaborativo ogni singolo giorno. Tuttavia, i database che sono strumenti molto più potenti quando si tratta di elaborazione. I tentativi di risolvere questo problema con le offerte SaaS hanno significato orribili controlli di accesso, blocco del fornitore, blocco dei dati, brusche variazioni di prezzo e, soprattutto, un soffitto di vetro su ciò che è possibile in futuro.
❤ La nostra missione:
La nostra missione è creare la più potente interfaccia per database "senza codice", disponibile a codice libero per ogni azienda nel mondo. Lo facciamo non solo per democratizzare l'accesso ad un potente strumento di elaborazione, ma anche per supportare i miliardi di persone che creano e costruiscono su Internet.