Kaip perkelti programėlę iš Lovable, Bolt ar kito DI kūrimo įrankio į Jūsų WebOké talpinimą
Sukūrėte programėlę su Lovable, Bolt ar kitu DI kūrimo įrankiu ir norite ją paskelbti savo domene WebOké? Tai įmanoma. Šiame straipsnyje sužinosite, kaip gauti kodą iš DI kūrimo įrankio, kaip sukompiliuoti ir įkelti programėlę ir kaip GitHub gali tai atlikti už Jus automatiškai.
1. Kokią programėlę turite?
Atidarykite savo projekto failą package.json. Iš jo matysite, kokia tai programėlė.
- Statinė programėlė (React su Vite). Faile
package.jsonnurodytasvite, bet nėra serverio karkaso. Komandanpm run buildsukuria aplankądistsu įprastais HTML, JavaScript ir CSS failais. Juos įkeliate įpublic_html. Tai veikia su bet kuriuo talpinimo planu. Daug Bolt programėlių ir senesnių Lovable programėlių yra sukurtos būtent taip. - Programėlė su savo serveriu. Nuo 13 gegužės 2026 m. Lovable kuria programėles su TanStack Start: tada faile
package.jsonyra@tanstack/react-start. Tokia programėlė vykdo serverio kodą, todėl neveiks kaip atskiri failai aplankepublic_html. Ją paleidžiate kaip Node.js programėlę (žr. 6 punktą). Tas pats galioja ir kitoms programėlėms su savo serveriu, pavyzdžiui, su Express backend. - Programėlė su Supabase arba Lovable Cloud kaip backend. Duomenų bazė, prisijungimas ir funkcijos lieka Supabase arba Lovable. WebOké talpinate tik priekinę dalį (front-end). Kompiliuodami vis dėlto turite nurodyti Supabase adresą ir viešąjį raktą (žr. 5 punktą).
2. Kodo gavimas iš DI kūrimo įrankio per GitHub
Lovable ir Bolt gali perkelti Jūsų projektą į Jūsų GitHub saugyklą (repository). Tada pakeitimai sinchronizuojami abiem kryptimis: tai, ką pakeičiate DI kūrimo įrankyje, patenka į GitHub, o tai, ką pakeičiate GitHub, grįžta į DI kūrimo įrankį.
Lovable:
- Atidarykite projektą ir eikite į Project settings > Git > GitHub.
- Spustelėkite Add connection ir suteikite Lovable programėlei prieigą prie savo GitHub paskyros.
- Skiltyje Accounts spustelėkite Connect. Lovable sukuria privačią saugyklą ir ją nuolat atnaujina.
Galima apsieiti ir be GitHub: per Download codebase skiltyje Project settings > Git atsisiųsite kodą (su mokamu Lovable planu).
Bolt:
- Atidarykite projektą ir viršuje dešinėje spustelėkite GitHub piktogramą.
- Prisijunkite prie GitHub, spustelėkite Authorize ir įdiekite Bolt GitHub programėlę.
- Įveskite saugyklos pavadinimą ir spustelėkite Create repository. Toliau Bolt dirba šakoje
main.
3. Statinės programėlės kompiliavimas ir įkėlimas
Programėlę kompiliuojate savo kompiuteryje. Tam Jums reikia Node.js 22 versijos (dabartinei Vite reikia bent 20.19 arba 22.12).
- Gaukite kodą: atlikite savo saugyklos
git clonearba išarchyvuokite atsisiųstą failą. - Atidarykite terminalą projekto aplanke ir įdiekite paketus komanda
npm ci(arbanpm install, jei nėrapackage-lock.json). - Sukompiliuokite programėlę komanda
npm run build. Dabar turite aplankądistsuindex.htmlir aplankuassets. - Įkelkite aplanko
distturinį įdomains/jusudomenas.nl/public_htmlnaudodami FTP programą arba DirectAdmin File Manager. Neįkelkite paties aplankodist, šaltinio kodo arnode_modules. - Įdėkite toliau pateiktą
.htaccessfailą įpublic_html.
Programėlė su keliais puslapiais (maršrutizatoriumi, router) naršyklėje rodo adresus, pavyzdžiui, jusudomenas.nl/apie-mus. Tokie puslapiai serveryje neegzistuoja kaip failai. Jei atnaujinsite tokį puslapį arba atidarysite nuorodą tiesiogiai, gausite 404 klaidą. Su šiuo .htaccess failu serveris tokius adresus nukreipia į index.html, o programėlė parodo tinkamą puslapį:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^assets/ - [R=404,L]
RewriteRule ^ index.html [L]
Esamus failus ir aplankus serveris rodo įprastai. Trūkstamas failas aplanke assets grąžina tikrą 404 klaidą, todėl klaidą pastebėsite lengviau. Visa kita nukreipiama į programėlę.
.htaccess failą į savo projekto aplanką public. Vite kiekvieno kompiliavimo metu nukopijuoja viską iš public į dist, todėl failas visada bus įkeltas kartu. Nematote failo savo FTP programoje ar File Manager? Failai, kurių pavadinimas prasideda tašku, kartais būna paslėpti, žr. Paslėptų failų, pavyzdžiui, .htaccess, rodymas ir redagavimas.4. Programėlės talpinimas poaplankyje
Norite programėlę talpinti ne adresu jusudomenas.nl, o adresu jusudomenas.nl/app? Tada programėlė turi tai žinoti jau kompiliavimo metu. Kitaip naršyklė ieškos failų aplanke /assets, o ne /app/assets, ir ekranas liks baltas.
- Faile
vite.config.js(arbavite.config.ts) nustatykite parinktįbase: '/app/'. - Nurodykite tą patį kelią maršrutizatoriui. Naudodami React Router tai padarysite su
<BrowserRouter basename={import.meta.env.BASE_URL}>. - Sukompiliuokite iš naujo ir įkelkite aplanko
distturinį įpublic_html/app. - Į
public_html/app/.htaccessįdėkite tą patį failą, kaip nurodyta aukščiau, tik suRewriteBase /app/.
5. Supabase, Lovable Cloud ir kiti nustatymai (env kintamieji)
Nustatymus, kurie prasideda VITE_, pavyzdžiui, VITE_SUPABASE_URL ir VITE_SUPABASE_PUBLISHABLE_KEY (senesniuose projektuose VITE_SUPABASE_ANON_KEY), Vite kūrimo metu įrašo į JavaScript failus. Vėliau serveryje jų nustatyti nebegalite.
- Reikšmes rasite savo projekto faile
.env. Pavadinimus perkelkite tiksliai tokius pačius. - Jei Jūsų projekte nėra failo
.env, sukurkite jį patys projekto aplanke prieš paleisdaminpm run build. Naudodami GitHub Actions, nustatykite juos kaip secret (žr. 7 punktą). - Jei pakeitėte reikšmę, iš naujo sukurkite ir įkelkite programėlę.
VITE_, gali perskaityti kiekvienas lankytojas. Supabase viešasis raktas (publishable arba anon key) ten gali būti, jis tam ir skirtas; Jūsų duomenis Supabase apsaugo saugumo taisyklėmis (row level security). Niekada nedėkite rakto service_role ar kito slapto rakto į VITE_ kintamąjį.6. Programėlė su savo serveriu: kaip Node.js programėlė
Programėlę su serverio kodu, pavyzdžiui, TanStack Start programėlę iš Lovable, įdiegsite naudodami Setup Node.js App DirectAdmin valdymo skydelyje. Kaip tai veikia, skaitykite straipsnyje Node.js aktyvavimas DirectAdmin. TanStack Start programėlei tai daroma taip:
- Sukurkite programėlę savo kompiuteryje komanda
NITRO_PRESET=node-server npm run build. Dabar atsiras aplankas.output. - Sukurkite programėlę skiltyje Setup Node.js App, pasirinkdami Node.js 22 ir aplanką už
public_htmlribų, pavyzdžiui,apps/manoapp. - Įkelkite aplanką
.outputį tą aplanką. - Tame pačiame aplanke sukurkite failą
start.cjssu šia viena eilute ir laukelyje Application startup file įrašykitestart.cjs:import('./.output/server/index.mjs'); - Serveriui reikalingus nustatymus, pavyzdžiui,
SUPABASE_URLirSUPABASE_PUBLISHABLE_KEY, nurodykite skiltyje Environment variables. - Spustelėkite Restart. Tai darykite ir po kiekvieno naujo įkėlimo.
Failas start.cjs reikalingas todėl, kad .output serveris yra modernus JavaScript modulis (.mjs), o Node.js aplinka paleidimo failą įkelia senuoju būdu. Jei programėlė rodo klaidą 503, peržiūrėkite failą stderr.log savo programėlės aplanke.
7. Automatinis diegimas su GitHub Actions
Naudojant GitHub Actions, GitHub sukuria Jūsų programėlę po kiekvieno pakeitimo šakoje main ir perkelia rezultatą į Jūsų hostingo planą. Kadangi Lovable ir Bolt rašo į GitHub, pakeitimas iš DI kūrimo įrankio po kelių minučių jau būna internete. DirectAdmin Git funkcija nieko nesukuria, ji tik įkelia failus, todėl Vite programėlei GitHub Actions yra patogesnis.
Slaptažodžių ir raktų niekada nelaikykite savo repozitorijoje, juos įrašykite kaip secret į GitHub:
- Atidarykite savo repozitoriją GitHub ir eikite į Settings > Secrets and variables > Actions.
- Spustelėkite New repository secret, įveskite pavadinimą ir reikšmę, tada spustelėkite Add secret. Tai atlikite su kiekvienu pasirinkto varianto secret.
- Savo repozitorijoje sukurkite failą
.github/workflows/deploy.ymlsu vienu iš dviejų toliau pateiktų pavyzdžių. - Po kito pakeitimo skirtuke Actions patikrinkite, ar viskas pavyko. Paspaudę Run workflow, procesą galite paleisti ir rankiniu būdu.
Variantas A: per FTPS (visi hostingo planai). DirectAdmin sukurkite atskirą FTP paskyrą GitHub, prie Root Directory pasirinkdami parinktį Domain (žr. Kaip veikia FTP WebOké?). Secrets: FTP_SERVER (Jūsų plano serverio pavadinimas, pvz., linux2023.webawere.nl, o ne Jūsų domeno vardas), FTP_USERNAME (visas vardas, pvz., github@jusudomenas.nl), FTP_PASSWORD ir Jūsų programėlės VITE_ reikšmės.
name: Build and deploy
on:
push:
branches: [main]
workflow_dispatch:
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- uses: actions/setup-node@v7
with:
node-version: 22
cache: npm
- run: npm ci
- run: npm run build
env:
VITE_SUPABASE_URL: ${{ secrets.VITE_SUPABASE_URL }}
VITE_SUPABASE_PUBLISHABLE_KEY: ${{ secrets.VITE_SUPABASE_PUBLISHABLE_KEY }}
- uses: SamKirkland/FTP-Deploy-Action@v4.4.0
with:
server: ${{ secrets.FTP_SERVER }}
username: ${{ secrets.FTP_USERNAME }}
password: ${{ secrets.FTP_PASSWORD }}
protocol: ftps
port: 21
local-dir: ./dist/
server-dir: public_html/
Variantas B: per SSH su rsync (planai su SSH). SSH yra planuose Power Webhost Three ir Four, AI Wordpress Three ir Power Reseller, per prievadą 1967 ir tik su raktu (žr. SSH prieiga ir Terminal DirectAdmin).
- Savo kompiuteryje sukurkite atskirą raktą GitHub, be slaptažodžio:
ssh-keygen -t ed25519 -f github-deploy -N "". - Failo
github-deploy.pubturinį įklijuokite DirectAdmin skiltyje SSH Keys > PASTE KEY. - Failo
github-deploy(privataus rakto) turinį įrašykite į secretSSH_PRIVATE_KEY. Po to ištrinkite šį failą iš savo kompiuterio. - Paleiskite
ssh-keyscan -p 1967 linux2023.webawere.nlir išvestį įrašykite į secretSSH_KNOWN_HOSTS. Taip GitHub patikrina, kad tikrai jungiasi prie Jūsų serverio. - Kaip secret taip pat įrašykite
SSH_HOST(serverio pavadinimą),SSH_USER(Jūsų DA naudotojo vardą),DOMEIN(pvz.,jusudomenas.nl) irVITE_reikšmes.
name: Build and deploy
on:
push:
branches: [main]
workflow_dispatch:
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- uses: actions/setup-node@v7
with:
node-version: 22
cache: npm
- run: npm ci
- run: npm run build
env:
VITE_SUPABASE_URL: ${{ secrets.VITE_SUPABASE_URL }}
VITE_SUPABASE_PUBLISHABLE_KEY: ${{ secrets.VITE_SUPABASE_PUBLISHABLE_KEY }}
- name: Deploy
env:
SSH_KEY: ${{ secrets.SSH_PRIVATE_KEY }}
SSH_KNOWN_HOSTS: ${{ secrets.SSH_KNOWN_HOSTS }}
SSH_HOST: ${{ secrets.SSH_HOST }}
SSH_USER: ${{ secrets.SSH_USER }}
DOMEIN: ${{ secrets.DOMEIN }}
run: |
mkdir -p ~/.ssh
printf '%s\n' "$SSH_KEY" > ~/.ssh/deploy_key
chmod 600 ~/.ssh/deploy_key
printf '%s\n' "$SSH_KNOWN_HOSTS" > ~/.ssh/known_hosts
rsync -rlptz --delete --exclude=.well-known --exclude=cgi-bin \
-e "ssh -p 1967 -i ~/.ssh/deploy_key" \
dist/ "$SSH_USER@$SSH_HOST:domains/$DOMEIN/public_html/"
--delete rsync pašalina iš public_html viską, ko nėra Jūsų programėlėje, išskyrus .well-known (reikalingas Jūsų SSL sertifikatui) ir cgi-bin. Jei public_html yra dar kas nors, pavyzdžiui, antra svetainė pakatalogyje, pašalinkite --delete arba įdėkite programėlę į atskirą pakatalogį.Jei nenaudojate Supabase, praleiskite eilutes su VITE_SUPABASE arba vietoj jų įrašykite savo programėlės VITE_ kintamuosius. Jei prisijungti kelis kartus nepavyksta, serveris laikinai užblokuoja GitHub IP adresą. Tuomet patikrinkite savo secrets ir paleiskite workflow iš naujo.
8. Dažniausios klaidos
- Pagrindinis puslapis veikia, bet atnaujinus puslapį arba atidarius tiesioginę nuorodą rodoma 404 klaida. Trūksta 3 punkte nurodyto
.htaccessfailo arba jis yra netinkamame aplanke. - Baltas ekranas. Atidarykite savo naršyklės kūrėjo įrankius (F12) ir peržiūrėkite skiltį Konsolė arba Tinklas. Matote 404 klaidas failams aplanke
/assets? Tuomet neteisingas kelias: įkėlėte patį aplankądistvietoj jo turinio arba programa yra poaplankyje be tinkamobasenustatymo (4 punktas). - Programa įsikelia, bet prisijungimas ar duomenys neveikia, arba matote pranešimą, pvz.,
supabaseUrl is required. Kuriant programą (build) nebuvoVITE_kintamųjų. Įrašykite juos į.envarba nustatykite kaip secret ir sukurkite programą iš naujo. - Kūrimas (build) nepavyksta, rodomas pranešimas apie Node.js versiją. Naudokite Node.js 22 tiek savo kompiuteryje, tiek workflow (
node-version: 22). npm cinepavyksta. Nėrapackage-lock.jsonfailo, pavyzdžiui, todėl, kad projekte yra tikbun.lock. Vieną kartą paleiskitenpm installir įkelkite naująpackage-lock.jsonį savo repozitoriją.- Kūrimo rezultate nėra
index.html. Tuomet tai programa su savo serveriu, pvz., TanStack Start. Sukonfigūruokite ją kaip Node.js programą (6 punktas).
Taip pat žiūrėkite: Prisijungimas per FileZilla (FTP, FTPS ir SFTP) ir SSH raktai ir prisijungimas per SSH.
Išsamus paaiškinimas su ekrano nuotraukomis: Node.js programos sukūrimas DirectAdmin vadove.
