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í .