Přeskočit na hlavní obsah

Nastavení SQLite

Průvodce produkčním nastavením SQLite databáze.

SQLite databáze na produkci není by default persistentní. To znamená, že se kompletně smaže pokaždé, když kliknete na tlačítko deploy. Aplikace totiž běží v zapouzdřeném Docker containeru, který se při deployi vytvoří vždy zcela nový. K tomu, aby data nebyla jen uvnitř containeru a ukládala se i do file-systému VPS slouží tzv. volumes - binding a mounting složek. Ten lze nastavit přímo v Easypanelu a zajistit tak persistenci SQLite databáze či jakékoliv jiné složky.

1. Připojte se na VPS přes SSH

V terminálu zadejte příkaz ssh root@<ip-adresa-vps> a stiskněte enter. Následně vyplňte heslo, které jste si zvolili při vytváření VPS na DigitalOceanu a příkaz opět potvrďte.

2. Vytvořte novou složku

Do terminálu zadejte příkaz mkdir -p /www-persistent/sqlite-dbs, který ve file-systému VPS vytvoří složku. Do této složky se budou ukládat data vašich SQLite databází. Příkazem exit se z VPS zase odhlašte.

3. Přidejte bind mount

V záložce Advanced ve vašem projektu klikněte na tlačíko Add Bind Mount - zobrazí se nový řádek. Jako Host Path zadejte cestu ke složce, kterou jste vytvořili ve file-systému vašeho VPS /www-persistent/sqlite-dbs. Jako Mount Path nastavte cestu ke složce s databází uvnitř Docker containeru - tj. /var/www/html/docker/temp/sqlite a vše uložte.

4. Nastavte ENV proměnnou

V záložce Environment najděte proměnnou DB_SQLITE_FILE a upravte název databáze . Název databáze volte vždy unikátní napříč všemi projekty /var/www/html/docker/temp/sqlite/<unikatni-nazev-databaze>.sqlite3. Veškeré SQLite databáze se totiž ukládají do file-systému VPS do složky /www-persistent/sqlite-dbs a pokud by název nebyl unikátní, jedna vaše aplikace by mohla přepsat soubor s databází jiné aplikace.

5. Klikněte na tlačítko deploy

Nakonec už jen klikněte na tlačítko Deploy - změny se projeví během pár vteřin a databáze bude nyní plně persistentní .