Päiväkirjan hakemistoDockup / kenttämuistio
Note / self-host-nocodb

NocoDB:n itsehostaus vuonna 2026: tietokantayhteydet, autentikointi ja tietojen säilyvyys

Ota NocoDB itse käyttöön oikeilla porteilla, pysyvällä tallennustilalla, HTTPS:llä, salaisuuksilla, varmuuskopioilla ja päivitystarkistuksilla. Opi korjaamaan tilanne, jossa metatietokantaan ei saada yhteyttä.

“NocoDB:n ajamisella” on kaksi eri merkitystä: säilö on käynnissä tai palvelu suorittaa varsinaisen tehtävänsä. Vain jälkimmäisellä on merkitystä. Tässä sen todentamiseen käytetään kertakäyttöistä lähdetietokantaa, luodaan grid ja suodatettu näkymä, muokataan riviä, lisätään liite ja kutsutaan REST APIa.

NocoDB:n käyttötarkoitus on tämä: taulukkolaskentataulukon käyttöliittymä oikean tietokannan päällä. Käyttöönotossa on säilytettävä tämän toiminnan taustalla olevat osat; portti, volume ja varmenne ovat syötteitä, eivät lopputulos.

Rajaa NocoDB:n ajonaikainen ympäristö

Prosessin toimintakunto ja tuotteen toimintakunto ovat NocoDB:ssä eri asioita. Portti 8080 saattaa vastata, vaikka käyttäjälle näkyvä tapahtuma epäonnistuisi edelleen. NocoDB:n verkkosopimuksessa tuotannon metatietoja varten käytetään PostgreSQL- tai MySQL-tietokantaa kertakäyttöisen paikallisen tiedoston sijaan. Pidä yksityiset endpointit sisäisessä DNS:ssä, salli vain tarvittavat lähtevät yhteydet ja anna NocoDB:lle rajatuin oikeuksin varustettu palvelutunnus.

Käytä tätä valmiustestiä merkittävien määritys muutosten jälkeen: yhdistä kertakäyttöiseen lähdetietokantaan, luo grid ja suodatettu näkymä, muokkaa riviä, lisää liite ja kutsu REST APIa. Älä sisällytä raskaita ulkoisia tarkistuksia liveness-probeihin, jotta palveluntarjoajan häiriö ei aiheuta uudelleenkäynnistyssilmukkaa. Kapasiteettia suunniteltaessa seuraa rivimäärää, liiteliikennettä, metatietokannan viivettä ja samanaikaisten grid-käyttäjien määrää, sillä ne kuvaavat NocoDB:n todellista kuormitusta paremmin kuin sivupyynnöt.

Käynnistä NocoDB seurattavilla oletusasetuksilla

Käynnistä NocoDB niin, että reitti pysyy yksityisenä alustuksen valmistumiseen asti.

docker run -d \
  --name nocodb \
  --restart unless-stopped \
  -p 127.0.0.1:8080:8080 \
  -v nocodb-data:/usr/app/data \
  -e NC_AUTH_JWT_SECRET=replace-with-a-long-random-value \
  nocodb/nocodb:latest

Jos prosessi jää silmukkaan, vertaa imagen odottamaa käyttäjää kunkin liitetyn polun omistajaan. Jos prosessi pysyy käynnissä, testaa portti 8080 paikallisesti ja siirry heti työnkulkuun: yhdistä kertakäyttöiseen lähdetietokantaan, luo grid ja suodatettu näkymä, muokkaa riviä, lisää liite ja kutsu REST APIa. Kiinnitä imagen versio vasta, kun tämä päästä päähän -tarkistus onnistuu, ja tallenna tarkka määritys palvelun yhteyteen.

Verkkotunnukset, proxy-headerit ja portti 8080

Valitse lopullinen NocoDB-isäntänimi ennen kuin käyttäjät tallentavat callback-osoitteita tai asiakasasetuksia, ja määritä NC_PUBLIC_URL kanoniseksi HTTPS-osoitteeksi. Alustan reitin tulee päättää TLS-yhteys kerran ja välittää liikenne yksityiseen porttiin 8080.

Suorita hyväksymistapahtuma ulkoisesti. Jos asiakas ei koskaan saavuta NocoDB:tä, käytä SSL validation checklist-ohjetta DNS- ja varmennetarkistuksiin. Jos pyyntö saavuttaa NocoDB:n, mutta metatietokantaan ei saada yhteyttä tai julkiset URL-osoitteet osoittavat sisäiseen isäntään, lopeta proxyn uudelleenohjausten muuttaminen ja tarkastele sen sijaan sovelluskohtaista rajapintaa.

Suunnittele NocoDB:n palautus ennen käynnistystä

Määritä NocoDB:n palautuspiste ja palautumisaika metatietokannan, liitteiden ja mahdollisten ulkoisten lähdetietokantojen perusteella. Liitä /usr/app/data ennen alustusta, kirjoita vaaratonta esimerkkidataa ja korvaa säilö varmistaaksesi, että polku on todella pysyvä. Named volume ratkaisee uudelleenkäyttöönoton yhteydessä tarvittavien tietojen säilyvyyden, mutta se ei suojaa tietomurrolta tai palvelimen menetykseltä.

Rakenna puhdas palautusympäristö, käytä samaa kiinnitettyä sovellusversiota ja varmista, että baset, näkymät, roolit, liitteet ja lähdemääritykset palautuvat muuttamatta yhdistetyn tietokannan rivejä. Tallenna komennot, omistajuuden korjaukset ja kulunut aika. Varmuuskopiointiopas tarjoaa hyödyllisen standardin: varmuuskopioon voi luottaa palautuksen jälkeen, ei sen jälkeen kun se on ladattu.

NocoDB:tä koskevat tietoturvapäätökset

Sulje alustuksen aikainen ikkuna heti, kun ensimmäinen luotettu ylläpitäjä on luotu. NocoDB:n konkreettinen riskikohta on heikon JWT-salaisuuden uudelleenkäyttö tai tietokantayhteyksien tunnistetietojen paljastaminen kaikille muokkaajille; turvallisempi rajaus on käyttää pysyvää JWT-salaisuutta, rajoittaa ulkoisten datalähdeyhteyksien luontioikeus vain tarvittaville käyttäjille ja tarkistaa jaettujen näkymien näkyvyys.

Luo NC_AUTH_JWT_SECRET pitkäksi satunnaiseksi arvoksi; sen vaihtaminen mitätöi normaalisti istunnot tai tokenit, joten suunnittele käyttäjävaikutukset äläkä käsittele muutosta salauksen siirtona. Yksityisen verkon tulee välittää riippuvuuksien tunnistetiedot, ja NocoDB:n rooleissa tulee myöntää vain pienin tarvittava oikeus. Älä tallenna arkaluonteisia pyyntörunkoja tai palveluntarjoajien vastauksia tavanomaisiin lokeihin.

Kapasiteetti- ja päivitystarkistukset

Vihreänä näkyvä säilö on välttämätön, mutta ei riittävä. Palvelutason mittari on tapahtuman “yhdistä kertakäyttöiseen lähdetietokantaan, luo grid ja suodatettu näkymä, muokkaa riviä, lisää liite ja kutsu REST APIa” onnistunut suoritus, kun taas todennäköisiä kuormitussignaaleja ovat rivimäärä, liiteliikenne, metatietokannan viive ja samanaikaisten grid-käyttäjien määrä.

Muutosten hallinta on tärkeää, sillä metatietomigraatiot voivat vaikuttaa näkymiin ja automaatioihin, vaikka taustalla oleva lähdetietokanta pysyisi koskemattomana. Säilytä vanha image, testaa migraatiot kopioidulla tilalla ja dokumentoi, tuetaanko palautusta skeeman muutoksen jälkeen. Jos metatietokantaan ei saada yhteyttä tai julkiset URL-osoitteet osoittavat sisäiseen isäntään, selvitä ensimmäinen toimivasta ympäristöstä poikkeava rajapinta.

NocoDB:n tuotantohyväksyntä

Ennen oikeiden käyttäjien saapumista laadi NocoDB:lle julkaisulomake. Siinä on nimettävä kiinnitetty image, portti 8080, kanoninen origin, pysyvät polut sekä Postgres- tai MySQL-tietokannan omistaja tuotannon metatietoja varten kertakäyttöisen paikallisen tiedoston sijaan. Liitä mukaan tämän tapahtuman odotettu tulos: yhdistä kertakäyttöiseen lähdetietokantaan, luo grid ja suodatettu näkymä, muokkaa riviä, lisää liite ja kutsu REST APIa.

Käytä lomaketta tavallisen korvauksen jälkeen ja puhtaan palautuksen jälkeen. Palautus hyväksytään vain, jos baset, näkymät, roolit, liitteet ja lähdemääritykset palautuvat muuttamatta yhdistetyn tietokannan rivejä. Kerää lisäksi lyhyt resurssiseuranta, joka kattaa rivimäärän, liiteliikenteen, metatietokannan viiveen ja samanaikaisten grid-käyttäjien määrän; säilytä se julkaisun yhteydessä, jotta tulevia kapasiteettimuutoksia voidaan verrata samaan kuormaan.

Sisällytä yksi hallittu vikatilanne: estä testitunnukselta väliaikaisesti pääsy Postgres- tai MySQL-tietokantaan, jota käytetään tuotannon metatietoihin kertakäyttöisen paikallisen tiedoston sijaan. Varmista, että NocoDB ilmoittaa ongelmasta oikeassa rajapinnassa, palauta toimiva tila ja suorita tapahtuma uudelleen. Näin tarkistetaan virheiden näkyvyys, ei pelkkää onnistumista, ja estetään terveen näköistä käyttöliittymää peittämästä rikkinäistä workeria, callbackia tai tietokantayhteyttä.

Miten Dockup vähentää NocoDB:n työmäärää

NocoDB:n tapauksessa Dockup on hyödyllisimmillään imagen ja kestävän palvelun rajapinnassa. Se pitää reitin porttiin 8080, TLS:n, salaisuuksien arvot ja tallennustilan liitettyinä säilöjen korvaamisen ajan riippumatta siitä, kuuluuko laskenta Dockupille vai liitetylle palvelimellesi.

Viimeistele käyttöönotto sovellustason tiedoilla: määritä NC_PUBLIC_URL kanoniseksi HTTPS-osoitteeksi; yhdistä tuotannon metatietoja varten Postgres- tai MySQL-tietokantaan kertakäyttöisen paikallisen tiedoston sijaan ja testaa yhteys; suorita sitten tämä varmennus: yhdistä kertakäyttöiseen lähdetietokantaan, luo grid ja suodatettu näkymä, muokkaa riviä, lisää liite ja kutsu REST APIa. Säilytä tulos käyttöönoton tarkistuksena, jotta seuraava image-päivitys arvioidaan toiminnan eikä säilön tilan perusteella.

Usein kysytyt kysymykset

Mitä NocoDB tarvitsee tuotantokäyttöönottoon?

Reititä NocoDB-säilö portissa 8080 yhden HTTPS-originin kautta. Verkon tukivaatimus on Postgres- tai MySQL-tietokanta tuotannon metatietoja varten kertakäyttöisen paikallisen tiedoston sijaan. Älä pidä NocoDB:tä valmiina, ennen kuin voit yhdistää kertakäyttöiseen lähdetietokantaan, luoda gridin ja suodatetun näkymän, muokata riviä, lisätä liitteen ja kutsua REST APIa.

Mitkä NocoDB:n tiedot kuuluvat varmuuskopioon?

Säilytä /usr/app/data ja sisällytä metatietokanta, liitteet ja mahdolliset ulkoiset lähdetietokannat samaan palautusmanifestiin. Puhdas NocoDB-palautus onnistuu vain, kun baset, näkymät, roolit, liitteet ja lähdemääritykset palautuvat muuttamatta yhdistetyn tietokannan rivejä.

Edellyttääkö NocoDB HTTPS:ää reverse proxyn takana?

Käytä julkisessa NocoDB-originissa HTTPS:ää ja pidä portti 8080 sisäisessä reitissä. Määritä NocoDB:n asetus oikein: määritä NC_PUBLIC_URL kanoniseksi HTTPS-osoitteeksi. NocoDB:n tapauksessa HTTPS suojaa tunnistetietoja ja käyttäjien sisältöä siirron aikana sekä pitää originista riippuvan asiakastoiminnan yhdenmukaisena.

Miten NocoDB:n päivitys pitäisi testata?

Palauta nykyinen NocoDB-tila eristettyyn käyttöönottoon, ota ehdokasversio käyttöön ja toista sen hyväksymistapahtuma. Kiinnitä erityistä huomiota siihen, että metatietomigraatiot voivat vaikuttaa näkymiin ja automaatioihin, vaikka taustalla oleva lähdetietokanta pysyisi koskemattomana. Säilytä edellinen NocoDB-image, kunnes sen datamigraation ja palautuksen rajat on ymmärretty.