From 21ebb64e5836885f70f64f434daf211db9801b22 Mon Sep 17 00:00:00 2001 From: Elias Schneider Date: Thu, 19 Sep 2024 08:35:39 +0200 Subject: [PATCH] Deploy website - based on 64acae11a26c700a61be369599975c28508679cc --- 404.html | 2 +- assets/js/a0d20388.9147194f.js | 1 + assets/js/a0d20388.e02cf408.js | 1 - assets/js/d131c913.8cbc7b3f.js | 1 + assets/js/d131c913.d12f6829.js | 1 - ...ain.8fa4a39a.js => runtime~main.d294e35f.js} | 2 +- help-out/contribute/index.html | 2 +- help-out/translate/index.html | 2 +- index.html | 2 +- introduction/index.html | 2 +- setup/configuration/index.html | 4 ++-- setup/installation/index.html | 2 +- setup/integrations/index.html | 17 +++++++++++------ setup/oauth2login/index.html | 2 +- setup/upgrading/index.html | 2 +- 15 files changed, 24 insertions(+), 19 deletions(-) create mode 100644 assets/js/a0d20388.9147194f.js delete mode 100644 assets/js/a0d20388.e02cf408.js create mode 100644 assets/js/d131c913.8cbc7b3f.js delete mode 100644 assets/js/d131c913.d12f6829.js rename assets/js/{runtime~main.8fa4a39a.js => runtime~main.d294e35f.js} (96%) diff --git a/404.html b/404.html index 17433c0..18e28d8 100644 --- a/404.html +++ b/404.html @@ -4,7 +4,7 @@ Pingvin Share - + diff --git a/assets/js/a0d20388.9147194f.js b/assets/js/a0d20388.9147194f.js new file mode 100644 index 0000000..fc7b6ca --- /dev/null +++ b/assets/js/a0d20388.9147194f.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:()=>r,default:()=>h,frontMatter:()=>a,metadata:()=>o,toc:()=>c});var i=t(4848),s=t(8453);const a={id:"integrations"},r="Integrations",o={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:2},{value:"Docker",id:"docker",level:3},{value:"Stand-Alone",id:"stand-alone",level:3}];function d(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",ol:"ol",p:"p",pre:"pre",...(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.h2,{id:"clamav",children:"ClamAV"}),"\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.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"}),"."]}),"\n",(0,i.jsx)(n.h3,{id:"docker",children:"Docker"}),"\n",(0,i.jsxs)(n.p,{children:["If you are already running ClamAV elsewhere, you can specify the ",(0,i.jsx)(n.code,{children:"CLAMAV_HOST"})," environment variable to point to that instance."]}),"\n",(0,i.jsx)(n.p,{children:"Else you have to add the ClamAV container to the Pingvin Share Docker Compose stack:"}),"\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.jsx)(n.h3,{id:"stand-alone",children:"Stand-Alone"}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsx)(n.li,{children:"Install ClamAV"}),"\n",(0,i.jsxs)(n.li,{children:["Specify the ",(0,i.jsx)(n.code,{children:"CLAMAV_HOST"})," environment variable for the backend and restart the Pingvin Share backend."]}),"\n"]})]})}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:()=>r,x:()=>o});var i=t(6540);const s={},a=i.createContext(s);function r(e){const n=i.useContext(a);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),i.createElement(a.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 deleted file mode 100644 index cabc202..0000000 --- a/assets/js/a0d20388.e02cf408.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:()=>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/d131c913.8cbc7b3f.js b/assets/js/d131c913.8cbc7b3f.js new file mode 100644 index 0000000..ab91e44 --- /dev/null +++ b/assets/js/d131c913.8cbc7b3f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkpingvindocs=self.webpackChunkpingvindocs||[]).push([[126],{3833:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>h,contentTitle:()=>s,default:()=>l,frontMatter:()=>d,metadata:()=>o,toc:()=>c});var r=i(4848),t=i(8453);const d={id:"configuration"},s="Configuration",o={id:"setup/configuration",title:"Configuration",description:"You can customize Pingvin Share by going to the configuration page in your admin dashboard /admin/config.",source:"@site/docs/setup/configuration.md",sourceDirName:"setup",slug:"/setup/configuration",permalink:"/pingvin-share/setup/configuration",draft:!1,unlisted:!1,editUrl:"https://github.com/stonith404/pingvin-share/edit/main/docs/docs/setup/configuration.md",tags:[],version:"current",frontMatter:{id:"configuration"},sidebar:"docsSidebar",previous:{title:"Installation",permalink:"/pingvin-share/setup/installation"},next:{title:"Integrations",permalink:"/pingvin-share/setup/integrations"}},h={},c=[{value:"General",id:"general",level:2},{value:"App name",id:"app-name",level:3},{value:"App URL",id:"app-url",level:3},{value:"Show home page",id:"show-home-page",level:3},{value:"Logo",id:"logo",level:3},{value:"Environment variables",id:"environment-variables",level:3},{value:"Backend",id:"backend",level:4},{value:"Frontend",id:"frontend",level:4},{value:"Reverse Proxy (inside the Docker container)",id:"reverse-proxy-inside-the-docker-container",level:4}];function a(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",header:"header",hr:"hr",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,t.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.header,{children:(0,r.jsx)(n.h1,{id:"configuration",children:"Configuration"})}),"\n",(0,r.jsxs)(n.p,{children:["You can customize Pingvin Share by going to the configuration page in your admin dashboard ",(0,r.jsx)(n.code,{children:"/admin/config"}),"."]}),"\n",(0,r.jsx)(n.h2,{id:"general",children:"General"}),"\n",(0,r.jsxs)(n.p,{children:["The ",(0,r.jsx)(n.strong,{children:"General"})," Tab will let you customize your Pingvin Share instance to your liking."]}),"\n",(0,r.jsx)(n.h3,{id:"app-name",children:"App name"}),"\n",(0,r.jsxs)(n.p,{children:["To change the name of your instance, insert any text into ",(0,r.jsx)(n.code,{children:"App name"}),"."]}),"\n",(0,r.jsx)(n.h3,{id:"app-url",children:"App URL"}),"\n",(0,r.jsxs)(n.p,{children:["To make your App available trough your own ",(0,r.jsx)(n.strong,{children:"domain"}),", insert your specific domain and also subdomain if needed. Add an ",(0,r.jsx)(n.code,{children:"https://"})," if you have an SSL certificate installed. If this is not the case, use ",(0,r.jsx)(n.code,{children:"http://"}),"."]}),"\n",(0,r.jsx)(n.h3,{id:"show-home-page",children:"Show home page"}),"\n",(0,r.jsxs)(n.p,{children:["If you don't like the ",(0,r.jsx)(n.strong,{children:"home page"})," Pingvin Share provides and you just want the upload tab to be the main page, toggle this to ",(0,r.jsx)(n.code,{children:"true"}),"."]}),"\n",(0,r.jsx)(n.h3,{id:"logo",children:"Logo"}),"\n",(0,r.jsxs)(n.p,{children:["Not only you can change your instances name, but also the logo it shows everywhere. To do that, upload an image as ",(0,r.jsx)(n.code,{children:"png"})," with a 1:1 aspect ratio."]}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"environment-variables",children:"Environment variables"}),"\n",(0,r.jsx)(n.p,{children:"For installation specific configuration, you can use environment variables. The following variables are available:"}),"\n",(0,r.jsx)(n.h4,{id:"backend",children:"Backend"}),"\n",(0,r.jsxs)(n.table,{children:[(0,r.jsx)(n.thead,{children:(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.th,{children:"Variable"}),(0,r.jsx)(n.th,{children:"Default Value"}),(0,r.jsx)(n.th,{children:"Description"})]})}),(0,r.jsxs)(n.tbody,{children:[(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"PORT"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"8080"})}),(0,r.jsx)(n.td,{children:"The port on which the backend listens."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"DATABASE_URL"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"file:../data/pingvin-share.db?connection_limit=1"})}),(0,r.jsx)(n.td,{children:"The URL of the SQLite database."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"DATA_DIRECTORY"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"./data"})}),(0,r.jsx)(n.td,{children:"The directory where data is stored."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"CLAMAV_HOST"})}),(0,r.jsxs)(n.td,{children:[(0,r.jsx)(n.code,{children:"127.0.0.1"})," or ",(0,r.jsx)(n.code,{children:"clamav"})," when running with Docker"]}),(0,r.jsxs)(n.td,{children:["The IP address of the ClamAV server. See the ",(0,r.jsx)(n.a,{href:"/pingvin-share/setup/integrations#clamav",children:"ClamAV docs"})," for more information."]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"CLAMAV_PORT"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"3310"})}),(0,r.jsx)(n.td,{children:"The port number of the ClamAV server."})]})]})]}),"\n",(0,r.jsx)(n.h4,{id:"frontend",children:"Frontend"}),"\n",(0,r.jsxs)(n.table,{children:[(0,r.jsx)(n.thead,{children:(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.th,{children:"Variable"}),(0,r.jsx)(n.th,{children:"Default Value"}),(0,r.jsx)(n.th,{children:"Description"})]})}),(0,r.jsxs)(n.tbody,{children:[(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"PORT"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"3000"})}),(0,r.jsx)(n.td,{children:"The port on which the frontend listens."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"API_URL"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"http://localhost:8080"})}),(0,r.jsx)(n.td,{children:"The URL of the backend for the frontend."})]})]})]}),"\n",(0,r.jsx)(n.h4,{id:"reverse-proxy-inside-the-docker-container",children:"Reverse Proxy (inside the Docker container)"}),"\n",(0,r.jsxs)(n.table,{children:[(0,r.jsx)(n.thead,{children:(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.th,{children:"Variable"}),(0,r.jsx)(n.th,{children:"Default Value"}),(0,r.jsx)(n.th,{children:"Description"})]})}),(0,r.jsx)(n.tbody,{children:(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"TRUST_PROXY"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"false"})}),(0,r.jsxs)(n.td,{children:["Whether Pingvin Share is behind a reverse proxy. If set to ",(0,r.jsx)(n.code,{children:"true"}),", the ",(0,r.jsx)(n.code,{children:"X-Forwarded-For"})," header is trusted."]})]})})]})]})}function l(e={}){const{wrapper:n}={...(0,t.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(a,{...e})}):a(e)}},8453:(e,n,i)=>{i.d(n,{R:()=>s,x:()=>o});var r=i(6540);const t={},d=r.createContext(t);function s(e){const n=r.useContext(d);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:s(e.components),r.createElement(d.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/d131c913.d12f6829.js b/assets/js/d131c913.d12f6829.js deleted file mode 100644 index 3d031d5..0000000 --- a/assets/js/d131c913.d12f6829.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkpingvindocs=self.webpackChunkpingvindocs||[]).push([[126],{3833:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>h,contentTitle:()=>s,default:()=>a,frontMatter:()=>d,metadata:()=>o,toc:()=>c});var r=i(4848),t=i(8453);const d={id:"configuration"},s="Configuration",o={id:"setup/configuration",title:"Configuration",description:"You can customize Pingvin Share by going to the configuration page in your admin dashboard /admin/config.",source:"@site/docs/setup/configuration.md",sourceDirName:"setup",slug:"/setup/configuration",permalink:"/pingvin-share/setup/configuration",draft:!1,unlisted:!1,editUrl:"https://github.com/stonith404/pingvin-share/edit/main/docs/docs/setup/configuration.md",tags:[],version:"current",frontMatter:{id:"configuration"},sidebar:"docsSidebar",previous:{title:"Installation",permalink:"/pingvin-share/setup/installation"},next:{title:"Integrations",permalink:"/pingvin-share/setup/integrations"}},h={},c=[{value:"General",id:"general",level:2},{value:"App name",id:"app-name",level:3},{value:"App URL",id:"app-url",level:3},{value:"Show home page",id:"show-home-page",level:3},{value:"Logo",id:"logo",level:3},{value:"Environment variables",id:"environment-variables",level:3},{value:"Backend",id:"backend",level:4},{value:"Frontend",id:"frontend",level:4},{value:"Reverse Proxy (inside the Docker container)",id:"reverse-proxy-inside-the-docker-container",level:4}];function l(e){const n={code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",header:"header",hr:"hr",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,t.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.header,{children:(0,r.jsx)(n.h1,{id:"configuration",children:"Configuration"})}),"\n",(0,r.jsxs)(n.p,{children:["You can customize Pingvin Share by going to the configuration page in your admin dashboard ",(0,r.jsx)(n.code,{children:"/admin/config"}),"."]}),"\n",(0,r.jsx)(n.h2,{id:"general",children:"General"}),"\n",(0,r.jsxs)(n.p,{children:["The ",(0,r.jsx)(n.strong,{children:"General"})," Tab will let you customize your Pingvin Share instance to your liking."]}),"\n",(0,r.jsx)(n.h3,{id:"app-name",children:"App name"}),"\n",(0,r.jsxs)(n.p,{children:["To change the name of your instance, insert any text into ",(0,r.jsx)(n.code,{children:"App name"}),"."]}),"\n",(0,r.jsx)(n.h3,{id:"app-url",children:"App URL"}),"\n",(0,r.jsxs)(n.p,{children:["To make your App available trough your own ",(0,r.jsx)(n.strong,{children:"domain"}),", insert your specific domain and also subdomain if needed. Add an ",(0,r.jsx)(n.code,{children:"https://"})," if you have an SSL certificate installed. If this is not the case, use ",(0,r.jsx)(n.code,{children:"http://"}),"."]}),"\n",(0,r.jsx)(n.h3,{id:"show-home-page",children:"Show home page"}),"\n",(0,r.jsxs)(n.p,{children:["If you don't like the ",(0,r.jsx)(n.strong,{children:"home page"})," Pingvin Share provides and you just want the upload tab to be the main page, toggle this to ",(0,r.jsx)(n.code,{children:"true"}),"."]}),"\n",(0,r.jsx)(n.h3,{id:"logo",children:"Logo"}),"\n",(0,r.jsxs)(n.p,{children:["Not only you can change your instances name, but also the logo it shows everywhere. To do that, upload an image as ",(0,r.jsx)(n.code,{children:"png"})," with a 1:1 aspect ratio."]}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"environment-variables",children:"Environment variables"}),"\n",(0,r.jsx)(n.p,{children:"For installation specific configuration, you can use environment variables. The following variables are available:"}),"\n",(0,r.jsx)(n.h4,{id:"backend",children:"Backend"}),"\n",(0,r.jsxs)(n.table,{children:[(0,r.jsx)(n.thead,{children:(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.th,{children:"Variable"}),(0,r.jsx)(n.th,{children:"Default Value"}),(0,r.jsx)(n.th,{children:"Description"})]})}),(0,r.jsxs)(n.tbody,{children:[(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"PORT"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"8080"})}),(0,r.jsx)(n.td,{children:"The port on which the backend listens."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"DATABASE_URL"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"file:../data/pingvin-share.db?connection_limit=1"})}),(0,r.jsx)(n.td,{children:"The URL of the SQLite database."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"DATA_DIRECTORY"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"./data"})}),(0,r.jsx)(n.td,{children:"The directory where data is stored."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"CLAMAV_HOST"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"127.0.0.1"})}),(0,r.jsx)(n.td,{children:"The IP address of the ClamAV server."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"CLAMAV_PORT"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"3310"})}),(0,r.jsx)(n.td,{children:"The port number of the ClamAV server."})]})]})]}),"\n",(0,r.jsx)(n.h4,{id:"frontend",children:"Frontend"}),"\n",(0,r.jsxs)(n.table,{children:[(0,r.jsx)(n.thead,{children:(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.th,{children:"Variable"}),(0,r.jsx)(n.th,{children:"Default Value"}),(0,r.jsx)(n.th,{children:"Description"})]})}),(0,r.jsxs)(n.tbody,{children:[(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"PORT"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"3000"})}),(0,r.jsx)(n.td,{children:"The port on which the frontend listens."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"API_URL"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"http://localhost:8080"})}),(0,r.jsx)(n.td,{children:"The URL of the backend for the frontend."})]})]})]}),"\n",(0,r.jsx)(n.h4,{id:"reverse-proxy-inside-the-docker-container",children:"Reverse Proxy (inside the Docker container)"}),"\n",(0,r.jsxs)(n.table,{children:[(0,r.jsx)(n.thead,{children:(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.th,{children:"Variable"}),(0,r.jsx)(n.th,{children:"Default Value"}),(0,r.jsx)(n.th,{children:"Description"})]})}),(0,r.jsx)(n.tbody,{children:(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"TRUST_PROXY"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"false"})}),(0,r.jsxs)(n.td,{children:["Whether Pingvin Share is behind a reverse proxy. If set to ",(0,r.jsx)(n.code,{children:"true"}),", the ",(0,r.jsx)(n.code,{children:"X-Forwarded-For"})," header is trusted."]})]})})]})]})}function a(e={}){const{wrapper:n}={...(0,t.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(l,{...e})}):l(e)}},8453:(e,n,i)=>{i.d(n,{R:()=>s,x:()=>o});var r=i(6540);const t={},d=r.createContext(t);function s(e){const n=r.useContext(d);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:s(e.components),r.createElement(d.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/runtime~main.8fa4a39a.js b/assets/js/runtime~main.d294e35f.js similarity index 96% rename from assets/js/runtime~main.8fa4a39a.js rename to assets/js/runtime~main.d294e35f.js index e7dbaec..887d4c3 100644 --- a/assets/js/runtime~main.8fa4a39a.js +++ b/assets/js/runtime~main.d294e35f.js @@ -1 +1 @@ -(()=>{"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{"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:"8cbc7b3f",235:"91f0b3e9",237:"f947e7e3",361:"f89c2512",401:"402e11f1",537:"9147194f",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 334bbd0..4b2bf8c 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 83867f8..ffef63c 100644 --- a/index.html +++ b/index.html @@ -4,7 +4,7 @@ Pingvin Share - + diff --git a/introduction/index.html b/introduction/index.html index 7a79ef0..35da359 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 555b92a..e98517e 100644 --- a/setup/configuration/index.html +++ b/setup/configuration/index.html @@ -4,7 +4,7 @@ Configuration | Pingvin Share - + @@ -24,7 +24,7 @@

Environment variables

For installation specific configuration, you can use environment variables. The following variables are available:

Backend

-
VariableDefault ValueDescription
PORT8080The port on which the backend listens.
DATABASE_URLfile:../data/pingvin-share.db?connection_limit=1The URL of the SQLite database.
DATA_DIRECTORY./dataThe directory where data is stored.
CLAMAV_HOST127.0.0.1The IP address of the ClamAV server.
CLAMAV_PORT3310The port number of the ClamAV server.
+
VariableDefault ValueDescription
PORT8080The port on which the backend listens.
DATABASE_URLfile:../data/pingvin-share.db?connection_limit=1The URL of the SQLite database.
DATA_DIRECTORY./dataThe directory where data is stored.
CLAMAV_HOST127.0.0.1 or clamav when running with DockerThe IP address of the ClamAV server. See the ClamAV docs for more information.
CLAMAV_PORT3310The port number of the ClamAV server.

Frontend

VariableDefault ValueDescription
PORT3000The port on which the frontend listens.
API_URLhttp://localhost:8080The URL of the backend for the frontend.

Reverse Proxy (inside the Docker container)

diff --git a/setup/installation/index.html b/setup/installation/index.html index 9dc5c15..3b309ea 100644 --- a/setup/installation/index.html +++ b/setup/installation/index.html @@ -4,7 +4,7 @@ Installation | Pingvin Share - + diff --git a/setup/integrations/index.html b/setup/integrations/index.html index dbfe98c..a8e41c0 100644 --- a/setup/integrations/index.html +++ b/setup/integrations/index.html @@ -4,16 +4,17 @@ Integrations | Pingvin Share - +

Integrations

-

ClamAV

-
-

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

-
+

ClamAV

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

+

Please note that ClamAV needs a lot of ressources.

+

Docker

+

If you are already running ClamAV elsewhere, you can specify the CLAMAV_HOST environment variable to point to that instance.

+

Else you have to add the ClamAV container to the Pingvin Share Docker Compose stack:

  1. Add the ClamAV container to the Docker Compose stack and start the container.
@@ -22,6 +23,10 @@
  • Docker will wait for ClamAV to start before starting Pingvin Share. This may take a minute or two.
  • The Pingvin Share logs should now log "ClamAV is active"
  • -

    Please note that ClamAV needs a lot of ressources.

    +

    Stand-Alone

    +
      +
    1. Install ClamAV
    2. +
    3. Specify the CLAMAV_HOST environment variable for the backend and restart the Pingvin Share backend.
    4. +
    \ No newline at end of file diff --git a/setup/oauth2login/index.html b/setup/oauth2login/index.html index 36a63a4..1ccfe9e 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 ba400cf..11042bc 100644 --- a/setup/upgrading/index.html +++ b/setup/upgrading/index.html @@ -4,7 +4,7 @@ Upgrading | Pingvin Share - +