{"id":19996,"date":"2023-10-17T13:32:32","date_gmt":"2023-10-17T12:32:32","guid":{"rendered":"https:\/\/www.oderland.se\/support\/?post_type=ht_kb&#038;p=19996"},"modified":"2023-10-17T13:37:26","modified_gmt":"2023-10-17T12:37:26","slug":"hur-driftsatter-jag-next-js-i-oderland-cloud","status":"publish","type":"ht_kb","link":"https:\/\/www.oderland.se\/support\/artikel\/hur-driftsatter-jag-next-js-i-oderland-cloud\/","title":{"rendered":"Hur drifts\u00e4tter jag Next.js i Oderland Cloud?"},"content":{"rendered":"\n<p class=\"wp-block-ht-blocks-messages wp-block-hb-message wp-block-hb-message--withicon is-style-alert\">Den h\u00e4r guiden \u00e4r f\u00f6r avancerade anv\u00e4ndare som har en grundl\u00e4ggande f\u00f6rkunskap inom system som SSH, VPS:er och Docker, som kan vilja drifts\u00e4tta Next.js eller andra Node.js-ramverk.<\/p>\n\n\n\n<p class=\"wp-block-ht-blocks-messages wp-block-hb-message wp-block-hb-message--withicon is-style-danger\">Vi kan inte l\u00e4mna support p\u00e5 de applikationer som du s\u00e4tter upp genom att f\u00f6lja denna guide.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"UtkastGuide:Hurdrifts\u00e4tterjagNext.jsiOderlandCloud?-Vad\u00e4rNext.js\/Nuxt.js\/Gatsby\/&quot;JavaScriptRamverk&quot;?\">Vad \u00e4r Next.js \/ Nuxt.js \/ Gatsby \/ &#8221;JavaScript Ramverk&#8221;?<\/h2>\n\n\n\n<p><a rel=\"noreferrer noopener\" href=\"https:\/\/nextjs.org\/\" target=\"_blank\">Next<\/a>,&nbsp;<a rel=\"noreferrer noopener\" href=\"https:\/\/nuxt.com\/\" target=\"_blank\">Nuxt<\/a>,&nbsp;<a rel=\"noreferrer noopener\" href=\"https:\/\/www.gatsbyjs.com\/\" target=\"_blank\">Gatsby&nbsp;<\/a>och andra s\u00e5 kallade Javascript-ramverk \u00e4r en samlingsterm f\u00f6r en m\u00e4ngd intressanta tekniker inom modern webbutveckling, som l\u00e5ter utvecklare skapa applikationer som ser ut som och beter sig mer som en app i din iPhone \/ Android \u00e4n en traditionell hemsida, framf\u00f6rallt genom att sidan aldrig &#8221;laddar om&#8221;&nbsp;medan du klickar runt &#8211; JavaScript \u00e4ndrar den HTML som visas beroende p\u00e5 bes\u00f6karens input, utan att n\u00e5gonsin anropa servern f\u00f6r att h\u00e4mta en ny html-fil!<\/p>\n\n\n\n<p>Next.js, Nuxt.js och Gatsby.js anv\u00e4nder sig ocks\u00e5 av en omfattande m\u00e4ngd andra tekniker f\u00f6r att f\u00f6rh\u00f6ja UX, som server-side rendering, file-based routing med mera. Desto mer avancerade dessa funktioner blir i ramverken, desto mer beh\u00f6ver man se \u00f6ver hur projektet drifts\u00e4tts p\u00e5 en server och d\u00e4r kan det vara till stor f\u00f6rdel att ha en milj\u00f6 som \u00e4r dedikerad till att k\u00f6ra just Node-baserade projekt ist\u00e4llet f\u00f6r ett vanligt webbhotellkonto som inte \u00e4r l\u00e4mpat f\u00f6r det.<\/p>\n\n\n\n<p class=\"wp-block-ht-blocks-messages wp-block-hb-message wp-block-hb-message--withicon is-style-info\">Vi har i den h\u00e4r guiden valt att anv\u00e4nda Next.js som exempel, eftersom det \u00e4r det i s\u00e4rklass popul\u00e4raste av ramverken, men instruktionerna b\u00f6r g\u00e5 att f\u00f6lja relativt v\u00e4l f\u00f6r Nuxt och Gatsby, med mera. Justera bara detaljer i er Dockerfile som NPM-kommandon och portv\u00e4rden f\u00f6r att matcha egna behov!<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"UtkastGuide:Hurdrifts\u00e4tterjagNext.jsiOderlandCloud?-Vadbeh\u00f6verjagf\u00f6rattf\u00f6ljaguiden?\">Vad beh\u00f6ver jag f\u00f6r att f\u00f6lja guiden?<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>En server uppsatt genom <a href=\"https:\/\/www.oderland.se\/cloud\/\">Oderland <\/a><a rel=\"noreferrer noopener\" href=\"https:\/\/www.oderland.se\/cloud\/\" target=\"_blank\">Cloud<\/a> med Docker Engine installerat. Du kan l\u00e4sa i <a rel=\"noreferrer noopener\" href=\"https:\/\/www.oderland.se\/support\/artikel\/sa-installerar-du-docker-engine-i-oderland-cloud\/\" target=\"_blank\">denna guide<\/a>&nbsp;om hur du installerar Docker Engine p\u00e5 en befintlig server. Vill du s\u00e4tta upp en ny server f\u00f6rberedd f\u00f6r Docker kan du ist\u00e4llet f\u00f6lja <a rel=\"noreferrer noopener\" href=\"https:\/\/www.oderland.se\/support\/artikel\/sa-installerar-du-en-ny-server-med-docker-engine-i-oderland-cloud\/\" target=\"_blank\">dessa instruktioner<\/a>.<\/li>\n\n\n\n<li><a rel=\"noreferrer noopener\" href=\"https:\/\/www.oderland.se\/support\/artikel\/sa-installerar-du-portainer-med-automatisk-tls-via-caddy-i-oderland-cloud\/\" target=\"_blank\">Portainer installerat p\u00e5 samma server<\/a>.<\/li>\n\n\n\n<li>En Next.js-applikation tillg\u00e4nglig via ett Git-repo du har access till p\u00e5 exempelvis Github.<\/li>\n<\/ul>\n\n\n\n<p>N\u00e4r du har detta \u00e4r det dags att s\u00e4tta ig\u00e5ng. F\u00f6lj stegen nedan.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"UtkastGuide:Hurdrifts\u00e4tterjagNext.jsiOderlandCloud?-Steg1:SkapaenDockerfilef\u00f6rNext.js\"><strong>Steg 1:&nbsp;<\/strong>Skapa en Dockerfile f\u00f6r Next.js<\/h2>\n\n\n\n<p>Docker \u00e4r ett system f\u00f6r att paketera program i en &#8221;container&#8221;: en liten, sluten Linuxmilj\u00f6 med vissa f\u00f6ruts\u00e4ttningar d\u00e4r din applikation alltid k\u00f6rs p\u00e5 exakt samma vis utan att l\u00e5ta v\u00e4rddatorn p\u00e5verka dess k\u00f6rning. Eftersom mycket kan skilja sig mellan olika operativsystem, mjukvaror och h\u00e5rdvara \u00e4r Docker ett bra s\u00e4tt att se till att en applikation alltid kan g\u00f6ras p\u00e5 &#8221;r\u00e4tt&#8221; s\u00e4tt och du som utvecklare definierar vad som \u00e4r &#8221;r\u00e4tt s\u00e4tt&#8221; i din&nbsp;<strong>Dockerfile<\/strong>. Den dockerfile vi anv\u00e4nder i guiden kommer fr\u00e5n den<a rel=\"noreferrer noopener\" href=\"https:\/\/nextjs.org\/docs\/pages\/building-your-application\/deploying#docker-image\" target=\"_blank\"> officiella dokumentationen f\u00f6r Next.js<\/a>, daterad 2023-10-17.<\/p>\n\n\n\n<p class=\"wp-block-ht-blocks-messages wp-block-hb-message wp-block-hb-message--withicon is-style-info\">Vi f\u00f6ruts\u00e4tter h\u00e4r att din Next.js-app \u00e4r uppladdad p\u00e5 den server du ska k\u00f6ra den fr\u00e5n redan, med valfri metod.<\/p>\n\n\n\n<p>Vi b\u00f6rjar med att \u00f6ppna Portainer och klicka oss in p\u00e5 v\u00e5r prim\u00e4ra milj\u00f6, i v\u00e5rt fall heter den &#8221;primary&#8221;:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.oderland.se\/support\/wp-content\/uploads\/2023\/10\/image-2023-10-9_13-54-16.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"183\" src=\"https:\/\/www.oderland.se\/support\/wp-content\/uploads\/2023\/10\/image-2023-10-9_13-54-16-1024x183.png\" alt=\"\" class=\"wp-image-20017\" srcset=\"https:\/\/www.oderland.se\/support\/wp-content\/uploads\/2023\/10\/image-2023-10-9_13-54-16-1024x183.png 1024w, https:\/\/www.oderland.se\/support\/wp-content\/uploads\/2023\/10\/image-2023-10-9_13-54-16-300x54.png 300w, https:\/\/www.oderland.se\/support\/wp-content\/uploads\/2023\/10\/image-2023-10-9_13-54-16-768x137.png 768w, https:\/\/www.oderland.se\/support\/wp-content\/uploads\/2023\/10\/image-2023-10-9_13-54-16-50x9.png 50w, https:\/\/www.oderland.se\/support\/wp-content\/uploads\/2023\/10\/image-2023-10-9_13-54-16-1536x275.png 1536w, https:\/\/www.oderland.se\/support\/wp-content\/uploads\/2023\/10\/image-2023-10-9_13-54-16-2048x366.png 2048w, https:\/\/www.oderland.se\/support\/wp-content\/uploads\/2023\/10\/image-2023-10-9_13-54-16-60x11.png 60w, https:\/\/www.oderland.se\/support\/wp-content\/uploads\/2023\/10\/image-2023-10-9_13-54-16-100x18.png 100w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p>\u00d6ppna fliken <code>Images<\/code> och tryck p\u00e5 <code>Build a new image<\/code>. Du kommer nu se ett f\u00e4lt d\u00e4r du s\u00e4tter namnet p\u00e5 din image &#8211; vi kan n\u00f6ja oss med &#8221;<strong>nextjs-app<\/strong>&#8221; i v\u00e5rt fall! Under detta har vi ett f\u00e4lt f\u00f6r att definiera v\u00e5r Dockerfile, en lista med instruktioner f\u00f6r Portainer om hur din app ska k\u00f6ras.<\/p>\n\n\n\n<p class=\"wp-block-ht-blocks-messages wp-block-hb-message wp-block-hb-message--withicon is-style-alert\">Om du f\u00f6ljt v\u00e5r guide om <a rel=\"noreferrer noopener\" href=\"https:\/\/www.oderland.se\/support\/artikel\/sa-installerar-du-portainer-med-automatisk-tls-via-caddy-i-oderland-cloud\/\" data-type=\"ht_kb\" data-id=\"19701\" target=\"_blank\">upps\u00e4ttning av Portainer<\/a> kommer detta k\u00f6ras i en egen docker-container, som inte har \u00e5tkomst till serverns filsystem. Vi kan d\u00e4rf\u00f6r inte anv\u00e4nda oss av Dockerfile direktivet COPY f\u00f6r att f\u00e5 in filerna vi beh\u00f6ver i v\u00e5r nya image, utan vi m\u00e5ste ladda in v\u00e5ra filer fr\u00e5n exempelvis ett Github-repo genom git-kloning etc.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.oderland.se\/support\/wp-content\/uploads\/2023\/10\/image-2023-10-9_13-57-46.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"457\" src=\"https:\/\/www.oderland.se\/support\/wp-content\/uploads\/2023\/10\/image-2023-10-9_13-57-46-1024x457.png\" alt=\"\" class=\"wp-image-20019\" srcset=\"https:\/\/www.oderland.se\/support\/wp-content\/uploads\/2023\/10\/image-2023-10-9_13-57-46-1024x457.png 1024w, https:\/\/www.oderland.se\/support\/wp-content\/uploads\/2023\/10\/image-2023-10-9_13-57-46-300x134.png 300w, https:\/\/www.oderland.se\/support\/wp-content\/uploads\/2023\/10\/image-2023-10-9_13-57-46-768x342.png 768w, https:\/\/www.oderland.se\/support\/wp-content\/uploads\/2023\/10\/image-2023-10-9_13-57-46-50x22.png 50w, https:\/\/www.oderland.se\/support\/wp-content\/uploads\/2023\/10\/image-2023-10-9_13-57-46-1536x685.png 1536w, https:\/\/www.oderland.se\/support\/wp-content\/uploads\/2023\/10\/image-2023-10-9_13-57-46-2048x913.png 2048w, https:\/\/www.oderland.se\/support\/wp-content\/uploads\/2023\/10\/image-2023-10-9_13-57-46-60x27.png 60w, https:\/\/www.oderland.se\/support\/wp-content\/uploads\/2023\/10\/image-2023-10-9_13-57-46-100x45.png 100w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p>H\u00e4r g\u00e5r vi igenom Dockerfilens inneh\u00e5ll och vad de olika stegen g\u00f6r!<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"># Vi b\u00f6rjar med att kopiera baspaketet node:18 fr\u00e5n Dockerhub\nFROM node:18\n\n# Alla kommandon inne i Docker-container ska k\u00f6ras i \"\/app\"\nWORKDIR&nbsp;\/app\n\n# Ladda ner repot fr\u00e5n t.ex&nbsp; github - Observera mellanslaget och punkten p\u00e5 slutet, annars misslyckas npm installationen!\nRUN git clone https:\/\/L\u00c4NK_TILL_DITT_GIT_REPO.tld\/nextjs-docker-guide.git .\n\n# Installera dependencies f\u00f6r Next.js inuti containern, s\u00e5 att vi \u00e4r k\u00f6rklara!\nRUN npm&nbsp;install\n\n# Kompilera JavaScript som vanligt n\u00e4r man arbetar med Next.js och skapa en build\nRUN npm run build\n\n# \u00d6ppna port 3000 i containern, som \u00e4r Next.js standardport\nEXPOSE 3000\n\n# Starta Next.js appen genom att k\u00f6ra kommandot \"npm start\"\nCMD [\"npm\",&nbsp;\"start\"]<\/pre>\n\n\n\n<p>Tryck p\u00e5 <code>Build the image<\/code> och om allt g\u00e5r bra ska du f\u00e5 output som liknar det h\u00e4r:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.oderland.se\/support\/wp-content\/uploads\/2023\/10\/image-2023-10-9_14-18-28.png\"><img loading=\"lazy\" decoding=\"async\" width=\"860\" height=\"615\" src=\"https:\/\/www.oderland.se\/support\/wp-content\/uploads\/2023\/10\/image-2023-10-9_14-18-28.png\" alt=\"\" class=\"wp-image-20028\" srcset=\"https:\/\/www.oderland.se\/support\/wp-content\/uploads\/2023\/10\/image-2023-10-9_14-18-28.png 860w, https:\/\/www.oderland.se\/support\/wp-content\/uploads\/2023\/10\/image-2023-10-9_14-18-28-300x215.png 300w, https:\/\/www.oderland.se\/support\/wp-content\/uploads\/2023\/10\/image-2023-10-9_14-18-28-768x549.png 768w, https:\/\/www.oderland.se\/support\/wp-content\/uploads\/2023\/10\/image-2023-10-9_14-18-28-50x36.png 50w, https:\/\/www.oderland.se\/support\/wp-content\/uploads\/2023\/10\/image-2023-10-9_14-18-28-60x43.png 60w, https:\/\/www.oderland.se\/support\/wp-content\/uploads\/2023\/10\/image-2023-10-9_14-18-28-100x72.png 100w\" sizes=\"auto, (max-width: 860px) 100vw, 860px\" \/><\/a><\/figure>\n\n\n\n<p>Gratulerar, du har nu en Docker image som kan k\u00f6ra din Next.js-sida!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"UtkastGuide:Hurdrifts\u00e4tterjagNext.jsiOderlandCloud?-Steg2:Skapaen&quot;Stack&quot;meddocker-compose\">Steg 2:&nbsp; Skapa en &#8221;Stack&#8221; med docker-compose<\/h2>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"UtkastGuide:Hurdrifts\u00e4tterjagNext.jsiOderlandCloud?-Vadbeh\u00f6verjagf\u00f6rattf\u00f6ljaguiden?.1\">Vad beh\u00f6ver jag f\u00f6r att f\u00f6lja guiden?<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ett dom\u00e4nnamn eller subdom\u00e4n, pekad mot din Oderland Cloud-servers IP-adress!<\/li>\n<\/ul>\n\n\n\n<p>F\u00f6r att g\u00f6ra v\u00e5r Next.js-sida tillg\u00e4nglig \u00f6ver https (och utan att bes\u00f6karna ska beh\u00f6va ange portnummer 3000) s\u00e5 beh\u00f6ver vi skapa en <em>stack<\/em>. En stack \u00e4r ett s\u00e4tt att drifts\u00e4tta&nbsp;<strong>docker-compose<\/strong> i Portainer, det vill s\u00e4ga att knyta ihop flera av v\u00e5ra containers i en gemensam milj\u00f6 s\u00e5 att de kan interagera.<\/p>\n\n\n\n<p>Om du f\u00f6ljt v\u00e5r<a rel=\"noreferrer noopener\" href=\"https:\/\/www.oderland.se\/support\/artikel\/sa-installerar-du-portainer-med-automatisk-tls-via-caddy-i-oderland-cloud\/\" data-type=\"ht_kb\" data-id=\"19701\" target=\"_blank\"> Portainer-med-Caddy-guide<\/a> har du redan skapat ett n\u00e4tverk som heter &#8221;caddy&#8221; d\u00e4r vi redan k\u00f6r http-servern Caddy. Vi kan enkelt koppla v\u00e5r Next.js-app till Caddy ocks\u00e5, genom att knyta Next.js-appen till n\u00e4tverket Caddy och genom att s\u00e4tta labels i konfigurationsfilen&nbsp;<strong>docker-compose.yml&nbsp;<\/strong>som ber\u00e4ttar f\u00f6r Caddy hur den ska hantera Next.js!<\/p>\n\n\n\n<p>\u00d6ppna <code>Stacks<\/code> i portainer menyn till v\u00e4nster och tryck p\u00e5&nbsp; <code>Add stack<\/code>. V\u00e4lj ett namn f\u00f6r denna stack och klistra sedan in f\u00f6ljande kod i f\u00e4ltet &#8221;Web editor&#8221;:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">version: '3'\nservices:\n  nextjs:\n    image: nextjs-app:latest # Ers\u00e4tt nextjs-app med det namn du gav till din image i f\u00f6rra steget!\n    container_name: nextjs-app # Namnet containern ska ha n\u00e4r den k\u00f6rs\n    ports:\n      - \"3000\" # \u00d6ppna port 3000 p\u00e5 containern. Om din Next.js app k\u00f6r p\u00e5 en annan port, justera!\n    networks: # Anslut denna service till de h\u00e4r n\u00e4tverken\n      - caddy\n    labels:\n      caddy: 'subdom\u00e4n.dom\u00e4n.tld' # Ers\u00e4tt med den dom\u00e4n eller subdom\u00e4n du vill att Caddy ska k\u00f6ra din Next.js app med!\n      caddy.reverse_proxy: \"{{upstreams 3000}}\" # Instruktioner f\u00f6r att skicka vidare anrop efter den h\u00e4r dom\u00e4nen eller subdom\u00e4nen till port 3000 i containern\n \nnetworks:\n  caddy:\n    external: true # G\u00e5 med i det existerande n\u00e4tverket \"Caddy\" ist\u00e4llet f\u00f6r att f\u00f6rs\u00f6ka skapa ett nytt n\u00e4tverk med samma namn<\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.oderland.se\/support\/wp-content\/uploads\/2023\/10\/image-2023-10-10_11-13-6.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"561\" src=\"https:\/\/www.oderland.se\/support\/wp-content\/uploads\/2023\/10\/image-2023-10-10_11-13-6-1024x561.png\" alt=\"\" class=\"wp-image-20033\" srcset=\"https:\/\/www.oderland.se\/support\/wp-content\/uploads\/2023\/10\/image-2023-10-10_11-13-6-1024x561.png 1024w, https:\/\/www.oderland.se\/support\/wp-content\/uploads\/2023\/10\/image-2023-10-10_11-13-6-300x164.png 300w, https:\/\/www.oderland.se\/support\/wp-content\/uploads\/2023\/10\/image-2023-10-10_11-13-6-768x421.png 768w, https:\/\/www.oderland.se\/support\/wp-content\/uploads\/2023\/10\/image-2023-10-10_11-13-6-50x27.png 50w, https:\/\/www.oderland.se\/support\/wp-content\/uploads\/2023\/10\/image-2023-10-10_11-13-6-1536x842.png 1536w, https:\/\/www.oderland.se\/support\/wp-content\/uploads\/2023\/10\/image-2023-10-10_11-13-6-2048x1123.png 2048w, https:\/\/www.oderland.se\/support\/wp-content\/uploads\/2023\/10\/image-2023-10-10_11-13-6-60x33.png 60w, https:\/\/www.oderland.se\/support\/wp-content\/uploads\/2023\/10\/image-2023-10-10_11-13-6-100x55.png 100w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p>Scrolla nu l\u00e4ngst ner p\u00e5 sidan och tryck p\u00e5 <code>Deploy the stack<\/code>. Om du inte f\u00e5r n\u00e5gra felmeddelanden, f\u00f6rs\u00f6k att ladda dom\u00e4nen din Next.js app pekar mot med https och se om sidan laddar. I v\u00e5rt fall:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.oderland.se\/support\/wp-content\/uploads\/2023\/10\/image-2023-10-10_11-14-41.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"145\" src=\"https:\/\/www.oderland.se\/support\/wp-content\/uploads\/2023\/10\/image-2023-10-10_11-14-41-1024x145.png\" alt=\"\" class=\"wp-image-20035\" srcset=\"https:\/\/www.oderland.se\/support\/wp-content\/uploads\/2023\/10\/image-2023-10-10_11-14-41-1024x145.png 1024w, https:\/\/www.oderland.se\/support\/wp-content\/uploads\/2023\/10\/image-2023-10-10_11-14-41-300x43.png 300w, https:\/\/www.oderland.se\/support\/wp-content\/uploads\/2023\/10\/image-2023-10-10_11-14-41-768x109.png 768w, https:\/\/www.oderland.se\/support\/wp-content\/uploads\/2023\/10\/image-2023-10-10_11-14-41-50x7.png 50w, https:\/\/www.oderland.se\/support\/wp-content\/uploads\/2023\/10\/image-2023-10-10_11-14-41-1536x218.png 1536w, https:\/\/www.oderland.se\/support\/wp-content\/uploads\/2023\/10\/image-2023-10-10_11-14-41-60x9.png 60w, https:\/\/www.oderland.se\/support\/wp-content\/uploads\/2023\/10\/image-2023-10-10_11-14-41-100x14.png 100w, https:\/\/www.oderland.se\/support\/wp-content\/uploads\/2023\/10\/image-2023-10-10_11-14-41.png 1678w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\">(Tur vi inte jobbar med webbdesign!)<\/figcaption><\/figure>\n\n\n\n<p>Gratulerar, din Next.js-app k\u00f6rs nu med https i Oderland Cloud!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"UtkastGuide:Hurdrifts\u00e4tterjagNext.jsiOderlandCloud?-FAQ&amp;Fels\u00f6kning:\">FAQ och fels\u00f6kningstips<\/h2>\n\n\n\n<h5 class=\"wp-block-heading\"><em>Hur ser jag resursanv\u00e4ndningen f\u00f6r min Next.js-app?<\/em><\/h5>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.oderland.se\/support\/wp-content\/uploads\/2023\/10\/image-2023-10-11_10-19-19.png\"><img loading=\"lazy\" decoding=\"async\" width=\"872\" height=\"1024\" src=\"https:\/\/www.oderland.se\/support\/wp-content\/uploads\/2023\/10\/image-2023-10-11_10-19-19-872x1024.png\" alt=\"\" class=\"wp-image-20037\" srcset=\"https:\/\/www.oderland.se\/support\/wp-content\/uploads\/2023\/10\/image-2023-10-11_10-19-19-872x1024.png 872w, https:\/\/www.oderland.se\/support\/wp-content\/uploads\/2023\/10\/image-2023-10-11_10-19-19-256x300.png 256w, https:\/\/www.oderland.se\/support\/wp-content\/uploads\/2023\/10\/image-2023-10-11_10-19-19-768x901.png 768w, https:\/\/www.oderland.se\/support\/wp-content\/uploads\/2023\/10\/image-2023-10-11_10-19-19-43x50.png 43w, https:\/\/www.oderland.se\/support\/wp-content\/uploads\/2023\/10\/image-2023-10-11_10-19-19-51x60.png 51w, https:\/\/www.oderland.se\/support\/wp-content\/uploads\/2023\/10\/image-2023-10-11_10-19-19-85x100.png 85w, https:\/\/www.oderland.se\/support\/wp-content\/uploads\/2023\/10\/image-2023-10-11_10-19-19.png 909w\" sizes=\"auto, (max-width: 872px) 100vw, 872px\" \/><\/a><\/figure>\n\n\n\n<p>B\u00f6rja med att trycka p\u00e5 <code>Containers<\/code> i menyn till v\u00e4nster i Portainer. H\u00e4r ser du alla aktiva containers. Vi letar upp v\u00e5r, som om du f\u00f6ljt guiden heter <code>nextjs-app<\/code>, p\u00e5 samma rad i kolumnen <code>Quick Actions<\/code> hittar du&nbsp;<code>Stats<\/code>.<\/p>\n\n\n\n<p>I det h\u00e4r verktyget kan du \u00f6vervaka resursbruket i RAM, CPU, I\/O och bandbredd fr\u00e5n varje container live, samt se processer som k\u00f6rs inne i containern.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\"><em>Kan jag interagera med Next.js inuti containern via CLI?<\/em><\/h5>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><a href=\"https:\/\/www.oderland.se\/support\/wp-content\/uploads\/2023\/10\/image-2023-10-11_10-22-17.png\"><img loading=\"lazy\" decoding=\"async\" width=\"924\" height=\"516\" src=\"https:\/\/www.oderland.se\/support\/wp-content\/uploads\/2023\/10\/image-2023-10-11_10-22-17.png\" alt=\"\" class=\"wp-image-20039\" style=\"aspect-ratio:1.7906976744186047;width:668px;height:auto\" srcset=\"https:\/\/www.oderland.se\/support\/wp-content\/uploads\/2023\/10\/image-2023-10-11_10-22-17.png 924w, https:\/\/www.oderland.se\/support\/wp-content\/uploads\/2023\/10\/image-2023-10-11_10-22-17-300x168.png 300w, https:\/\/www.oderland.se\/support\/wp-content\/uploads\/2023\/10\/image-2023-10-11_10-22-17-768x429.png 768w, https:\/\/www.oderland.se\/support\/wp-content\/uploads\/2023\/10\/image-2023-10-11_10-22-17-50x28.png 50w, https:\/\/www.oderland.se\/support\/wp-content\/uploads\/2023\/10\/image-2023-10-11_10-22-17-60x34.png 60w, https:\/\/www.oderland.se\/support\/wp-content\/uploads\/2023\/10\/image-2023-10-11_10-22-17-100x56.png 100w\" sizes=\"auto, (max-width: 924px) 100vw, 924px\" \/><\/a><\/figure>\n\n\n\n<p>B\u00f6rja med att trycka p\u00e5 <code>Containers<\/code> i menyn till v\u00e4nster i Portainer. H\u00e4r ser du alla aktiva containers. Vi letar upp v\u00e5r, som om du f\u00f6ljt guiden heter <code>nextjs-app<\/code>, p\u00e5 samma rad i kolumnen <code>Quick Actions<\/code> hittar du&nbsp;<code>Exec Console<\/code>. Om du vill ha en interaktiv terminal inuti containern kan du v\u00e4lja f\u00f6rvalet och k\u00f6ra &#8221;\/bin\/bash&#8221;. Du kan \u00e4ven specificera egna kommandon och vilke anv\u00e4nda i containern du vill \u00f6ppna terminalen som, men detta t\u00e4cks inte av denna guide.<\/p>\n\n\n\n<p>N\u00e4r du sedan trycker p\u00e5 <code>Connect<\/code> \u00f6ppnas en bash-terminal inuti containern och du kan utf\u00f6ra kommandon som vanligt, exempelvis&nbsp;<strong>ps aux<\/strong>&nbsp;som i exemplet ovan.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\"><em>Hur ser jag loggar fr\u00e5n mina containers f\u00f6r vidare fels\u00f6kning?<\/em><\/h5>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.oderland.se\/support\/wp-content\/uploads\/2023\/10\/image-2023-10-11_10-21-17.png\"><img loading=\"lazy\" decoding=\"async\" width=\"916\" height=\"767\" src=\"https:\/\/www.oderland.se\/support\/wp-content\/uploads\/2023\/10\/image-2023-10-11_10-21-17.png\" alt=\"\" class=\"wp-image-20041\" srcset=\"https:\/\/www.oderland.se\/support\/wp-content\/uploads\/2023\/10\/image-2023-10-11_10-21-17.png 916w, https:\/\/www.oderland.se\/support\/wp-content\/uploads\/2023\/10\/image-2023-10-11_10-21-17-300x251.png 300w, https:\/\/www.oderland.se\/support\/wp-content\/uploads\/2023\/10\/image-2023-10-11_10-21-17-768x643.png 768w, https:\/\/www.oderland.se\/support\/wp-content\/uploads\/2023\/10\/image-2023-10-11_10-21-17-50x42.png 50w, https:\/\/www.oderland.se\/support\/wp-content\/uploads\/2023\/10\/image-2023-10-11_10-21-17-60x50.png 60w, https:\/\/www.oderland.se\/support\/wp-content\/uploads\/2023\/10\/image-2023-10-11_10-21-17-100x84.png 100w\" sizes=\"auto, (max-width: 916px) 100vw, 916px\" \/><\/a><\/figure>\n\n\n\n<p>B\u00f6rja med att trycka p\u00e5 <code>Containers<\/code> i menyn till v\u00e4nster i Portainer. H\u00e4r ser du alla aktiva containers. Vi letar upp v\u00e5r, som om du f\u00f6ljt guiden heter <code>nextjs-app<\/code>, p\u00e5 samma rad i kolumnen <code>Quick Actions<\/code> hittar du&nbsp;<code>Logs<\/code>.<\/p>\n\n\n\n<p>I logs-verktyget kan du se en live-logg av vad programmet skriver ut, som du kan manipulera p\u00e5 olika vis, till exempel ladda ner kopior, pausa och inspektera individuella rader, med mera.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Vad \u00e4r Next.js \/ Nuxt.js \/ Gatsby \/ &#8221;JavaScript Ramverk&#8221;? Next,&nbsp;Nuxt,&nbsp;Gatsby&nbsp;och andra s\u00e5 kallade Javascript-ramverk \u00e4r en samlingsterm f\u00f6r en m\u00e4ngd intressanta tekniker inom modern webbutveckling, som l\u00e5ter utvecklare skapa applikationer som ser ut som och beter sig mer som en app i din iPhone \/ Android \u00e4n en traditionell&#8230;<\/p>\n","protected":false},"author":42,"comment_status":"open","ping_status":"closed","template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"ht-kb-category":[681],"ht-kb-tag":[],"class_list":["post-19996","ht_kb","type-ht_kb","status-publish","format-standard","hentry","ht_kb_category-cloud"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.oderland.se\/support\/wp-json\/wp\/v2\/ht-kb\/19996","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.oderland.se\/support\/wp-json\/wp\/v2\/ht-kb"}],"about":[{"href":"https:\/\/www.oderland.se\/support\/wp-json\/wp\/v2\/types\/ht_kb"}],"author":[{"embeddable":true,"href":"https:\/\/www.oderland.se\/support\/wp-json\/wp\/v2\/users\/42"}],"replies":[{"embeddable":true,"href":"https:\/\/www.oderland.se\/support\/wp-json\/wp\/v2\/comments?post=19996"}],"version-history":[{"count":17,"href":"https:\/\/www.oderland.se\/support\/wp-json\/wp\/v2\/ht-kb\/19996\/revisions"}],"predecessor-version":[{"id":20060,"href":"https:\/\/www.oderland.se\/support\/wp-json\/wp\/v2\/ht-kb\/19996\/revisions\/20060"}],"wp:attachment":[{"href":"https:\/\/www.oderland.se\/support\/wp-json\/wp\/v2\/media?parent=19996"}],"wp:term":[{"taxonomy":"ht_kb_category","embeddable":true,"href":"https:\/\/www.oderland.se\/support\/wp-json\/wp\/v2\/ht-kb-category?post=19996"},{"taxonomy":"ht_kb_tag","embeddable":true,"href":"https:\/\/www.oderland.se\/support\/wp-json\/wp\/v2\/ht-kb-tag?post=19996"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}