Polski

Blog · Poradniki wdrożeń

Jak wdrożyć aplikację Nuxt w 2026: jedno polecenie, serwer Node i HTTPS

Zespół Pethost · · Zaktualizowano · 7 min czytania

Masz aplikację Nuxt, która działa po npm run dev, i chcesz ją mieć w sieci pod adresem z HTTPS, z renderowaniem na serwerze. Na Pethost to jedno polecenie, pethost deploy, uruchomione w katalogu z package.json. Samo pisze za ciebie Dockerfile, uruchamia nuxt build i startuje serwer, który zbudował build. Starter samego Nuxta za pierwszym razem zbudował się i uruchomił w 53 sekundy.

W skrócie
  • Jedno polecenie: pethost deploy w katalogu z package.json. Nie trzeba wybierać presetu ani dopisywać skryptu start.
  • Co robi: znajduje nuxt i skrypt, który uruchamia nuxt build, pisze Dockerfile, który go wykonuje, i startuje node .output/server/index.mjs.
  • Port: serwer Nuxta nasłuchuje na 3000. Pethost sam to znajduje i kieruje tam adres, przez HTTPS.
  • Adres: https://nuxt-app.yourname.pethost.app od razu. Twoja własna domena to jeden rekord DNS.
  • Cena: 9,99 € miesięcznie za 2 vCPU, 3 GB i 30 GB, na tę aplikację i każdy inny twój projekt. Nie ma darmowego planu.

Czego potrzebujesz, żeby wdrożyć aplikację Nuxt w 2026

Trzech rzeczy: aplikacji, polecenia pethost i konta Pethost.

Aplikacja to tutaj to, co zostawia strona instalacji Nuxta, z szablonem minimal i npm:

npm create nuxt@latest nuxt-app

Tworzy nuxt.config.ts, katalog app/ i package.json z tymi skryptami. Żaden z nich nie jest skryptem start i żaden nie jest potrzebny:

"scripts": {
  "build": "nuxt build",
  "dev": "nuxt dev",
  "generate": "nuxt generate",
  "preview": "nuxt preview",
  "postinstall": "nuxt prepare"
}

Polecenie to jeden program, instalowany jedną linią. Wszystkie jego polecenia są w dokumentacji CLI.

curl -fsSL https://pethost.dev/install.sh | sh      # macOS, Linux
irm https://pethost.dev/install.ps1 | iex           # Windows, in PowerShell

Konto potrzebuje planu. Jeśli nie jesteś zalogowany, pethost deploy otwiera przeglądarkę i cię loguje. Jeśli nie masz jeszcze planu, pokazuje, gdzie go wybrać, i czeka.

Wdróż aplikację Nuxt jednym poleceniem

Przejdź do katalogu z package.json i uruchom pethost deploy. Oto cały ekran, dla startera:

$ cd nuxt-app
$ pethost deploy
Name it [nuxt-app]:    it will live at https://nuxt-app.sam.pethost.app
✓ Packed 45 files, 450 KB   (left out node_modules)
✓ Uploaded straight to your machine
✗ /compose.yaml: the project directory has no compose.yaml at its root: add one
✓ Nuxt project detected, wrote Dockerfile.
✓ Packed 46 files, 451 KB   (left out node_modules)
✓ Uploaded straight to your machine
✓ Built and started in 53 s
  · wrote compose.yaml for the Dockerfile: the service app, reading .env
✓ app listens on 3000 → https://nuxt-app.sam.pethost.app
  It answers 200.

https://nuxt-app.sam.pethost.app

Wrote .pethost (commit it). Next:   pethost logs -f   ·   pethost open
  1. Pyta o jedno O nazwę projektu, która jest pierwszym słowem jego adresu. Enter bierze nazwę katalogu.
  2. Maszyna nie znajduje nic do uruchomienia Katalog trafia prosto na twoją maszynę, bez node_modules. Linia z krzyżykiem to jej odpowiedź: projekt działa z Dockerfile albo z pliku Compose, a katalog nie ma jeszcze żadnego z nich.
  3. pethost pisze Dockerfile Zobaczył nuxt w package.json i skrypt, który uruchamia nuxt build, i wgrywa katalog jeszcze raz.
  4. Maszyna go buduje i uruchamia Widzi, że serwer nasłuchuje na 3000, i kieruje tam adres. Potem pethost sam odpytuje adres i wypisuje, co odpowiedział: 200.

Plik .pethost mówi, którym projektem jest ten katalog. Zrób commit razem z Dockerfile, a kolejne wdrożenie o nic nie zapyta.

Dockerfile, który pethost pisze dla Nuxta

Oto cały plik, tak jak został zapisany w katalogu startera:

# Written by pethost deploy for this Nuxt project: Node 24 (no .nvmrc names another),
# npm installs it (package-lock.json), package.json builds it with "nuxt build", node
# runs .output/server/index.mjs (package.json has no start script).
# It is yours now: change it as you like. pethost does not write it again.

FROM node:24
WORKDIR /app

COPY . .

# Every dependency: what builds the project, and may start it, is among the ones for
# development.
RUN --mount=type=cache,target=/root/.npm \
    npm install

RUN npm run build

ENV NODE_ENV=production
CMD ["node", ".output/server/index.mjs"]

Jego pierwsze linie mówią, co pethost przeczytał w twoim katalogu. Stamtąd biorą się trzy rzeczy:

Działający starter zajął 30 MB pamięci. Jeśli maszyna nie zbuduje albo nie uruchomi Dockerfile napisanego przez pethost, pethost usuwa ten plik z twojego katalogu i mówi, co się nie udało.

Runtime config i zmienne środowiskowe

Nuxt czyta swój runtime config ze zmiennych zaczynających się od NUXT_, gdy serwer startuje. Na Pethost zmienna to jedno polecenie. Trafia do pliku .env projektu na maszynie, który usługa czyta, a każde kolejne wdrożenie zachowuje:

pethost env set NUXT_PUBLIC_API_BASE=https://api.example.com
pethost env set NUXT_API_SECRET          # asks for the value without showing it

Aplikacja startuje ponownie z nową wartością. pethost env wypisuje nazwy, a pethost env --show wypisuje plik z wartościami.

Zmień stronę i wdróż ponownie

Zmień app/app.vue i uruchom to samo polecenie. Drugie wdrożenie startera zajęło 12 sekund, bo maszyna przechowuje warstwy builda i cache npm:

$ pethost deploy
nuxt-app (.pethost)
✓ Packed 47 files · uploaded · built and started in 12 s
  · wrote compose.yaml for the Dockerfile: the service app, reading .env
  · kept the project's x-pethost
  It answers 200.
https://nuxt-app.sam.pethost.app

Żeby zamiast tego wdrażać po każdym pushu, podłącz raz repozytorium:

pethost github sam/nuxt-app          # from now on, every push deploys itself

Pethost czyta tylko repozytoria udostępnione jego GitHub App. Jeśli wdrożenie pójdzie źle, pethost rollback przywraca wersję sprzed niego, a twoja maszyna trzyma trzy wersje sprzed bieżącej. Agent AI może zrobić to wszystko za ciebie przez serwer MCP Pethost: jak agent wdraża projekt i o niego dba.

Użyj własnej domeny dla aplikacji Nuxt

Każda nazwa pod domeną twojego konta od razu jest adresem, z HTTPS. Domena, którą masz, to jedno polecenie i jeden rekord DNS:

pethost domain add app.example.com

Polecenie wypisuje rekord do utworzenia: CNAME z twojej nazwy na nazwę twojej maszyny. Certyfikat pojawia się sam, gdy tylko nazwa zacznie się rozwiązywać, i sam się odnawia. pethost password stawia stronę z hasłem przed całą aplikacją, gdy nie jest jeszcze publiczna.

Co dostajesz za tę cenę

Pethost kosztuje 9,99 € miesięcznie za wszystko, co hostujesz, na 2 vCPU, 3 GB pamięci i 30 GB dysku. Serwer startera zajął 30 MB tej pamięci, więc na maszynie zostaje miejsce na API, które wywołuje aplikacja, jej bazę danych i twoje inne projekty. Nie ma opłaty za projekt ani żadnych liczników: renderowanie na serwerze nie jest rozliczane za żądanie.

Co jest już zrobione za ciebie: HTTPS z certyfikatami, które same się odnawiają, wdrożenia z GitHuba, nocne backupy trzymane przez 14 dni, SSH do każdego kontenera i każde żądanie policzone, z najczęściej odwiedzanymi ścieżkami i odsetkiem błędów z ostatnich 30 dni. Maszyna działa cały czas, więc strona nigdy nie czeka na zimny start. Plany są w cenniku na stronie głównej.

Ile zajmuje każdy projekt. Strona Zasoby: każdy projekt z jego pamięcią, CPU i dyskiem.
Strona Zasoby w panelu Pethost: każdy projekt z jego pamięcią, CPU i dyskiem.

Pethost to najlepszy wybór dla

  • Programistów Vue z aplikacją full-stack: serwer Nuxta, jego trasy API i jego baza danych na jednej maszynie, na jednym rachunku
  • Programistów solo z kilkoma projektami pobocznymi, każdym pod własnym adresem
  • Osób, za które wdraża agent: Claude Code albo Codex wystawia aplikację do sieci i czyta jej logi
  • Wczesnych startupów, które chcą stałego miesięcznego kosztu, póki produkt jest mały

Poszukaj gdzie indziej, jeśli

  • Twoja aplikacja potrzebuje kilku regionów albo autoskalowania

Pytania

Czy aplikacja Nuxt potrzebuje Dockerfile do wdrożenia?

Na Pethost projekt działa z Dockerfile albo z pliku Compose, ale nie musisz go pisać: w katalogu, w którym nie ma żadnego z nich, pethost deploy pisze Dockerfile dla projektu Nuxt i go wdraża. Plik zostaje w twoim katalogu i możesz go zmieniać.

Jakiego presetu Nitro potrzebuje Nuxt na Pethost?

Żadnego nie trzeba ustawiać. nuxt build domyślnie zapisuje serwer Node w .output, a Dockerfile uruchamia go przez node .output/server/index.mjs.

Na jakim porcie nasłuchuje serwer Nuxt?

Domyślnie na 3000. Pethost znajduje port, na którym nasłuchuje działający serwer, i tam kieruje adres, przez HTTPS, więc nie trzeba deklarować portu.

Jak ustawić zmienne środowiskowe dla aplikacji Nuxt na produkcji?

Uruchom pethost env set NUXT_API_SECRET w katalogu aplikacji. Polecenie pyta o wartość, nie pokazując jej, i zapisuje ją w pliku .env projektu na maszynie. Nuxt wczytuje zmienne zaczynające się od NUXT_ do swojego runtime config, gdy serwer startuje.

Czy mogę wdrażać aplikację Nuxt z GitHuba po każdym pushu?

Tak. Wdróż katalog raz przez pethost deploy, a potem uruchom pethost github owner/repository. Od tej chwili każdy push do repozytorium sam się wdraża, a pethost rollback wraca do wcześniejszego commita.

Ile kosztuje hosting aplikacji Nuxt na Pethost?

9,99 € miesięcznie za plan Starter, z 2 vCPU, 3 GB i 30 GB, bez opłaty za projekt i bez opłaty za żądanie: twoje inne aplikacje, strony i bazy danych też tam działają. Nie ma darmowego planu. Ceny są bez VAT.

Ekrany to wdrożenia aplikacji, którą npm create nuxt@latest tworzy z szablonu minimal, z Nuxt 4.6.1 i pethost 0.2.1, na naszej maszynie testowej. Konto na nich to przykładowe sam.

  1. Nuxt: instalacja
  2. Nuxt: wdrażanie
  3. Nuxt: runtime config
  4. pethost, narzędzie wiersza poleceń Pethost

Opublikuj swoje projekty jeszcze dziś

Wdrażaj aplikacje, boty i bazy danych ze swojego agenta, z GitHuba lub w przeglądarce, tyle, ile się zmieści, w jednej stałej cenie. Nic liczonego za zużycie, nic doliczanego.

Hostuj wszystko za 9,99 €/mies.