From 2244efd5b661c7751ee7e302f6b2ed268b9e5abc Mon Sep 17 00:00:00 2001 From: Elias Schneider Date: Wed, 18 Sep 2024 23:16:50 +0200 Subject: [PATCH] Deploy website - based on 67a0fc6ea5472e32bc407990f4bc7ec2a3459dfa --- 404.html | 2 +- .../{7cbc9cee.7d4363f8.js => 7cbc9cee.8d3bed9a.js} | 2 +- assets/js/a0d20388.a0711e8e.js | 1 - assets/js/a0d20388.e02cf408.js | 1 + .../{a8c31fc1.c8117025.js => a8c31fc1.8d1b5b0b.js} | 2 +- assets/js/runtime~main.62d8db8e.js | 1 - assets/js/runtime~main.8fa4a39a.js | 1 + help-out/contribute/index.html | 2 +- help-out/translate/index.html | 2 +- index.html | 2 +- introduction/index.html | 2 +- setup/configuration/index.html | 2 +- setup/installation/index.html | 4 ++-- setup/integrations/index.html | 14 ++++++++++---- setup/oauth2login/index.html | 2 +- setup/upgrading/index.html | 2 +- 16 files changed, 24 insertions(+), 18 deletions(-) rename assets/js/{7cbc9cee.7d4363f8.js => 7cbc9cee.8d3bed9a.js} (88%) delete mode 100644 assets/js/a0d20388.a0711e8e.js create mode 100644 assets/js/a0d20388.e02cf408.js rename assets/js/{a8c31fc1.c8117025.js => a8c31fc1.8d1b5b0b.js} (77%) delete mode 100644 assets/js/runtime~main.62d8db8e.js create mode 100644 assets/js/runtime~main.8fa4a39a.js diff --git a/404.html b/404.html index f45e8cc..17433c0 100644 --- a/404.html +++ b/404.html @@ -4,7 +4,7 @@ Pingvin Share - + diff --git a/assets/js/7cbc9cee.7d4363f8.js b/assets/js/7cbc9cee.8d3bed9a.js similarity index 88% rename from assets/js/7cbc9cee.7d4363f8.js rename to assets/js/7cbc9cee.8d3bed9a.js index d251d1a..374b867 100644 --- a/assets/js/7cbc9cee.7d4363f8.js +++ b/assets/js/7cbc9cee.8d3bed9a.js @@ -1 +1 @@ -"use strict";(self.webpackChunkpingvindocs=self.webpackChunkpingvindocs||[]).push([[862],{4388:e=>{e.exports=JSON.parse('{"version":{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"docsSidebar":[{"type":"link","label":"Introduction","href":"/pingvin-share/introduction","docId":"introduction","unlisted":false},{"type":"category","label":"Getting Started","items":[{"type":"link","label":"Installation","href":"/pingvin-share/setup/installation","docId":"setup/installation","unlisted":false},{"type":"link","label":"Configuration","href":"/pingvin-share/setup/configuration","docId":"setup/configuration","unlisted":false},{"type":"link","label":"Integrations","href":"/pingvin-share/setup/integrations","docId":"setup/integrations","unlisted":false},{"type":"link","label":"OAuth 2 Login Guide","href":"/pingvin-share/setup/oauth2login","docId":"setup/oauth2login","unlisted":false},{"type":"link","label":"Upgrading","href":"/pingvin-share/setup/upgrading","docId":"setup/upgrading","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Helping Out","items":[{"type":"link","label":"Translating","href":"/pingvin-share/help-out/translate","docId":"help-out/translate","unlisted":false},{"type":"link","label":"Contributing","href":"/pingvin-share/help-out/contribute","docId":"help-out/contribute","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"link","label":"Discord","href":"https://discord.gg/HutpbfB59Q"}]},"docs":{"help-out/contribute":{"id":"help-out/contribute","title":"Contributing","description":"We would \u2764\ufe0f for you to contribute to Pingvin Share and help make it better! All contributions are welcome, including issues, suggestions, pull requests and more.","sidebar":"docsSidebar"},"help-out/translate":{"id":"help-out/translate","title":"Translating","description":"You can help to translate Pingvin Share into your language.","sidebar":"docsSidebar"},"introduction":{"id":"introduction","title":"Introduction","description":"Pingvin Share is self-hosted file sharing platform and an alternative for WeTransfer.","sidebar":"docsSidebar"},"setup/configuration":{"id":"setup/configuration","title":"Configuration","description":"You can customize Pingvin Share by going to the configuration page in your admin dashboard /admin/config.","sidebar":"docsSidebar"},"setup/installation":{"id":"setup/installation","title":"Installation","description":"Installation with Docker (recommended)","sidebar":"docsSidebar"},"setup/integrations":{"id":"setup/integrations","title":"Integrations","description":"ClamAV (Docker only)","sidebar":"docsSidebar"},"setup/oauth2login":{"id":"setup/oauth2login","title":"OAuth 2 Login Guide","description":"Config Built-in OAuth 2 Providers","sidebar":"docsSidebar"},"setup/upgrading":{"id":"setup/upgrading","title":"Upgrading","description":"Upgrade to a new version","sidebar":"docsSidebar"}}}}')}}]); \ No newline at end of file +"use strict";(self.webpackChunkpingvindocs=self.webpackChunkpingvindocs||[]).push([[862],{4388:e=>{e.exports=JSON.parse('{"version":{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"docsSidebar":[{"type":"link","label":"Introduction","href":"/pingvin-share/introduction","docId":"introduction","unlisted":false},{"type":"category","label":"Getting Started","items":[{"type":"link","label":"Installation","href":"/pingvin-share/setup/installation","docId":"setup/installation","unlisted":false},{"type":"link","label":"Configuration","href":"/pingvin-share/setup/configuration","docId":"setup/configuration","unlisted":false},{"type":"link","label":"Integrations","href":"/pingvin-share/setup/integrations","docId":"setup/integrations","unlisted":false},{"type":"link","label":"OAuth 2 Login Guide","href":"/pingvin-share/setup/oauth2login","docId":"setup/oauth2login","unlisted":false},{"type":"link","label":"Upgrading","href":"/pingvin-share/setup/upgrading","docId":"setup/upgrading","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Helping Out","items":[{"type":"link","label":"Translating","href":"/pingvin-share/help-out/translate","docId":"help-out/translate","unlisted":false},{"type":"link","label":"Contributing","href":"/pingvin-share/help-out/contribute","docId":"help-out/contribute","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"link","label":"Discord","href":"https://discord.gg/HutpbfB59Q"}]},"docs":{"help-out/contribute":{"id":"help-out/contribute","title":"Contributing","description":"We would \u2764\ufe0f for you to contribute to Pingvin Share and help make it better! All contributions are welcome, including issues, suggestions, pull requests and more.","sidebar":"docsSidebar"},"help-out/translate":{"id":"help-out/translate","title":"Translating","description":"You can help to translate Pingvin Share into your language.","sidebar":"docsSidebar"},"introduction":{"id":"introduction","title":"Introduction","description":"Pingvin Share is self-hosted file sharing platform and an alternative for WeTransfer.","sidebar":"docsSidebar"},"setup/configuration":{"id":"setup/configuration","title":"Configuration","description":"You can customize Pingvin Share by going to the configuration page in your admin dashboard /admin/config.","sidebar":"docsSidebar"},"setup/installation":{"id":"setup/installation","title":"Installation","description":"Installation with Docker (recommended)","sidebar":"docsSidebar"},"setup/integrations":{"id":"setup/integrations","title":"Integrations","description":"ClamAV","sidebar":"docsSidebar"},"setup/oauth2login":{"id":"setup/oauth2login","title":"OAuth 2 Login Guide","description":"Config Built-in OAuth 2 Providers","sidebar":"docsSidebar"},"setup/upgrading":{"id":"setup/upgrading","title":"Upgrading","description":"Upgrade to a new version","sidebar":"docsSidebar"}}}}')}}]); \ No newline at end of file diff --git a/assets/js/a0d20388.a0711e8e.js b/assets/js/a0d20388.a0711e8e.js deleted file mode 100644 index 2334cd5..0000000 --- a/assets/js/a0d20388.a0711e8e.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkpingvindocs=self.webpackChunkpingvindocs||[]).push([[537],{7744:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>s,metadata:()=>a,toc:()=>l});var i=t(4848),o=t(8453);const s={id:"integrations"},r="Integrations",a={id:"setup/integrations",title:"Integrations",description:"ClamAV (Docker only)",source:"@site/docs/setup/integrations.md",sourceDirName:"setup",slug:"/setup/integrations",permalink:"/pingvin-share/setup/integrations",draft:!1,unlisted:!1,editUrl:"https://github.com/stonith404/pingvin-share/edit/main/docs/docs/setup/integrations.md",tags:[],version:"current",frontMatter:{id:"integrations"},sidebar:"docsSidebar",previous:{title:"Configuration",permalink:"/pingvin-share/setup/configuration"},next:{title:"OAuth 2 Login Guide",permalink:"/pingvin-share/setup/oauth2login"}},c={},l=[{value:"ClamAV (Docker only)",id:"clamav-docker-only",level:4}];function d(e){const n={a:"a",code:"code",h1:"h1",h4:"h4",header:"header",li:"li",ol:"ol",p:"p",...(0,o.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.header,{children:(0,i.jsx)(n.h1,{id:"integrations",children:"Integrations"})}),"\n",(0,i.jsx)(n.h4,{id:"clamav-docker-only",children:"ClamAV (Docker only)"}),"\n",(0,i.jsx)(n.p,{children:"ClamAV is used to scan shares for malicious files and remove them if found."}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsxs)(n.li,{children:["Add the ClamAV container to the Docker Compose stack (see ",(0,i.jsx)(n.code,{children:"docker-compose.yml"}),") and start the container."]}),"\n",(0,i.jsx)(n.li,{children:"Docker will wait for ClamAV to start before starting Pingvin Share. This may take a minute or two."}),"\n",(0,i.jsx)(n.li,{children:'The Pingvin Share logs should now log "ClamAV is active"'}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Please note that ClamAV needs a lot of ",(0,i.jsx)(n.a,{href:"https://docs.clamav.net/manual/Installing/Docker.html#memory-ram-requirements",children:"ressources"}),"."]})]})}function h(e={}){const{wrapper:n}={...(0,o.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>r,x:()=>a});var i=t(6540);const o={},s=i.createContext(o);function r(e){const n=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),i.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/a0d20388.e02cf408.js b/assets/js/a0d20388.e02cf408.js new file mode 100644 index 0000000..cabc202 --- /dev/null +++ b/assets/js/a0d20388.e02cf408.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkpingvindocs=self.webpackChunkpingvindocs||[]).push([[537],{7744:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>o,default:()=>h,frontMatter:()=>r,metadata:()=>a,toc:()=>c});var i=t(4848),s=t(8453);const r={id:"integrations"},o="Integrations",a={id:"setup/integrations",title:"Integrations",description:"ClamAV",source:"@site/docs/setup/integrations.md",sourceDirName:"setup",slug:"/setup/integrations",permalink:"/pingvin-share/setup/integrations",draft:!1,unlisted:!1,editUrl:"https://github.com/stonith404/pingvin-share/edit/main/docs/docs/setup/integrations.md",tags:[],version:"current",frontMatter:{id:"integrations"},sidebar:"docsSidebar",previous:{title:"Configuration",permalink:"/pingvin-share/setup/configuration"},next:{title:"OAuth 2 Login Guide",permalink:"/pingvin-share/setup/oauth2login"}},l={},c=[{value:"ClamAV",id:"clamav",level:4}];function d(e){const n={a:"a",blockquote:"blockquote",code:"code",em:"em",h1:"h1",h4:"h4",header:"header",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",...(0,s.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.header,{children:(0,i.jsx)(n.h1,{id:"integrations",children:"Integrations"})}),"\n",(0,i.jsx)(n.h4,{id:"clamav",children:"ClamAV"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:(0,i.jsx)(n.em,{children:"NOTE:"})})," Currently ClamAV is only available in the Docker installation."]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"ClamAV is used to scan shares for malicious files and remove them if found."}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsx)(n.li,{children:"Add the ClamAV container to the Docker Compose stack and start the container."}),"\n"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-diff",children:"services:\n pingvin-share:\n image: stonith404/pingvin-share\n ...\n+ depends_on:\n+ clamav:\n+ condition: service_healthy\n\n+ clamav:\n+ restart: unless-stopped\n+ image: clamav/clamav\n\n"})}),"\n",(0,i.jsxs)(n.ol,{start:"2",children:["\n",(0,i.jsx)(n.li,{children:"Docker will wait for ClamAV to start before starting Pingvin Share. This may take a minute or two."}),"\n",(0,i.jsx)(n.li,{children:'The Pingvin Share logs should now log "ClamAV is active"'}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Please note that ClamAV needs a lot of ",(0,i.jsx)(n.a,{href:"https://docs.clamav.net/manual/Installing/Docker.html#memory-ram-requirements",children:"ressources"}),"."]})]})}function h(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>o,x:()=>a});var i=t(6540);const s={},r=i.createContext(s);function o(e){const n=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),i.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/a8c31fc1.c8117025.js b/assets/js/a8c31fc1.8d1b5b0b.js similarity index 77% rename from assets/js/a8c31fc1.c8117025.js rename to assets/js/a8c31fc1.8d1b5b0b.js index 2c2068e..bf0d0ce 100644 --- a/assets/js/a8c31fc1.c8117025.js +++ b/assets/js/a8c31fc1.8d1b5b0b.js @@ -1 +1 @@ -"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:()=>d});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={},d=[{value:"Installation with Docker (recommended)",id:"installation-with-docker-recommended",level:3},{value:"Stand-alone Installation",id:"stand-alone-installation",level:3}];function c(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:"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 --name="pingvin-share-frontend" .next/standalone/server.js\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:"./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)(c,{...n})}):c(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)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkpingvindocs=self.webpackChunkpingvindocs||[]).push([[99],{3279:(n,e,t)=>{t.r(e),t.d(e,{assets:()=>a,contentTitle:()=>r,default:()=>h,frontMatter:()=>o,metadata:()=>l,toc:()=>d});var i=t(4848),s=t(8453);const o={id:"installation"},r="Installation",l={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={},d=[{value:"Installation with Docker (recommended)",id:"installation-with-docker-recommended",level:3},{value:"Stand-alone Installation",id:"stand-alone-installation",level:3}];function c(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:"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 --name="pingvin-share-frontend" .next/standalone/server.js\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)(c,{...n})}):c(n)}},8453:(n,e,t)=>{t.d(e,{R:()=>r,x:()=>l});var i=t(6540);const s={},o=i.createContext(s);function r(n){const e=i.useContext(o);return i.useMemo((function(){return"function"==typeof n?n(e):{...e,...n}}),[e,n])}function l(n){let e;return e=n.disableParentContext?"function"==typeof n.components?n.components(s):n.components||s:r(n.components),i.createElement(o.Provider,{value:e},n.children)}}}]); \ No newline at end of file diff --git a/assets/js/runtime~main.62d8db8e.js b/assets/js/runtime~main.62d8db8e.js deleted file mode 100644 index a5ea41d..0000000 --- a/assets/js/runtime~main.62d8db8e.js +++ /dev/null @@ -1 +0,0 @@ -(()=>{"use strict";var e,t,r,a,o,n={},i={};function c(e){var t=i[e];if(void 0!==t)return t.exports;var r=i[e]={id:e,loaded:!1,exports:{}};return n[e].call(r.exports,r,r.exports,c),r.loaded=!0,r.exports}c.m=n,c.c=i,e=[],c.O=(t,r,a,o)=>{if(!r){var n=1/0;for(u=0;u=o)&&Object.keys(c.O).every((e=>c.O[e](r[d])))?r.splice(d--,1):(i=!1,o0&&e[u-1][2]>o;u--)e[u]=e[u-1];e[u]=[r,a,o]},c.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return c.d(t,{a:t}),t},r=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,c.t=function(e,a){if(1&a&&(e=this(e)),8&a)return e;if("object"==typeof e&&e){if(4&a&&e.__esModule)return e;if(16&a&&"function"==typeof e.then)return e}var o=Object.create(null);c.r(o);var n={};t=t||[null,r({}),r([]),r(r)];for(var i=2&a&&e;"object"==typeof i&&!~t.indexOf(i);i=r(i))Object.getOwnPropertyNames(i).forEach((t=>n[t]=()=>e[t]));return n.default=()=>e,c.d(o,n),o},c.d=(e,t)=>{for(var r in t)c.o(t,r)&&!c.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},c.f={},c.e=e=>Promise.all(Object.keys(c.f).reduce(((t,r)=>(c.f[r](e,t),t)),[])),c.u=e=>"assets/js/"+({48:"a94703ab",98:"a7bd4aaa",99:"a8c31fc1",126:"d131c913",235:"a7456010",361:"3205bd6d",401:"17896441",537:"a0d20388",583:"1df93b7f",647:"5e95c892",723:"91b3cb8d",742:"aba21aa0",819:"3f2e6990",862:"7cbc9cee",863:"63b14240",899:"a09c2993"}[e]||e)+"."+{48:"78fc18a9",98:"3d51fbb4",99:"c8117025",126:"d12f6829",235:"91f0b3e9",237:"f947e7e3",361:"f89c2512",401:"402e11f1",537:"a0711e8e",583:"2d1029fa",647:"59168106",723:"073a48e1",742:"ad2b3c84",819:"8d1f4d5e",862:"7d4363f8",863:"e94c1db4",899:"e0cc7812"}[e]+".js",c.miniCssF=e=>{},c.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),c.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),a={},o="pingvindocs:",c.l=(e,t,r,n)=>{if(a[e])a[e].push(t);else{var i,d;if(void 0!==r)for(var f=document.getElementsByTagName("script"),u=0;u{i.onerror=i.onload=null,clearTimeout(s);var o=a[e];if(delete a[e],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach((e=>e(r))),t)return t(r)},s=setTimeout(b.bind(null,void 0,{type:"timeout",target:i}),12e4);i.onerror=b.bind(null,i.onerror),i.onload=b.bind(null,i.onload),d&&document.head.appendChild(i)}},c.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},c.p="/pingvin-share/",c.gca=function(e){return e={17896441:"401",a94703ab:"48",a7bd4aaa:"98",a8c31fc1:"99",d131c913:"126",a7456010:"235","3205bd6d":"361",a0d20388:"537","1df93b7f":"583","5e95c892":"647","91b3cb8d":"723",aba21aa0:"742","3f2e6990":"819","7cbc9cee":"862","63b14240":"863",a09c2993:"899"}[e]||e,c.p+c.u(e)},(()=>{var e={354:0,869:0};c.f.j=(t,r)=>{var a=c.o(e,t)?e[t]:void 0;if(0!==a)if(a)r.push(a[2]);else if(/^(354|869)$/.test(t))e[t]=0;else{var o=new Promise(((r,o)=>a=e[t]=[r,o]));r.push(a[2]=o);var n=c.p+c.u(t),i=new Error;c.l(n,(r=>{if(c.o(e,t)&&(0!==(a=e[t])&&(e[t]=void 0),a)){var o=r&&("load"===r.type?"missing":r.type),n=r&&r.target&&r.target.src;i.message="Loading chunk "+t+" failed.\n("+o+": "+n+")",i.name="ChunkLoadError",i.type=o,i.request=n,a[1](i)}}),"chunk-"+t,t)}},c.O.j=t=>0===e[t];var t=(t,r)=>{var a,o,n=r[0],i=r[1],d=r[2],f=0;if(n.some((t=>0!==e[t]))){for(a in i)c.o(i,a)&&(c.m[a]=i[a]);if(d)var u=d(c)}for(t&&t(r);f{"use strict";var e,t,r,a,o,n={},i={};function d(e){var t=i[e];if(void 0!==t)return t.exports;var r=i[e]={id:e,loaded:!1,exports:{}};return n[e].call(r.exports,r,r.exports,d),r.loaded=!0,r.exports}d.m=n,d.c=i,e=[],d.O=(t,r,a,o)=>{if(!r){var n=1/0;for(u=0;u=o)&&Object.keys(d.O).every((e=>d.O[e](r[c])))?r.splice(c--,1):(i=!1,o0&&e[u-1][2]>o;u--)e[u]=e[u-1];e[u]=[r,a,o]},d.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return d.d(t,{a:t}),t},r=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,d.t=function(e,a){if(1&a&&(e=this(e)),8&a)return e;if("object"==typeof e&&e){if(4&a&&e.__esModule)return e;if(16&a&&"function"==typeof e.then)return e}var o=Object.create(null);d.r(o);var n={};t=t||[null,r({}),r([]),r(r)];for(var i=2&a&&e;"object"==typeof i&&!~t.indexOf(i);i=r(i))Object.getOwnPropertyNames(i).forEach((t=>n[t]=()=>e[t]));return n.default=()=>e,d.d(o,n),o},d.d=(e,t)=>{for(var r in t)d.o(t,r)&&!d.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},d.f={},d.e=e=>Promise.all(Object.keys(d.f).reduce(((t,r)=>(d.f[r](e,t),t)),[])),d.u=e=>"assets/js/"+({48:"a94703ab",98:"a7bd4aaa",99:"a8c31fc1",126:"d131c913",235:"a7456010",361:"3205bd6d",401:"17896441",537:"a0d20388",583:"1df93b7f",647:"5e95c892",723:"91b3cb8d",742:"aba21aa0",819:"3f2e6990",862:"7cbc9cee",863:"63b14240",899:"a09c2993"}[e]||e)+"."+{48:"78fc18a9",98:"3d51fbb4",99:"8d1b5b0b",126:"d12f6829",235:"91f0b3e9",237:"f947e7e3",361:"f89c2512",401:"402e11f1",537:"e02cf408",583:"2d1029fa",647:"59168106",723:"073a48e1",742:"ad2b3c84",819:"8d1f4d5e",862:"8d3bed9a",863:"e94c1db4",899:"e0cc7812"}[e]+".js",d.miniCssF=e=>{},d.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),d.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),a={},o="pingvindocs:",d.l=(e,t,r,n)=>{if(a[e])a[e].push(t);else{var i,c;if(void 0!==r)for(var f=document.getElementsByTagName("script"),u=0;u{i.onerror=i.onload=null,clearTimeout(s);var o=a[e];if(delete a[e],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach((e=>e(r))),t)return t(r)},s=setTimeout(b.bind(null,void 0,{type:"timeout",target:i}),12e4);i.onerror=b.bind(null,i.onerror),i.onload=b.bind(null,i.onload),c&&document.head.appendChild(i)}},d.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},d.p="/pingvin-share/",d.gca=function(e){return e={17896441:"401",a94703ab:"48",a7bd4aaa:"98",a8c31fc1:"99",d131c913:"126",a7456010:"235","3205bd6d":"361",a0d20388:"537","1df93b7f":"583","5e95c892":"647","91b3cb8d":"723",aba21aa0:"742","3f2e6990":"819","7cbc9cee":"862","63b14240":"863",a09c2993:"899"}[e]||e,d.p+d.u(e)},(()=>{var e={354:0,869:0};d.f.j=(t,r)=>{var a=d.o(e,t)?e[t]:void 0;if(0!==a)if(a)r.push(a[2]);else if(/^(354|869)$/.test(t))e[t]=0;else{var o=new Promise(((r,o)=>a=e[t]=[r,o]));r.push(a[2]=o);var n=d.p+d.u(t),i=new Error;d.l(n,(r=>{if(d.o(e,t)&&(0!==(a=e[t])&&(e[t]=void 0),a)){var o=r&&("load"===r.type?"missing":r.type),n=r&&r.target&&r.target.src;i.message="Loading chunk "+t+" failed.\n("+o+": "+n+")",i.name="ChunkLoadError",i.type=o,i.request=n,a[1](i)}}),"chunk-"+t,t)}},d.O.j=t=>0===e[t];var t=(t,r)=>{var a,o,n=r[0],i=r[1],c=r[2],f=0;if(n.some((t=>0!==e[t]))){for(a in i)d.o(i,a)&&(d.m[a]=i[a]);if(c)var u=c(d)}for(t&&t(r);f Contributing | Pingvin Share - + diff --git a/help-out/translate/index.html b/help-out/translate/index.html index bcc63e9..334bbd0 100644 --- a/help-out/translate/index.html +++ b/help-out/translate/index.html @@ -4,7 +4,7 @@ Translating | Pingvin Share - + diff --git a/index.html b/index.html index ebfbf46..83867f8 100644 --- a/index.html +++ b/index.html @@ -4,7 +4,7 @@ Pingvin Share - + diff --git a/introduction/index.html b/introduction/index.html index dbc8b41..7a79ef0 100644 --- a/introduction/index.html +++ b/introduction/index.html @@ -4,7 +4,7 @@ Introduction | Pingvin Share - + diff --git a/setup/configuration/index.html b/setup/configuration/index.html index f8ef1e3..555b92a 100644 --- a/setup/configuration/index.html +++ b/setup/configuration/index.html @@ -4,7 +4,7 @@ Configuration | Pingvin Share - + diff --git a/setup/installation/index.html b/setup/installation/index.html index 8acd15e..9dc5c15 100644 --- a/setup/installation/index.html +++ b/setup/installation/index.html @@ -4,7 +4,7 @@ Installation | Pingvin Share - + @@ -23,7 +23,7 @@
  • pm2 for running Pingvin Share in the background
  • git clone https://github.com/stonith404/pingvin-share
    cd pingvin-share

    # Checkout the latest version
    git fetch --tags && git checkout $(git describe --tags `git rev-list --tags --max-count=1`)

    # Start the backend
    cd backend
    npm install
    npm run build
    pm2 start --name="pingvin-share-backend" npm -- run prod

    # Start the frontend
    cd ../frontend
    npm install
    npm run build
    API_URL=http://localhost:8080 # Set the URL of the backend, default: http://localhost:8080
    pm2 start --name="pingvin-share-frontend" .next/standalone/server.js
    -

    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 ./Caddyfile.

    +

    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 ./reverse-proxy/Caddyfile.

    The website is now listening on http://localhost:3000, have fun with Pingvin Share 🐧!

    \ No newline at end of file diff --git a/setup/integrations/index.html b/setup/integrations/index.html index 02c874b..dbfe98c 100644 --- a/setup/integrations/index.html +++ b/setup/integrations/index.html @@ -3,16 +3,22 @@ -Integrations | Pingvin Share - +Integrations | Pingvin Share +

    Integrations

    -

    ClamAV (Docker only)

    +

    ClamAV

    +
    +

    NOTE: Currently ClamAV is only available in the Docker installation.

    +

    ClamAV is used to scan shares for malicious files and remove them if found.

      -
    1. Add the ClamAV container to the Docker Compose stack (see docker-compose.yml) and start the container.
    2. +
    3. Add the ClamAV container to the Docker Compose stack and start the container.
    4. +
    +
    services:
    pingvin-share:
    image: stonith404/pingvin-share
    ...
    + depends_on:
    + clamav:
    + condition: service_healthy

    + clamav:
    + restart: unless-stopped
    + image: clamav/clamav

    +
    1. Docker will wait for ClamAV to start before starting Pingvin Share. This may take a minute or two.
    2. The Pingvin Share logs should now log "ClamAV is active"
    diff --git a/setup/oauth2login/index.html b/setup/oauth2login/index.html index 6403263..36a63a4 100644 --- a/setup/oauth2login/index.html +++ b/setup/oauth2login/index.html @@ -4,7 +4,7 @@ OAuth 2 Login Guide | Pingvin Share - + diff --git a/setup/upgrading/index.html b/setup/upgrading/index.html index f02eeac..ba400cf 100644 --- a/setup/upgrading/index.html +++ b/setup/upgrading/index.html @@ -4,7 +4,7 @@ Upgrading | Pingvin Share - +