1 line
5.1 KiB
JavaScript
1 line
5.1 KiB
JavaScript
"use strict";(self.webpackChunkpingvindocs=self.webpackChunkpingvindocs||[]).push([[99],{3279:(n,e,t)=>{t.r(e),t.d(e,{assets:()=>a,contentTitle:()=>l,default:()=>h,frontMatter:()=>o,metadata:()=>r,toc:()=>c});var i=t(4848),s=t(8453);const o={id:"installation"},l="Installation",r={id:"setup/installation",title:"Installation",description:"Installation with Docker (recommended)",source:"@site/docs/setup/installation.md",sourceDirName:"setup",slug:"/setup/installation",permalink:"/pingvin-share/setup/installation",draft:!1,unlisted:!1,editUrl:"https://github.com/stonith404/pingvin-share/edit/main/docs/docs/setup/installation.md",tags:[],version:"current",frontMatter:{id:"installation"},sidebar:"docsSidebar",previous:{title:"Introduction",permalink:"/pingvin-share/introduction"},next:{title:"Configuration",permalink:"/pingvin-share/setup/configuration"}},a={},c=[{value:"Installation with Docker (recommended)",id:"installation-with-docker-recommended",level:3},{value:"Installation with Portainer",id:"installation-with-portainer",level:3},{value:"Stand-alone Installation",id:"stand-alone-installation",level:3}];function d(n){const e={a:"a",code:"code",h1:"h1",h3:"h3",header:"header",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,s.R)(),...n.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(e.header,{children:(0,i.jsx)(e.h1,{id:"installation",children:"Installation"})}),"\n",(0,i.jsx)(e.h3,{id:"installation-with-docker-recommended",children:"Installation with Docker (recommended)"}),"\n",(0,i.jsxs)(e.ol,{children:["\n",(0,i.jsxs)(e.li,{children:["Download the ",(0,i.jsx)(e.code,{children:"docker-compose.yml"})," file"]}),"\n",(0,i.jsxs)(e.li,{children:["Run ",(0,i.jsx)(e.code,{children:"docker compose up -d"})]}),"\n"]}),"\n",(0,i.jsxs)(e.p,{children:["The website is now listening on ",(0,i.jsx)(e.code,{children:"http://localhost:3000"}),", have fun with Pingvin Share \ud83d\udc27!"]}),"\n",(0,i.jsx)(e.h3,{id:"installation-with-portainer",children:"Installation with Portainer"}),"\n",(0,i.jsxs)(e.ol,{children:["\n",(0,i.jsxs)(e.li,{children:["In the ",(0,i.jsx)(e.strong,{children:"Stacks"})," menu, click the ",(0,i.jsx)(e.strong,{children:"Add stack"})," button"]}),"\n",(0,i.jsx)(e.li,{children:"Give you stack a name (ex. pingvinshare)"}),"\n",(0,i.jsxs)(e.li,{children:["In the web editor, paste the content of the ",(0,i.jsx)(e.a,{href:"https://github.com/stonith404/pingvin-share/blob/main/docker-compose.yml",children:"docker-compose"})," file."]}),"\n",(0,i.jsx)(e.li,{children:"Edit the external port and the environment variables (optional)."}),"\n",(0,i.jsxs)(e.li,{children:["Click on ",(0,i.jsx)(e.strong,{children:"Deploy the stack"}),"."]}),"\n"]}),"\n",(0,i.jsxs)(e.p,{children:["Your container is now listening on ",(0,i.jsx)(e.code,{children:"http://localhost:<externalport>"}),", have fun with Pingvin Share \ud83d\udc27!"]}),"\n",(0,i.jsx)(e.h3,{id:"stand-alone-installation",children:"Stand-alone Installation"}),"\n",(0,i.jsx)(e.p,{children:"Required tools:"}),"\n",(0,i.jsxs)(e.ul,{children:["\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.a,{href:"https://nodejs.org/en/download/",children:"Node.js"})," >= 16"]}),"\n",(0,i.jsx)(e.li,{children:(0,i.jsx)(e.a,{href:"https://git-scm.com/downloads",children:"Git"})}),"\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.a,{href:"https://pm2.keymetrics.io/",children:"pm2"})," for running Pingvin Share in the background"]}),"\n"]}),"\n",(0,i.jsx)(e.pre,{children:(0,i.jsx)(e.code,{className:"language-bash",children:'git clone https://github.com/stonith404/pingvin-share\ncd pingvin-share\n\n# Checkout the latest version\ngit fetch --tags && git checkout $(git describe --tags `git rev-list --tags --max-count=1`)\n\n# Start the backend\ncd backend\nnpm install\nnpm run build\npm2 start --name="pingvin-share-backend" npm -- run prod\n\n# Start the frontend\ncd ../frontend\nnpm install\nnpm run build\nAPI_URL=http://localhost:8080 # Set the URL of the backend, default: http://localhost:8080\npm2 start npm --name "pingvin-share-frontend" -- run start\n'})}),"\n",(0,i.jsxs)(e.p,{children:[(0,i.jsx)(e.strong,{children:"Uploading Large Files"}),": By default, Pingvin Share uses a built-in reverse proxy to reduce the installation steps. However, this reverse proxy is not optimized for uploading large files. If you wish to upload larger files, you can either use the Docker installation or set up your own reverse proxy. An example configuration for Caddy can be found in ",(0,i.jsx)(e.code,{children:"./reverse-proxy/Caddyfile"}),"."]}),"\n",(0,i.jsxs)(e.p,{children:["The website is now listening on ",(0,i.jsx)(e.code,{children:"http://localhost:3000"}),", have fun with Pingvin Share \ud83d\udc27!"]})]})}function h(n={}){const{wrapper:e}={...(0,s.R)(),...n.components};return e?(0,i.jsx)(e,{...n,children:(0,i.jsx)(d,{...n})}):d(n)}},8453:(n,e,t)=>{t.d(e,{R:()=>l,x:()=>r});var i=t(6540);const s={},o=i.createContext(s);function l(n){const e=i.useContext(o);return i.useMemo((function(){return"function"==typeof n?n(e):{...e,...n}}),[e,n])}function r(n){let e;return e=n.disableParentContext?"function"==typeof n.components?n.components(s):n.components||s:l(n.components),i.createElement(o.Provider,{value:e},n.children)}}}]); |