diff --git a/404.html b/404.html index 518804c89..a16aaf848 100644 --- a/404.html +++ b/404.html @@ -5,7 +5,7 @@ Page Not Found | OpenSign™ - + diff --git a/assets/js/489b8a4d.5fdf345b.js b/assets/js/489b8a4d.88d6e870.js similarity index 57% rename from assets/js/489b8a4d.5fdf345b.js rename to assets/js/489b8a4d.88d6e870.js index 15a62f382..4fc421d69 100644 --- a/assets/js/489b8a4d.5fdf345b.js +++ b/assets/js/489b8a4d.88d6e870.js @@ -1 +1 @@ -"use strict";(self.webpackChunkOpenSign_Docs=self.webpackChunkOpenSign_Docs||[]).push([[1179],{28453:(e,n,t)=>{t.d(n,{R:()=>r,x:()=>c});var s=t(96540);const o={},i=s.createContext(o);function r(e){const n=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),s.createElement(i.Provider,{value:n},e.children)}},69835:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>d,contentTitle:()=>c,default:()=>h,frontMatter:()=>r,metadata:()=>s,toc:()=>l});const s=JSON.parse('{"id":"self-host/docker/run-locally","title":"Self-host OpenSign\u2122 with Docker on Linux/MacOS/Windows","description":"Steps to run OpenSign\u2122 with docker on Linux/MacOS/Windows:","source":"@site/docs/self-host/docker/run-locally.md","sourceDirName":"self-host/docker","slug":"/self-host/docker/run-locally","permalink":"/docs/self-host/docker/run-locally","draft":false,"unlisted":false,"editUrl":"https://github.com/opensignlabs/opensign/tree/feat-docs/docs/docs/self-host/docker/run-locally.md","tags":[],"version":"current","frontMatter":{"title":"Self-host OpenSign\u2122 with Docker on Linux/MacOS/Windows"},"sidebar":"selfhostSidebar","previous":{"title":"Docker","permalink":"/docs/category/docker"},"next":{"title":"OpenSign\u2122 Self-Hosted \'Upgrade Deployment\' Guide Using Docker on Linux, macOS, or Windows","permalink":"/docs/self-host/docker/upgrade-deployment"}}');var o=t(74848),i=t(28453);const r={title:"Self-host OpenSign\u2122 with Docker on Linux/MacOS/Windows"},c=void 0,d={},l=[{value:"Steps to run OpenSign\u2122 with docker on Linux/MacOS/Windows:",id:"steps-to-run-opensign-with-docker-on-linuxmacoswindows",level:2},{value:"Step 1. Download and Install Docker:",id:"step-1-download-and-install-docker",level:3},{value:"Step 2. Open the terminal and execute the below commands as per your operating system.",id:"step-2-open-the-terminal-and-execute-the-below-commands-as-per-your-operating-system",level:3},{value:"Running on a custom domain",id:"running-on-a-custom-domain",level:3},{value:"Running locally",id:"running-locally",level:3},{value:"Information About ENV variables which are used to setup OpenSign\u2122 with Docker on Localhost",id:"information-about-env-variables-which-are-used-to-setup-opensign-with-docker-on-localhost",level:2}];function a(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,i.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.h2,{id:"steps-to-run-opensign-with-docker-on-linuxmacoswindows",children:"Steps to run OpenSign\u2122 with docker on Linux/MacOS/Windows:"}),"\n",(0,o.jsxs)(n.h3,{id:"step-1-download-and-install-docker",children:["Step 1. Download and Install ",(0,o.jsx)(n.a,{href:"https://www.docker.com/products/docker-desktop/",children:"Docker"}),":"]}),"\n",(0,o.jsx)(n.p,{children:"Follow the official Docker installation guide based on your operating system."}),"\n",(0,o.jsx)(n.p,{children:"Create a Docker Hub account if you don't already have one."}),"\n",(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.strong,{children:"Important:"})," Don't forget to verify your Docker Hub account via the email verification link. If you skip this step, the deployment might fail due to unauthorized access errors when pulling Docker images."]}),"\n",(0,o.jsx)(n.h3,{id:"step-2-open-the-terminal-and-execute-the-below-commands-as-per-your-operating-system",children:"Step 2. Open the terminal and execute the below commands as per your operating system."}),"\n",(0,o.jsx)(n.p,{children:"Make sure Docker is running in the background before proceeding."}),"\n",(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.strong,{children:"Warning:"})," The commands below should only be used when installing OpenSign for the first time. You may loose your settings as this will overwrite .env & caddy files."]}),"\n",(0,o.jsx)(n.h3,{id:"running-on-a-custom-domain",children:"Running on a custom domain"}),"\n",(0,o.jsx)(n.p,{children:"Command for linux/MacOS"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"export HOST_URL=https://opensign.yourdomain.com && curl --remote-name-all https://raw.githubusercontent.com/OpenSignLabs/OpenSign/main/docker-compose.yml https://raw.githubusercontent.com/OpenSignLabs/OpenSign/main/Caddyfile https://raw.githubusercontent.com/OpenSignLabs/OpenSign/main/.env.local_dev && mv .env.local_dev .env.prod && docker compose up --force-recreate\n"})}),"\n",(0,o.jsxs)(n.p,{children:["Command for Windows (",(0,o.jsx)(n.strong,{children:"Powershell"}),")"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:'$env:HOST_URL="https://opensign.yourdomain.com"; Invoke-WebRequest -Uri https://raw.githubusercontent.com/OpenSignLabs/OpenSign/main/docker-compose.yml -OutFile docker-compose.yml; Invoke-WebRequest -Uri https://raw.githubusercontent.com/OpenSignLabs/OpenSign/main/Caddyfile -OutFile Caddyfile; Invoke-WebRequest -Uri https://raw.githubusercontent.com/OpenSignLabs/OpenSign/main/.env.local_dev -OutFile .env.local_dev; Rename-Item -Path .env.local_dev -NewName .env.prod; docker compose up --force-recreate\n'})}),"\n",(0,o.jsxs)(n.p,{children:["Command for Windows (",(0,o.jsx)(n.strong,{children:"CMD/Terminal"}),")"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"set HOST_URL=https://opensign.yourdomain.com && curl -O https://raw.githubusercontent.com/OpenSignLabs/OpenSign/main/docker-compose.yml && curl -O https://raw.githubusercontent.com/OpenSignLabs/OpenSign/main/Caddyfile && curl -O https://raw.githubusercontent.com/OpenSignLabs/OpenSign/main/.env.local_dev && rename .env.local_dev .env.prod && docker compose up --force-recreate\n"})}),"\n",(0,o.jsx)(n.p,{children:"Copy the command above, paste it into the terminal, and press Enter to pull and start the containers automatically."}),"\n",(0,o.jsx)(n.p,{children:"Make sure to replace the host URL with your subdomain where OpenSign will be accessible."}),"\n",(0,o.jsx)(n.p,{children:"You will also need to point the subdomain to the server executing these commands by adding the correct A record to your DNS settings."}),"\n",(0,o.jsx)(n.h3,{id:"running-locally",children:"Running locally"}),"\n",(0,o.jsx)(n.p,{children:"If instead want to run locally try out below commands."}),"\n",(0,o.jsx)(n.p,{children:"Command for linux/MacOS (localhost)"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"curl --remote-name-all https://raw.githubusercontent.com/OpenSignLabs/OpenSign/main/docker-compose.yml https://raw.githubusercontent.com/OpenSignLabs/OpenSign/main/Caddyfile https://raw.githubusercontent.com/OpenSignLabs/OpenSign/main/.env.local_dev && mv .env.local_dev .env.prod && docker compose up --force-recreate\n"})}),"\n",(0,o.jsxs)(n.p,{children:["Command for Windows (",(0,o.jsx)(n.strong,{children:"Powershell"}),") (localhost)"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"Invoke-WebRequest -Uri https://raw.githubusercontent.com/OpenSignLabs/OpenSign/main/docker-compose.yml -OutFile docker-compose.yml; Invoke-WebRequest -Uri https://raw.githubusercontent.com/OpenSignLabs/OpenSign/main/Caddyfile -OutFile Caddyfile; Invoke-WebRequest -Uri https://raw.githubusercontent.com/OpenSignLabs/OpenSign/main/.env.local_dev -OutFile .env.local_dev; Rename-Item -Path .env.local_dev -NewName .env.prod; docker compose up --force-recreate\n"})}),"\n",(0,o.jsxs)(n.p,{children:["Command for Windows (",(0,o.jsx)(n.strong,{children:"CMD/Terminal"}),") (localhost)"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"curl -O https://raw.githubusercontent.com/OpenSignLabs/OpenSign/main/docker-compose.yml && curl -O https://raw.githubusercontent.com/OpenSignLabs/OpenSign/main/Caddyfile && curl -O https://raw.githubusercontent.com/OpenSignLabs/OpenSign/main/.env.local_dev && rename .env.local_dev .env.prod && docker compose up --force-recreate\n"})}),"\n",(0,o.jsxs)(n.p,{children:["Once the deployment is successful, the application will be accessible at ",(0,o.jsx)(n.a,{href:"https://localhost:3001",children:"https://localhost:3001"}),". You will need to accept Chrome's insecure certificate warning. Follow the steps in the screenshots to proceed."]}),"\n",(0,o.jsx)("div",{children:(0,o.jsx)("img",{width:"700",alt:"localhost",src:"https://github.com/user-attachments/assets/f5de1882-64d0-44ea-86e3-3a7c8405272c"})}),"\n",(0,o.jsx)("div",{children:(0,o.jsx)("img",{width:"700",alt:"proceedtolocalhost",src:"https://github.com/user-attachments/assets/33f975b9-4a9a-431e-a869-72e38f3b6754"})}),"\n",(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.strong,{children:"Note:"})," If you wish to incorporate our latest features into your Docker container, follow the ",(0,o.jsx)(n.a,{href:"https://docs.opensignlabs.com/docs/self-host/docker/upgrade-deployment",children:"Upgrade Deployment"})," steps."]}),"\n",(0,o.jsx)(n.h2,{id:"information-about-env-variables-which-are-used-to-setup-opensign-with-docker-on-localhost",children:"Information About ENV variables which are used to setup OpenSign\u2122 with Docker on Localhost"}),"\n",(0,o.jsx)(n.p,{children:"To set up OpenSign\u2122 locally using Docker, the following prerequisites are required:"}),"\n",(0,o.jsx)(n.p,{children:'Add below Environment Varaibles to the ".env.prod" file that is automatically created in order to personalize your installation:'}),"\n",(0,o.jsxs)(n.table,{children:[(0,o.jsx)(n.thead,{children:(0,o.jsxs)(n.tr,{children:[(0,o.jsx)(n.th,{children:"Environment Varibale"}),(0,o.jsx)(n.th,{children:"Value"}),(0,o.jsx)(n.th,{children:"Description"})]})}),(0,o.jsxs)(n.tbody,{children:[(0,o.jsxs)(n.tr,{children:[(0,o.jsx)(n.td,{children:"PUBLIC_URL"}),(0,o.jsxs)(n.td,{children:[(0,o.jsx)(n.a,{href:"https://localhost:3001",children:"https://localhost:3001"})," or ",(0,o.jsx)(n.a,{href:"https://opensign.yourdomain.com",children:"https://opensign.yourdomain.com"})]}),(0,o.jsx)(n.td,{children:"Set it to the URL form where the app home page will be accessed"})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsx)(n.td,{children:"APP_ID"}),(0,o.jsx)(n.td,{children:"opensign"}),(0,o.jsx)(n.td,{children:"A 12 character long random app identifier. The value of this should be same as REACT_APP_APPID which is a variable used by Frontend React App."})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsx)(n.td,{children:"MASTER_KEY"}),(0,o.jsx)(n.td,{children:"XnAadwKxxByMr"}),(0,o.jsx)(n.td,{children:"A 12 character long random secret key that allows access to all the data. It is used in Parse dashboard config to view all the data in the database."})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsx)(n.td,{children:"MONGODB_URI"}),(0,o.jsx)(n.td,{children:"mongodb://mongo-container:27017/OpenSignDB"}),(0,o.jsx)(n.td,{children:"Mongodb URI to connect to"})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsx)(n.td,{children:"PARSE_MOUNT"}),(0,o.jsx)(n.td,{children:"/app"}),(0,o.jsx)(n.td,{children:"Path on which APIs should be mounted. Do not change this. This variable shall be removed & value hardcoded in the source code in coming versions."})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsx)(n.td,{children:"SERVER_URL"}),(0,o.jsx)(n.td,{children:(0,o.jsx)(n.a,{href:"http://localhost:8080/app",children:"http://localhost:8080/app"})}),(0,o.jsx)(n.td,{children:"Set it to the URL from where APIs will be accessible to the NodeJS functions, for local development it should be localhost:8080/app"})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsx)(n.td,{children:"DO_SPACE"}),(0,o.jsx)(n.td,{children:"DOSPACENAME"}),(0,o.jsx)(n.td,{children:"Digital ocean space name or AWS S3 bucket name for uploading documents"})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsx)(n.td,{children:"DO_ENDPOINT"}),(0,o.jsx)(n.td,{children:"ams3.digitaloceanspaces.com"}),(0,o.jsx)(n.td,{children:"Digital ocean spaces endpoint or AWS S3 endpoint for uploading documents"})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsx)(n.td,{children:"DO_BASEURL"}),(0,o.jsx)(n.td,{children:(0,o.jsx)(n.a,{href:"https://dospace.ams3.digitaloceanspaces.com",children:"https://dospace.ams3.digitaloceanspaces.com"})}),(0,o.jsx)(n.td,{children:"Digital ocean baseurl or AWS S3 base URL"})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsx)(n.td,{children:"DO_ACCESS_KEY_ID"}),(0,o.jsx)(n.td,{children:"YOUR_S3_ACCESS_ID"}),(0,o.jsx)(n.td,{children:"Digital ocean spaces access key ID or AWS s3 Access key ID for uploading the docs"})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsx)(n.td,{children:"DO_SECRET_ACCESS_KEY"}),(0,o.jsx)(n.td,{children:"YOUR_S3_ACCESS_KEY"}),(0,o.jsx)(n.td,{children:"Digital ocean spaces secret access key or AWS s3 secret access key for uploading the docs"})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsx)(n.td,{children:"DO_REGION"}),(0,o.jsx)(n.td,{children:"YOUR_S3_REGION"}),(0,o.jsx)(n.td,{children:"Digital ocean spaces region or AWS s3 region"})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsx)(n.td,{children:"USE_LOCAL"}),(0,o.jsx)(n.td,{children:"true"}),(0,o.jsx)(n.td,{children:"If this is set to true, local file storage will be used to save files, and DO credentials will be ignored."})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsx)(n.td,{children:"MAILGUN_API_KEY"}),(0,o.jsx)(n.td,{children:"YOUR_MAILGUNAPI_KEY"}),(0,o.jsx)(n.td,{children:"Mailgun API Key"})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsx)(n.td,{children:"MAILGUN_DOMAIN"}),(0,o.jsx)(n.td,{children:"YOUR_MAILGUNAPI_DOMAIN"}),(0,o.jsx)(n.td,{children:"Mailgun API Domain"})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsx)(n.td,{children:"MAILGUN_SENDER"}),(0,o.jsx)(n.td,{children:"-"}),(0,o.jsx)(n.td,{children:"Mailgun Sender Mail ID"})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsx)(n.td,{children:"SMTP_ENABLE"}),(0,o.jsx)(n.td,{children:"false"}),(0,o.jsx)(n.td,{children:"If this is set to true, emails will be sent through SMTP, and Mailgun credentials will be ignored."})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsx)(n.td,{children:"SMTP_HOST"}),(0,o.jsx)(n.td,{children:"smtp.yourhost.com"}),(0,o.jsx)(n.td,{children:"Provide smtp host"})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsx)(n.td,{children:"SMTP_PORT"}),(0,o.jsx)(n.td,{children:"443"}),(0,o.jsx)(n.td,{children:"Provide smtp port number"})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsx)(n.td,{children:"SMTP_USER_EMAIL"}),(0,o.jsx)(n.td,{children:(0,o.jsx)(n.a,{href:"mailto:mailer@yourdomain.com",children:"mailer@yourdomain.com"})}),(0,o.jsx)(n.td,{children:"Provide user email of smtp"})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsx)(n.td,{children:"SMTP_PASS"}),(0,o.jsx)(n.td,{children:"password"}),(0,o.jsx)(n.td,{children:"Provide smtp password"})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsx)(n.td,{children:"PFX_BASE64"}),(0,o.jsx)(n.td,{children:"-"}),(0,o.jsx)(n.td,{children:"Base64 encoded PFX or p12 document signing certificate file. You can generate base64 encoded self sign certificate using the passphrase."})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsx)(n.td,{children:"PASS_PHRASE"}),(0,o.jsx)(n.td,{children:"opensign"}),(0,o.jsx)(n.td,{children:"Pass phrase of PFX or p12 document signing certificate file."})]})]})]}),"\n",(0,o.jsx)(n.h1,{id:"steps-to-generate-self-sign-certificate",children:"Steps to Generate Self Sign Certificate"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"# execute below command and use passphrase 'opensign'\nopenssl genrsa -des3 -out ./local_dev.key 2048\nopenssl req -key ./local_dev.key -new -x509 -days 365 -out ./local_dev.crt\nopenssl pkcs12 -inkey ./local_dev.key -in ./local_dev.crt -export -out ./local_dev.pfx\nopenssl base64 -in ./local_dev.pfx -out ./base64_pfx\n"})}),"\n",(0,o.jsxs)(n.p,{children:["Please note that when signing a document using a certificate generated through this process, it won\u2019t be recognized as valid by Adobe Acrobat. To get the green tick on your signed documents, you'll need to purchase a document signing certificate (a p12 certificate in pfx format) from an ",(0,o.jsx)(n.a,{href:"https://helpx.adobe.com/in/acrobat/kb/approved-trust-list1.html",children:"AATL-approved Certificate Authority"}),"."]}),"\n",(0,o.jsx)(n.h1,{id:"cors-configuration",children:"CORS Configuration"}),"\n",(0,o.jsxs)(n.p,{children:["As document storage is delegated to S3-compatible services that reside in a different host than the OpenSign one, document operations (loading, storing, deleting) are subject to ",(0,o.jsx)(n.a,{href:"https://en.wikipedia.org/wiki/Cross-origin_resource_sharing",children:"Cross-Origin Resource Sharing"})," restriction policies; as a consequence, OpenSign app may fail with (browser console) errors like the following:"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"Access to fetch at 'https://foo.nyc3.digitaloceanspaces.com/exported_file_4627_0000-00-00T00%3A45%3A43.344Z.pdf'\nfrom origin 'http://localhost:3000' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header\nis present on the requested resource. If an opaque response serves your needs, set the request's mode to\n'no-cors' to fetch the resource with CORS disabled.\n"})}),"\n",(0,o.jsx)(n.p,{children:"In order to address this, your document storage system must be instructed to accept requests from other hosts; below the relevant documentation links:"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.a,{href:"https://docs.digitalocean.com/products/spaces/how-to/configure-cors/",children:"How to Configure CORS on DigitalOcean Spaces"})}),"\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.a,{href:"https://docs.aws.amazon.com/AmazonS3/latest/userguide/enabling-cors-examples.html",children:"Configuring cross-origin resource sharing on AWS S3"})}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(a,{...e})}):a(e)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkOpenSign_Docs=self.webpackChunkOpenSign_Docs||[]).push([[1179],{28453:(e,n,t)=>{t.d(n,{R:()=>r,x:()=>c});var s=t(96540);const o={},i=s.createContext(o);function r(e){const n=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),s.createElement(i.Provider,{value:n},e.children)}},69835:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>d,contentTitle:()=>c,default:()=>h,frontMatter:()=>r,metadata:()=>s,toc:()=>l});const s=JSON.parse('{"id":"self-host/docker/run-locally","title":"Self-host OpenSign\u2122 with Docker on Linux/MacOS/Windows","description":"Steps to run OpenSign\u2122 with docker on Linux/MacOS/Windows:","source":"@site/docs/self-host/docker/run-locally.md","sourceDirName":"self-host/docker","slug":"/self-host/docker/run-locally","permalink":"/docs/self-host/docker/run-locally","draft":false,"unlisted":false,"editUrl":"https://github.com/opensignlabs/opensign/tree/feat-docs/docs/docs/self-host/docker/run-locally.md","tags":[],"version":"current","frontMatter":{"title":"Self-host OpenSign\u2122 with Docker on Linux/MacOS/Windows"},"sidebar":"selfhostSidebar","previous":{"title":"Docker","permalink":"/docs/category/docker"},"next":{"title":"OpenSign\u2122 Self-Hosted \'Upgrade Deployment\' Guide Using Docker on Linux, macOS, or Windows","permalink":"/docs/self-host/docker/upgrade-deployment"}}');var o=t(74848),i=t(28453);const r={title:"Self-host OpenSign\u2122 with Docker on Linux/MacOS/Windows"},c=void 0,d={},l=[{value:"Steps to run OpenSign\u2122 with docker on Linux/MacOS/Windows:",id:"steps-to-run-opensign-with-docker-on-linuxmacoswindows",level:2},{value:"Step 1. Download and Install Docker:",id:"step-1-download-and-install-docker",level:3},{value:"Step 2. Open the terminal and execute the below commands as per your operating system.",id:"step-2-open-the-terminal-and-execute-the-below-commands-as-per-your-operating-system",level:3},{value:"Running on a custom domain",id:"running-on-a-custom-domain",level:3},{value:"Running locally",id:"running-locally",level:3},{value:"Information About ENV variables which are used to setup OpenSign\u2122 with Docker on Localhost",id:"information-about-env-variables-which-are-used-to-setup-opensign-with-docker-on-localhost",level:2}];function a(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,i.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.h2,{id:"steps-to-run-opensign-with-docker-on-linuxmacoswindows",children:"Steps to run OpenSign\u2122 with docker on Linux/MacOS/Windows:"}),"\n",(0,o.jsxs)(n.h3,{id:"step-1-download-and-install-docker",children:["Step 1. Download and Install ",(0,o.jsx)(n.a,{href:"https://www.docker.com/products/docker-desktop/",children:"Docker"}),":"]}),"\n",(0,o.jsx)(n.p,{children:"Follow the official Docker installation guide based on your operating system."}),"\n",(0,o.jsx)(n.p,{children:"Create a Docker Hub account if you don't already have one."}),"\n",(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.strong,{children:"Important:"})," Don't forget to verify your Docker Hub account via the email verification link. If you skip this step, the deployment might fail due to unauthorized access errors when pulling Docker images."]}),"\n",(0,o.jsx)(n.h3,{id:"step-2-open-the-terminal-and-execute-the-below-commands-as-per-your-operating-system",children:"Step 2. Open the terminal and execute the below commands as per your operating system."}),"\n",(0,o.jsx)(n.p,{children:"Make sure Docker is running in the background before proceeding."}),"\n",(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.strong,{children:"Warning:"})," The commands below should only be used when installing OpenSign for the first time. You may loose your settings as this will overwrite .env & caddy files."]}),"\n",(0,o.jsx)(n.h3,{id:"running-on-a-custom-domain",children:"Running on a custom domain"}),"\n",(0,o.jsx)(n.p,{children:"Command for linux/MacOS"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"export HOST_URL=https://opensign.yourdomain.com && curl --remote-name-all https://raw.githubusercontent.com/OpenSignLabs/OpenSign/main/docker-compose.yml https://raw.githubusercontent.com/OpenSignLabs/OpenSign/main/Caddyfile https://raw.githubusercontent.com/OpenSignLabs/OpenSign/main/.env.local_dev && mv .env.local_dev .env.prod && docker compose up --force-recreate\n"})}),"\n",(0,o.jsxs)(n.p,{children:["Command for Windows (",(0,o.jsx)(n.strong,{children:"Powershell"}),")"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:'$env:HOST_URL="https://opensign.yourdomain.com"; Invoke-WebRequest -Uri https://raw.githubusercontent.com/OpenSignLabs/OpenSign/main/docker-compose.yml -OutFile docker-compose.yml; Invoke-WebRequest -Uri https://raw.githubusercontent.com/OpenSignLabs/OpenSign/main/Caddyfile -OutFile Caddyfile; Invoke-WebRequest -Uri https://raw.githubusercontent.com/OpenSignLabs/OpenSign/main/.env.local_dev -OutFile .env.local_dev; Rename-Item -Path .env.local_dev -NewName .env.prod; docker compose up --force-recreate\n'})}),"\n",(0,o.jsxs)(n.p,{children:["Command for Windows (",(0,o.jsx)(n.strong,{children:"CMD/Terminal"}),")"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"set HOST_URL=https://opensign.yourdomain.com && curl -O https://raw.githubusercontent.com/OpenSignLabs/OpenSign/main/docker-compose.yml && curl -O https://raw.githubusercontent.com/OpenSignLabs/OpenSign/main/Caddyfile && curl -O https://raw.githubusercontent.com/OpenSignLabs/OpenSign/main/.env.local_dev && rename .env.local_dev .env.prod && docker compose up --force-recreate\n"})}),"\n",(0,o.jsx)(n.p,{children:"Copy the command above, paste it into the terminal, and press Enter to pull and start the containers automatically."}),"\n",(0,o.jsx)(n.p,{children:"Make sure to replace the host URL with your subdomain where OpenSign will be accessible."}),"\n",(0,o.jsx)(n.p,{children:"You will also need to point the subdomain to the server executing these commands by adding the correct A record to your DNS settings."}),"\n",(0,o.jsx)(n.h3,{id:"running-locally",children:"Running locally"}),"\n",(0,o.jsx)(n.p,{children:"If instead want to run locally try out below commands."}),"\n",(0,o.jsx)(n.p,{children:"Command for linux/MacOS (localhost)"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"curl --remote-name-all https://raw.githubusercontent.com/OpenSignLabs/OpenSign/main/docker-compose.yml https://raw.githubusercontent.com/OpenSignLabs/OpenSign/main/Caddyfile https://raw.githubusercontent.com/OpenSignLabs/OpenSign/main/.env.local_dev && mv .env.local_dev .env.prod && docker compose up --force-recreate\n"})}),"\n",(0,o.jsxs)(n.p,{children:["Command for Windows (",(0,o.jsx)(n.strong,{children:"Powershell"}),") (localhost)"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"Invoke-WebRequest -Uri https://raw.githubusercontent.com/OpenSignLabs/OpenSign/main/docker-compose.yml -OutFile docker-compose.yml; Invoke-WebRequest -Uri https://raw.githubusercontent.com/OpenSignLabs/OpenSign/main/Caddyfile -OutFile Caddyfile; Invoke-WebRequest -Uri https://raw.githubusercontent.com/OpenSignLabs/OpenSign/main/.env.local_dev -OutFile .env.local_dev; Rename-Item -Path .env.local_dev -NewName .env.prod; docker compose up --force-recreate\n"})}),"\n",(0,o.jsxs)(n.p,{children:["Command for Windows (",(0,o.jsx)(n.strong,{children:"CMD/Terminal"}),") (localhost)"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"curl -O https://raw.githubusercontent.com/OpenSignLabs/OpenSign/main/docker-compose.yml && curl -O https://raw.githubusercontent.com/OpenSignLabs/OpenSign/main/Caddyfile && curl -O https://raw.githubusercontent.com/OpenSignLabs/OpenSign/main/.env.local_dev && rename .env.local_dev .env.prod && docker compose up --force-recreate\n"})}),"\n",(0,o.jsxs)(n.p,{children:["Once the deployment is successful, the application will be accessible at ",(0,o.jsx)(n.a,{href:"https://localhost:3001",children:"https://localhost:3001"}),". You will need to accept Chrome's insecure certificate warning. Follow the steps in the screenshots to proceed."]}),"\n",(0,o.jsx)("div",{children:(0,o.jsx)("img",{width:"700",alt:"localhost",src:"https://github.com/user-attachments/assets/f5de1882-64d0-44ea-86e3-3a7c8405272c"})}),"\n",(0,o.jsx)("div",{children:(0,o.jsx)("img",{width:"700",alt:"proceedtolocalhost",src:"https://github.com/user-attachments/assets/33f975b9-4a9a-431e-a869-72e38f3b6754"})}),"\n",(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.strong,{children:"Note:"})," If you wish to incorporate our latest features into your Docker container, follow the ",(0,o.jsx)(n.a,{href:"https://docs.opensignlabs.com/docs/self-host/docker/upgrade-deployment",children:"Upgrade Deployment"})," steps."]}),"\n",(0,o.jsx)(n.h2,{id:"information-about-env-variables-which-are-used-to-setup-opensign-with-docker-on-localhost",children:"Information About ENV variables which are used to setup OpenSign\u2122 with Docker on Localhost"}),"\n",(0,o.jsx)(n.p,{children:"To set up OpenSign\u2122 locally using Docker, the following prerequisites are required:"}),"\n",(0,o.jsx)(n.p,{children:'Add below Environment Varaibles to the ".env.prod" file that is automatically created in order to personalize your installation:'}),"\n",(0,o.jsxs)(n.table,{children:[(0,o.jsx)(n.thead,{children:(0,o.jsxs)(n.tr,{children:[(0,o.jsx)(n.th,{children:"Environment Varibale"}),(0,o.jsx)(n.th,{children:"Value"}),(0,o.jsx)(n.th,{children:"Description"})]})}),(0,o.jsxs)(n.tbody,{children:[(0,o.jsxs)(n.tr,{children:[(0,o.jsx)(n.td,{children:"PUBLIC_URL"}),(0,o.jsxs)(n.td,{children:[(0,o.jsx)(n.a,{href:"https://localhost:3001",children:"https://localhost:3001"})," or ",(0,o.jsx)(n.a,{href:"https://opensign.yourdomain.com",children:"https://opensign.yourdomain.com"})]}),(0,o.jsx)(n.td,{children:"Set it to the URL form where the app home page will be accessed"})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsx)(n.td,{children:"APP_ID"}),(0,o.jsx)(n.td,{children:"opensign"}),(0,o.jsx)(n.td,{children:"A 12 character long random app identifier."})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsx)(n.td,{children:"MASTER_KEY"}),(0,o.jsx)(n.td,{children:"XnAadwKxxByMr"}),(0,o.jsx)(n.td,{children:"A 12 character long random secret key that allows access to all the data. It is used in Parse dashboard config to view all the data in the database."})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsx)(n.td,{children:"MONGODB_URI"}),(0,o.jsx)(n.td,{children:"mongodb://mongo-container:27017/OpenSignDB"}),(0,o.jsx)(n.td,{children:"Mongodb URI to connect to"})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsx)(n.td,{children:"PARSE_MOUNT"}),(0,o.jsx)(n.td,{children:"/app"}),(0,o.jsx)(n.td,{children:"Path on which APIs should be mounted. Do not change this. This variable shall be removed & value hardcoded in the source code in coming versions."})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsx)(n.td,{children:"SERVER_URL"}),(0,o.jsx)(n.td,{children:(0,o.jsx)(n.a,{href:"http://localhost:8080/app",children:"http://localhost:8080/app"})}),(0,o.jsx)(n.td,{children:"Set it to the URL from where APIs will be accessible to the NodeJS functions, for local development it should be localhost:8080/app"})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsx)(n.td,{children:"DO_SPACE"}),(0,o.jsx)(n.td,{children:"DOSPACENAME"}),(0,o.jsx)(n.td,{children:"Digital ocean space name or AWS S3 bucket name for uploading documents"})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsx)(n.td,{children:"DO_ENDPOINT"}),(0,o.jsx)(n.td,{children:"ams3.digitaloceanspaces.com"}),(0,o.jsx)(n.td,{children:"Digital ocean spaces endpoint or AWS S3 endpoint for uploading documents"})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsx)(n.td,{children:"DO_BASEURL"}),(0,o.jsx)(n.td,{children:(0,o.jsx)(n.a,{href:"https://dospace.ams3.digitaloceanspaces.com",children:"https://dospace.ams3.digitaloceanspaces.com"})}),(0,o.jsx)(n.td,{children:"Digital ocean baseurl or AWS S3 base URL"})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsx)(n.td,{children:"DO_ACCESS_KEY_ID"}),(0,o.jsx)(n.td,{children:"YOUR_S3_ACCESS_ID"}),(0,o.jsx)(n.td,{children:"Digital ocean spaces access key ID or AWS s3 Access key ID for uploading the docs"})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsx)(n.td,{children:"DO_SECRET_ACCESS_KEY"}),(0,o.jsx)(n.td,{children:"YOUR_S3_ACCESS_KEY"}),(0,o.jsx)(n.td,{children:"Digital ocean spaces secret access key or AWS s3 secret access key for uploading the docs"})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsx)(n.td,{children:"DO_REGION"}),(0,o.jsx)(n.td,{children:"YOUR_S3_REGION"}),(0,o.jsx)(n.td,{children:"Digital ocean spaces region or AWS s3 region"})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsx)(n.td,{children:"USE_LOCAL"}),(0,o.jsx)(n.td,{children:"true"}),(0,o.jsx)(n.td,{children:"If this is set to true, local file storage will be used to save files, and DO credentials will be ignored."})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsx)(n.td,{children:"MAILGUN_API_KEY"}),(0,o.jsx)(n.td,{children:"YOUR_MAILGUNAPI_KEY"}),(0,o.jsx)(n.td,{children:"Mailgun API Key"})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsx)(n.td,{children:"MAILGUN_DOMAIN"}),(0,o.jsx)(n.td,{children:"YOUR_MAILGUNAPI_DOMAIN"}),(0,o.jsx)(n.td,{children:"Mailgun API Domain"})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsx)(n.td,{children:"MAILGUN_SENDER"}),(0,o.jsx)(n.td,{children:"-"}),(0,o.jsx)(n.td,{children:"Mailgun Sender Mail ID"})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsx)(n.td,{children:"SMTP_ENABLE"}),(0,o.jsx)(n.td,{children:"false"}),(0,o.jsx)(n.td,{children:"If this is set to true, emails will be sent through SMTP, and Mailgun credentials will be ignored."})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsx)(n.td,{children:"SMTP_HOST"}),(0,o.jsx)(n.td,{children:"smtp.yourhost.com"}),(0,o.jsx)(n.td,{children:"Provide smtp host"})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsx)(n.td,{children:"SMTP_PORT"}),(0,o.jsx)(n.td,{children:"443"}),(0,o.jsx)(n.td,{children:"Provide smtp port number"})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsx)(n.td,{children:"SMTP_USERNAME"}),(0,o.jsx)(n.td,{children:"-"}),(0,o.jsx)(n.td,{children:"Provide username of smtp"})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsx)(n.td,{children:"SMTP_USER_EMAIL"}),(0,o.jsx)(n.td,{children:(0,o.jsx)(n.a,{href:"mailto:mailer@yourdomain.com",children:"mailer@yourdomain.com"})}),(0,o.jsx)(n.td,{children:"Provide user email of smtp"})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsx)(n.td,{children:"SMTP_PASS"}),(0,o.jsx)(n.td,{children:"password"}),(0,o.jsx)(n.td,{children:"Provide smtp password"})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsx)(n.td,{children:"PFX_BASE64"}),(0,o.jsx)(n.td,{children:"-"}),(0,o.jsx)(n.td,{children:"Base64 encoded PFX or p12 document signing certificate file. You can generate base64 encoded self sign certificate using the passphrase."})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsx)(n.td,{children:"PASS_PHRASE"}),(0,o.jsx)(n.td,{children:"opensign"}),(0,o.jsx)(n.td,{children:"Pass phrase of PFX or p12 document signing certificate file."})]})]})]}),"\n",(0,o.jsx)(n.h1,{id:"steps-to-generate-self-sign-certificate",children:"Steps to Generate Self Sign Certificate"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"# execute below command and use passphrase 'opensign'\nopenssl genrsa -des3 -out ./local_dev.key 2048\nopenssl req -key ./local_dev.key -new -x509 -days 365 -out ./local_dev.crt\nopenssl pkcs12 -inkey ./local_dev.key -in ./local_dev.crt -export -out ./local_dev.pfx\nopenssl base64 -in ./local_dev.pfx -out ./base64_pfx\n"})}),"\n",(0,o.jsxs)(n.p,{children:["Please note that when signing a document using a certificate generated through this process, it won\u2019t be recognized as valid by Adobe Acrobat. To get the green tick on your signed documents, you'll need to purchase a document signing certificate (a p12 certificate in pfx format) from an ",(0,o.jsx)(n.a,{href:"https://helpx.adobe.com/in/acrobat/kb/approved-trust-list1.html",children:"AATL-approved Certificate Authority"}),"."]}),"\n",(0,o.jsx)(n.h1,{id:"cors-configuration",children:"CORS Configuration"}),"\n",(0,o.jsxs)(n.p,{children:["As document storage is delegated to S3-compatible services that reside in a different host than the OpenSign one, document operations (loading, storing, deleting) are subject to ",(0,o.jsx)(n.a,{href:"https://en.wikipedia.org/wiki/Cross-origin_resource_sharing",children:"Cross-Origin Resource Sharing"})," restriction policies; as a consequence, OpenSign app may fail with (browser console) errors like the following:"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"Access to fetch at 'https://foo.nyc3.digitaloceanspaces.com/exported_file_4627_0000-00-00T00%3A45%3A43.344Z.pdf'\nfrom origin 'http://localhost:3000' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header\nis present on the requested resource. If an opaque response serves your needs, set the request's mode to\n'no-cors' to fetch the resource with CORS disabled.\n"})}),"\n",(0,o.jsx)(n.p,{children:"In order to address this, your document storage system must be instructed to accept requests from other hosts; below the relevant documentation links:"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.a,{href:"https://docs.digitalocean.com/products/spaces/how-to/configure-cors/",children:"How to Configure CORS on DigitalOcean Spaces"})}),"\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.a,{href:"https://docs.aws.amazon.com/AmazonS3/latest/userguide/enabling-cors-examples.html",children:"Configuring cross-origin resource sharing on AWS S3"})}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(a,{...e})}):a(e)}}}]); \ No newline at end of file diff --git a/assets/js/runtime~main.bfff27fa.js b/assets/js/runtime~main.99dfcb00.js similarity index 99% rename from assets/js/runtime~main.bfff27fa.js rename to assets/js/runtime~main.99dfcb00.js index 96b2342d7..2e5772cbf 100644 --- a/assets/js/runtime~main.bfff27fa.js +++ b/assets/js/runtime~main.99dfcb00.js @@ -1 +1 @@ -(()=>{"use strict";var e,a,c,f,b,r={},d={};function t(e){var a=d[e];if(void 0!==a)return a.exports;var c=d[e]={id:e,loaded:!1,exports:{}};return r[e].call(c.exports,c,c.exports,t),c.loaded=!0,c.exports}t.m=r,t.c=d,e=[],t.O=(a,c,f,b)=>{if(!c){var r=1/0;for(n=0;n=b)&&Object.keys(t.O).every((e=>t.O[e](c[o])))?c.splice(o--,1):(d=!1,b0&&e[n-1][2]>b;n--)e[n]=e[n-1];e[n]=[c,f,b]},t.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return t.d(a,{a:a}),a},c=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,t.t=function(e,f){if(1&f&&(e=this(e)),8&f)return e;if("object"==typeof e&&e){if(4&f&&e.__esModule)return e;if(16&f&&"function"==typeof e.then)return e}var b=Object.create(null);t.r(b);var r={};a=a||[null,c({}),c([]),c(c)];for(var d=2&f&&e;"object"==typeof d&&!~a.indexOf(d);d=c(d))Object.getOwnPropertyNames(d).forEach((a=>r[a]=()=>e[a]));return r.default=()=>e,t.d(b,r),b},t.d=(e,a)=>{for(var c in a)t.o(a,c)&&!t.o(e,c)&&Object.defineProperty(e,c,{enumerable:!0,get:a[c]})},t.f={},t.e=e=>Promise.all(Object.keys(t.f).reduce(((a,c)=>(t.f[c](e,a),a)),[])),t.u=e=>"assets/js/"+({157:"8001f939",291:"4f7a2d40",490:"ce589067",560:"500027af",724:"fa40969b",746:"cf03142d",841:"d1393a72",849:"0058b4c6",850:"c6b74119",962:"046910c8",1019:"5ce9853b",1179:"489b8a4d",1235:"a7456010",1381:"a2bc1463",1440:"277a78f5",1519:"78b2b753",1640:"c9fa5aa5",1688:"9640838e",1903:"acecf23e",1924:"d8b805fb",1972:"73664a40",2042:"reactPlayerTwitch",2089:"c7b98810",2131:"299c7a47",2223:"5a2de241",2264:"17e5210b",2634:"c4f5d8e4",2711:"9e4087bc",2723:"reactPlayerMux",2908:"2c416566",2959:"50ea61d6",3021:"4cff09f6",3073:"e9e778b7",3213:"a9f09360",3249:"ccc49370",3276:"e5aefb32",3381:"42f80fc5",3392:"reactPlayerVidyard",3451:"70853c19",3605:"a88a3db3",3637:"f4f34a3a",3694:"8717b14a",3841:"56b5f4f8",3844:"bbdfc22d",3976:"0e384e19",4134:"393be207",4212:"621db11d",4317:"0028a090",4469:"52d5c0f9",4553:"451a5132",4584:"f82cd581",4813:"6875c492",4948:"bfe4b778",5277:"8320e026",5378:"38e3d9c8",5550:"14716de7",5557:"d9f32620",5597:"b18842e4",5742:"aba21aa0",5772:"28b19cd2",5970:"0f8cf55d",6007:"611db08b",6061:"1f391b9e",6157:"3973fcf3",6173:"reactPlayerVimeo",6197:"1aff3f87",6295:"d91ad230",6318:"bb4fa758",6328:"reactPlayerDailyMotion",6353:"5e1bb91e",6382:"5c04ee3b",6463:"reactPlayerKaltura",6473:"4c5e977b",6648:"0c0943c7",6653:"f214d5ff",6685:"ae010e44",6743:"e226bb09",6887:"reactPlayerFacebook",6969:"14eb3368",7068:"e92d0461",7098:"a7bd4aaa",7315:"f0ff4a36",7318:"e76c28ee",7458:"reactPlayerFilePlayer",7472:"814f3328",7477:"36994c47",7570:"reactPlayerMixcloud",7605:"770b40a9",7627:"reactPlayerStreamable",7643:"a6aa9e1f",7696:"1ee58ee1",7757:"eb56c656",7910:"e4f5c862",8025:"5e90a9b3",8097:"ab2a161b",8121:"3a2db09e",8130:"f81c1134",8146:"c15d9823",8209:"01a85c17",8211:"1f73ca32",8446:"reactPlayerYouTube",8462:"3217192f",8472:"13fdae3b",8503:"012b45bf",8609:"925b3f96",8669:"05632a52",8672:"8a725248",8734:"reactPlayerPreview",8737:"7661071f",8790:"2304e9ae",8927:"b0378e01",8947:"ef8b811a",9024:"e5a49157",9048:"a94703ab",9180:"8a855f99",9190:"6cb65baf",9241:"11b7b3d8",9325:"59362658",9328:"e273c56f",9340:"reactPlayerWistia",9426:"38ec836e",9441:"377084eb",9599:"2c586be5",9611:"06b6ef6a",9647:"5e95c892",9858:"1f7895dc",9938:"7b076186",9979:"reactPlayerSoundCloud",9983:"ada7accb"}[e]||e)+"."+{157:"be2f595e",291:"fb6bc395",490:"06dc6e05",560:"d65f3f92",724:"0711c505",746:"33cab0ea",841:"42868966",849:"accd8a6d",850:"3ac080ec",962:"abe7aaf7",1019:"b628cd80",1179:"5fdf345b",1235:"e0fce024",1381:"9fe35bff",1440:"5dc69857",1463:"6c989e27",1519:"5bb2f535",1640:"d2ce80bf",1688:"be33b996",1903:"9c2000d9",1924:"7f7bb4f2",1936:"3329227e",1972:"6aa170c8",2042:"ccdbba13",2089:"11b02d02",2131:"7b17b751",2223:"7898036f",2264:"03a17636",2489:"a212f802",2634:"b5502b21",2711:"999c03aa",2723:"ad84c6fe",2908:"9a88f7fa",2959:"cecb2797",3021:"eb474160",3042:"040aac0d",3073:"732a63bb",3213:"929f06fd",3249:"d6c50b29",3276:"00ab24d9",3381:"a7f76393",3392:"a7951473",3451:"5d1e4741",3605:"0b93ed81",3637:"ffa80471",3694:"4d710693",3841:"6784ed33",3844:"de0fa34e",3976:"2d4c4f66",4132:"a5c6ef5a",4134:"7b436152",4212:"5dccb1c7",4317:"77285676",4469:"5faf56ff",4553:"c012dd2f",4584:"a7d307eb",4622:"420bc0ab",4813:"1198d246",4948:"e59f2eb2",5013:"b10f6f78",5277:"6e628336",5378:"73b1ae3a",5550:"def3ac1b",5557:"dffbf1c4",5597:"d81a2725",5742:"ac359952",5772:"40bab2e5",5970:"91dc704f",6007:"fe62cc08",6061:"bb03b217",6157:"fccfe0be",6173:"40e527dc",6197:"b8553e32",6295:"958608f5",6318:"213b74ab",6328:"a2ec01b1",6353:"aea9ee55",6382:"08676753",6463:"665cb544",6473:"0243df4f",6648:"152274c2",6653:"fdbc0c47",6685:"245776e2",6743:"a3fe848c",6887:"f478ac9c",6969:"408561bf",7054:"cab4fa5c",7068:"b2ebdef8",7098:"c920e4e4",7315:"92ed8946",7318:"deb0893f",7458:"e1cdf442",7472:"909d2cac",7477:"4aaebd1d",7570:"086b8299",7605:"49352e31",7627:"df6df631",7643:"4bb958af",7696:"6ededead",7757:"ad93b050",7910:"61af651f",8025:"18e81984",8097:"43a7d9e8",8121:"adb9cf78",8130:"29afdc55",8146:"bdf3ab1c",8160:"4a1cc722",8209:"b9e31ef1",8211:"48f7e73e",8446:"594ab8ca",8462:"d040ed86",8472:"7a8c2a64",8503:"45b8fe0a",8609:"6bdc8628",8669:"96765119",8672:"8dd48c73",8734:"1f259505",8737:"f138d21c",8790:"7b709933",8927:"cee13eea",8947:"19410731",9024:"331564b7",9048:"9a2fc095",9180:"0210056e",9190:"dd359a70",9241:"77521554",9325:"cc9232ad",9328:"18a92a49",9340:"91290ba6",9426:"4597631d",9441:"5276d129",9599:"bf9b3bd8",9611:"9a74cba2",9647:"2f22c378",9858:"939e017f",9938:"5f0c09d6",9979:"84827225",9983:"b4126a82"}[e]+".js",t.miniCssF=e=>{},t.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),t.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),f={},b="OpenSign-Docs:",t.l=(e,a,c,r)=>{if(f[e])f[e].push(a);else{var d,o;if(void 0!==c)for(var l=document.getElementsByTagName("script"),n=0;n{d.onerror=d.onload=null,clearTimeout(s);var b=f[e];if(delete f[e],d.parentNode&&d.parentNode.removeChild(d),b&&b.forEach((e=>e(c))),a)return a(c)},s=setTimeout(u.bind(null,void 0,{type:"timeout",target:d}),12e4);d.onerror=u.bind(null,d.onerror),d.onload=u.bind(null,d.onload),o&&document.head.appendChild(d)}},t.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),t.p="/",t.gca=function(e){return e={59362658:"9325","8001f939":"157","4f7a2d40":"291",ce589067:"490","500027af":"560",fa40969b:"724",cf03142d:"746",d1393a72:"841","0058b4c6":"849",c6b74119:"850","046910c8":"962","5ce9853b":"1019","489b8a4d":"1179",a7456010:"1235",a2bc1463:"1381","277a78f5":"1440","78b2b753":"1519",c9fa5aa5:"1640","9640838e":"1688",acecf23e:"1903",d8b805fb:"1924","73664a40":"1972",reactPlayerTwitch:"2042",c7b98810:"2089","299c7a47":"2131","5a2de241":"2223","17e5210b":"2264",c4f5d8e4:"2634","9e4087bc":"2711",reactPlayerMux:"2723","2c416566":"2908","50ea61d6":"2959","4cff09f6":"3021",e9e778b7:"3073",a9f09360:"3213",ccc49370:"3249",e5aefb32:"3276","42f80fc5":"3381",reactPlayerVidyard:"3392","70853c19":"3451",a88a3db3:"3605",f4f34a3a:"3637","8717b14a":"3694","56b5f4f8":"3841",bbdfc22d:"3844","0e384e19":"3976","393be207":"4134","621db11d":"4212","0028a090":"4317","52d5c0f9":"4469","451a5132":"4553",f82cd581:"4584","6875c492":"4813",bfe4b778:"4948","8320e026":"5277","38e3d9c8":"5378","14716de7":"5550",d9f32620:"5557",b18842e4:"5597",aba21aa0:"5742","28b19cd2":"5772","0f8cf55d":"5970","611db08b":"6007","1f391b9e":"6061","3973fcf3":"6157",reactPlayerVimeo:"6173","1aff3f87":"6197",d91ad230:"6295",bb4fa758:"6318",reactPlayerDailyMotion:"6328","5e1bb91e":"6353","5c04ee3b":"6382",reactPlayerKaltura:"6463","4c5e977b":"6473","0c0943c7":"6648",f214d5ff:"6653",ae010e44:"6685",e226bb09:"6743",reactPlayerFacebook:"6887","14eb3368":"6969",e92d0461:"7068",a7bd4aaa:"7098",f0ff4a36:"7315",e76c28ee:"7318",reactPlayerFilePlayer:"7458","814f3328":"7472","36994c47":"7477",reactPlayerMixcloud:"7570","770b40a9":"7605",reactPlayerStreamable:"7627",a6aa9e1f:"7643","1ee58ee1":"7696",eb56c656:"7757",e4f5c862:"7910","5e90a9b3":"8025",ab2a161b:"8097","3a2db09e":"8121",f81c1134:"8130",c15d9823:"8146","01a85c17":"8209","1f73ca32":"8211",reactPlayerYouTube:"8446","3217192f":"8462","13fdae3b":"8472","012b45bf":"8503","925b3f96":"8609","05632a52":"8669","8a725248":"8672",reactPlayerPreview:"8734","7661071f":"8737","2304e9ae":"8790",b0378e01:"8927",ef8b811a:"8947",e5a49157:"9024",a94703ab:"9048","8a855f99":"9180","6cb65baf":"9190","11b7b3d8":"9241",e273c56f:"9328",reactPlayerWistia:"9340","38ec836e":"9426","377084eb":"9441","2c586be5":"9599","06b6ef6a":"9611","5e95c892":"9647","1f7895dc":"9858","7b076186":"9938",reactPlayerSoundCloud:"9979",ada7accb:"9983"}[e]||e,t.p+t.u(e)},(()=>{var e={5354:0,1869:0};t.f.j=(a,c)=>{var f=t.o(e,a)?e[a]:void 0;if(0!==f)if(f)c.push(f[2]);else if(/^(1869|5354)$/.test(a))e[a]=0;else{var b=new Promise(((c,b)=>f=e[a]=[c,b]));c.push(f[2]=b);var r=t.p+t.u(a),d=new Error;t.l(r,(c=>{if(t.o(e,a)&&(0!==(f=e[a])&&(e[a]=void 0),f)){var b=c&&("load"===c.type?"missing":c.type),r=c&&c.target&&c.target.src;d.message="Loading chunk "+a+" failed.\n("+b+": "+r+")",d.name="ChunkLoadError",d.type=b,d.request=r,f[1](d)}}),"chunk-"+a,a)}},t.O.j=a=>0===e[a];var a=(a,c)=>{var f,b,r=c[0],d=c[1],o=c[2],l=0;if(r.some((a=>0!==e[a]))){for(f in d)t.o(d,f)&&(t.m[f]=d[f]);if(o)var n=o(t)}for(a&&a(c);l{"use strict";var e,a,c,f,b,r={},d={};function t(e){var a=d[e];if(void 0!==a)return a.exports;var c=d[e]={id:e,loaded:!1,exports:{}};return r[e].call(c.exports,c,c.exports,t),c.loaded=!0,c.exports}t.m=r,t.c=d,e=[],t.O=(a,c,f,b)=>{if(!c){var r=1/0;for(n=0;n=b)&&Object.keys(t.O).every((e=>t.O[e](c[o])))?c.splice(o--,1):(d=!1,b0&&e[n-1][2]>b;n--)e[n]=e[n-1];e[n]=[c,f,b]},t.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return t.d(a,{a:a}),a},c=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,t.t=function(e,f){if(1&f&&(e=this(e)),8&f)return e;if("object"==typeof e&&e){if(4&f&&e.__esModule)return e;if(16&f&&"function"==typeof e.then)return e}var b=Object.create(null);t.r(b);var r={};a=a||[null,c({}),c([]),c(c)];for(var d=2&f&&e;"object"==typeof d&&!~a.indexOf(d);d=c(d))Object.getOwnPropertyNames(d).forEach((a=>r[a]=()=>e[a]));return r.default=()=>e,t.d(b,r),b},t.d=(e,a)=>{for(var c in a)t.o(a,c)&&!t.o(e,c)&&Object.defineProperty(e,c,{enumerable:!0,get:a[c]})},t.f={},t.e=e=>Promise.all(Object.keys(t.f).reduce(((a,c)=>(t.f[c](e,a),a)),[])),t.u=e=>"assets/js/"+({157:"8001f939",291:"4f7a2d40",490:"ce589067",560:"500027af",724:"fa40969b",746:"cf03142d",841:"d1393a72",849:"0058b4c6",850:"c6b74119",962:"046910c8",1019:"5ce9853b",1179:"489b8a4d",1235:"a7456010",1381:"a2bc1463",1440:"277a78f5",1519:"78b2b753",1640:"c9fa5aa5",1688:"9640838e",1903:"acecf23e",1924:"d8b805fb",1972:"73664a40",2042:"reactPlayerTwitch",2089:"c7b98810",2131:"299c7a47",2223:"5a2de241",2264:"17e5210b",2634:"c4f5d8e4",2711:"9e4087bc",2723:"reactPlayerMux",2908:"2c416566",2959:"50ea61d6",3021:"4cff09f6",3073:"e9e778b7",3213:"a9f09360",3249:"ccc49370",3276:"e5aefb32",3381:"42f80fc5",3392:"reactPlayerVidyard",3451:"70853c19",3605:"a88a3db3",3637:"f4f34a3a",3694:"8717b14a",3841:"56b5f4f8",3844:"bbdfc22d",3976:"0e384e19",4134:"393be207",4212:"621db11d",4317:"0028a090",4469:"52d5c0f9",4553:"451a5132",4584:"f82cd581",4813:"6875c492",4948:"bfe4b778",5277:"8320e026",5378:"38e3d9c8",5550:"14716de7",5557:"d9f32620",5597:"b18842e4",5742:"aba21aa0",5772:"28b19cd2",5970:"0f8cf55d",6007:"611db08b",6061:"1f391b9e",6157:"3973fcf3",6173:"reactPlayerVimeo",6197:"1aff3f87",6295:"d91ad230",6318:"bb4fa758",6328:"reactPlayerDailyMotion",6353:"5e1bb91e",6382:"5c04ee3b",6463:"reactPlayerKaltura",6473:"4c5e977b",6648:"0c0943c7",6653:"f214d5ff",6685:"ae010e44",6743:"e226bb09",6887:"reactPlayerFacebook",6969:"14eb3368",7068:"e92d0461",7098:"a7bd4aaa",7315:"f0ff4a36",7318:"e76c28ee",7458:"reactPlayerFilePlayer",7472:"814f3328",7477:"36994c47",7570:"reactPlayerMixcloud",7605:"770b40a9",7627:"reactPlayerStreamable",7643:"a6aa9e1f",7696:"1ee58ee1",7757:"eb56c656",7910:"e4f5c862",8025:"5e90a9b3",8097:"ab2a161b",8121:"3a2db09e",8130:"f81c1134",8146:"c15d9823",8209:"01a85c17",8211:"1f73ca32",8446:"reactPlayerYouTube",8462:"3217192f",8472:"13fdae3b",8503:"012b45bf",8609:"925b3f96",8669:"05632a52",8672:"8a725248",8734:"reactPlayerPreview",8737:"7661071f",8790:"2304e9ae",8927:"b0378e01",8947:"ef8b811a",9024:"e5a49157",9048:"a94703ab",9180:"8a855f99",9190:"6cb65baf",9241:"11b7b3d8",9325:"59362658",9328:"e273c56f",9340:"reactPlayerWistia",9426:"38ec836e",9441:"377084eb",9599:"2c586be5",9611:"06b6ef6a",9647:"5e95c892",9858:"1f7895dc",9938:"7b076186",9979:"reactPlayerSoundCloud",9983:"ada7accb"}[e]||e)+"."+{157:"be2f595e",291:"fb6bc395",490:"06dc6e05",560:"d65f3f92",724:"0711c505",746:"33cab0ea",841:"42868966",849:"accd8a6d",850:"3ac080ec",962:"abe7aaf7",1019:"b628cd80",1179:"88d6e870",1235:"e0fce024",1381:"9fe35bff",1440:"5dc69857",1463:"6c989e27",1519:"5bb2f535",1640:"d2ce80bf",1688:"be33b996",1903:"9c2000d9",1924:"7f7bb4f2",1936:"3329227e",1972:"6aa170c8",2042:"ccdbba13",2089:"11b02d02",2131:"7b17b751",2223:"7898036f",2264:"03a17636",2489:"a212f802",2634:"b5502b21",2711:"999c03aa",2723:"ad84c6fe",2908:"9a88f7fa",2959:"cecb2797",3021:"eb474160",3042:"040aac0d",3073:"732a63bb",3213:"929f06fd",3249:"d6c50b29",3276:"00ab24d9",3381:"a7f76393",3392:"a7951473",3451:"5d1e4741",3605:"0b93ed81",3637:"ffa80471",3694:"4d710693",3841:"6784ed33",3844:"de0fa34e",3976:"2d4c4f66",4132:"a5c6ef5a",4134:"7b436152",4212:"5dccb1c7",4317:"77285676",4469:"5faf56ff",4553:"c012dd2f",4584:"a7d307eb",4622:"420bc0ab",4813:"1198d246",4948:"e59f2eb2",5013:"b10f6f78",5277:"6e628336",5378:"73b1ae3a",5550:"def3ac1b",5557:"dffbf1c4",5597:"d81a2725",5742:"ac359952",5772:"40bab2e5",5970:"91dc704f",6007:"fe62cc08",6061:"bb03b217",6157:"fccfe0be",6173:"40e527dc",6197:"b8553e32",6295:"958608f5",6318:"213b74ab",6328:"a2ec01b1",6353:"aea9ee55",6382:"08676753",6463:"665cb544",6473:"0243df4f",6648:"152274c2",6653:"fdbc0c47",6685:"245776e2",6743:"a3fe848c",6887:"f478ac9c",6969:"408561bf",7054:"cab4fa5c",7068:"b2ebdef8",7098:"c920e4e4",7315:"92ed8946",7318:"deb0893f",7458:"e1cdf442",7472:"909d2cac",7477:"4aaebd1d",7570:"086b8299",7605:"49352e31",7627:"df6df631",7643:"4bb958af",7696:"6ededead",7757:"ad93b050",7910:"61af651f",8025:"18e81984",8097:"43a7d9e8",8121:"adb9cf78",8130:"29afdc55",8146:"bdf3ab1c",8160:"4a1cc722",8209:"b9e31ef1",8211:"48f7e73e",8446:"594ab8ca",8462:"d040ed86",8472:"7a8c2a64",8503:"45b8fe0a",8609:"6bdc8628",8669:"96765119",8672:"8dd48c73",8734:"1f259505",8737:"f138d21c",8790:"7b709933",8927:"cee13eea",8947:"19410731",9024:"331564b7",9048:"9a2fc095",9180:"0210056e",9190:"dd359a70",9241:"77521554",9325:"cc9232ad",9328:"18a92a49",9340:"91290ba6",9426:"4597631d",9441:"5276d129",9599:"bf9b3bd8",9611:"9a74cba2",9647:"2f22c378",9858:"939e017f",9938:"5f0c09d6",9979:"84827225",9983:"b4126a82"}[e]+".js",t.miniCssF=e=>{},t.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),t.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),f={},b="OpenSign-Docs:",t.l=(e,a,c,r)=>{if(f[e])f[e].push(a);else{var d,o;if(void 0!==c)for(var l=document.getElementsByTagName("script"),n=0;n{d.onerror=d.onload=null,clearTimeout(s);var b=f[e];if(delete f[e],d.parentNode&&d.parentNode.removeChild(d),b&&b.forEach((e=>e(c))),a)return a(c)},s=setTimeout(u.bind(null,void 0,{type:"timeout",target:d}),12e4);d.onerror=u.bind(null,d.onerror),d.onload=u.bind(null,d.onload),o&&document.head.appendChild(d)}},t.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),t.p="/",t.gca=function(e){return e={59362658:"9325","8001f939":"157","4f7a2d40":"291",ce589067:"490","500027af":"560",fa40969b:"724",cf03142d:"746",d1393a72:"841","0058b4c6":"849",c6b74119:"850","046910c8":"962","5ce9853b":"1019","489b8a4d":"1179",a7456010:"1235",a2bc1463:"1381","277a78f5":"1440","78b2b753":"1519",c9fa5aa5:"1640","9640838e":"1688",acecf23e:"1903",d8b805fb:"1924","73664a40":"1972",reactPlayerTwitch:"2042",c7b98810:"2089","299c7a47":"2131","5a2de241":"2223","17e5210b":"2264",c4f5d8e4:"2634","9e4087bc":"2711",reactPlayerMux:"2723","2c416566":"2908","50ea61d6":"2959","4cff09f6":"3021",e9e778b7:"3073",a9f09360:"3213",ccc49370:"3249",e5aefb32:"3276","42f80fc5":"3381",reactPlayerVidyard:"3392","70853c19":"3451",a88a3db3:"3605",f4f34a3a:"3637","8717b14a":"3694","56b5f4f8":"3841",bbdfc22d:"3844","0e384e19":"3976","393be207":"4134","621db11d":"4212","0028a090":"4317","52d5c0f9":"4469","451a5132":"4553",f82cd581:"4584","6875c492":"4813",bfe4b778:"4948","8320e026":"5277","38e3d9c8":"5378","14716de7":"5550",d9f32620:"5557",b18842e4:"5597",aba21aa0:"5742","28b19cd2":"5772","0f8cf55d":"5970","611db08b":"6007","1f391b9e":"6061","3973fcf3":"6157",reactPlayerVimeo:"6173","1aff3f87":"6197",d91ad230:"6295",bb4fa758:"6318",reactPlayerDailyMotion:"6328","5e1bb91e":"6353","5c04ee3b":"6382",reactPlayerKaltura:"6463","4c5e977b":"6473","0c0943c7":"6648",f214d5ff:"6653",ae010e44:"6685",e226bb09:"6743",reactPlayerFacebook:"6887","14eb3368":"6969",e92d0461:"7068",a7bd4aaa:"7098",f0ff4a36:"7315",e76c28ee:"7318",reactPlayerFilePlayer:"7458","814f3328":"7472","36994c47":"7477",reactPlayerMixcloud:"7570","770b40a9":"7605",reactPlayerStreamable:"7627",a6aa9e1f:"7643","1ee58ee1":"7696",eb56c656:"7757",e4f5c862:"7910","5e90a9b3":"8025",ab2a161b:"8097","3a2db09e":"8121",f81c1134:"8130",c15d9823:"8146","01a85c17":"8209","1f73ca32":"8211",reactPlayerYouTube:"8446","3217192f":"8462","13fdae3b":"8472","012b45bf":"8503","925b3f96":"8609","05632a52":"8669","8a725248":"8672",reactPlayerPreview:"8734","7661071f":"8737","2304e9ae":"8790",b0378e01:"8927",ef8b811a:"8947",e5a49157:"9024",a94703ab:"9048","8a855f99":"9180","6cb65baf":"9190","11b7b3d8":"9241",e273c56f:"9328",reactPlayerWistia:"9340","38ec836e":"9426","377084eb":"9441","2c586be5":"9599","06b6ef6a":"9611","5e95c892":"9647","1f7895dc":"9858","7b076186":"9938",reactPlayerSoundCloud:"9979",ada7accb:"9983"}[e]||e,t.p+t.u(e)},(()=>{var e={5354:0,1869:0};t.f.j=(a,c)=>{var f=t.o(e,a)?e[a]:void 0;if(0!==f)if(f)c.push(f[2]);else if(/^(1869|5354)$/.test(a))e[a]=0;else{var b=new Promise(((c,b)=>f=e[a]=[c,b]));c.push(f[2]=b);var r=t.p+t.u(a),d=new Error;t.l(r,(c=>{if(t.o(e,a)&&(0!==(f=e[a])&&(e[a]=void 0),f)){var b=c&&("load"===c.type?"missing":c.type),r=c&&c.target&&c.target.src;d.message="Loading chunk "+a+" failed.\n("+b+": "+r+")",d.name="ChunkLoadError",d.type=b,d.request=r,f[1](d)}}),"chunk-"+a,a)}},t.O.j=a=>0===e[a];var a=(a,c)=>{var f,b,r=c[0],d=c[1],o=c[2],l=0;if(r.some((a=>0!==e[a]))){for(f in d)t.o(d,f)&&(t.m[f]=d[f]);if(o)var n=o(t)}for(a&&a(c);l Archive | OpenSign™ - + diff --git a/blog/authors/index.html b/blog/authors/index.html index 2b282aeec..4c656fe08 100644 --- a/blog/authors/index.html +++ b/blog/authors/index.html @@ -5,7 +5,7 @@ Authors | OpenSign™ - + diff --git a/blog/first-blog-post/index.html b/blog/first-blog-post/index.html index aee348486..022eccb25 100644 --- a/blog/first-blog-post/index.html +++ b/blog/first-blog-post/index.html @@ -5,7 +5,7 @@ First Blog Post | OpenSign™ - + diff --git a/blog/index.html b/blog/index.html index b0ffe1a3d..886fd2922 100644 --- a/blog/index.html +++ b/blog/index.html @@ -5,7 +5,7 @@ Blog | OpenSign™ - + diff --git a/blog/long-blog-post/index.html b/blog/long-blog-post/index.html index 65baf5419..1fd6f2c65 100644 --- a/blog/long-blog-post/index.html +++ b/blog/long-blog-post/index.html @@ -5,7 +5,7 @@ Long Blog Post | OpenSign™ - + diff --git a/blog/mdx-blog-post/index.html b/blog/mdx-blog-post/index.html index 618090b95..44b00132d 100644 --- a/blog/mdx-blog-post/index.html +++ b/blog/mdx-blog-post/index.html @@ -5,7 +5,7 @@ MDX Blog Post | OpenSign™ - + diff --git a/blog/tags/docusaurus/index.html b/blog/tags/docusaurus/index.html index 1562e043a..cb243879b 100644 --- a/blog/tags/docusaurus/index.html +++ b/blog/tags/docusaurus/index.html @@ -5,7 +5,7 @@ 4 posts tagged with "docusaurus" | OpenSign™ - + diff --git a/blog/tags/facebook/index.html b/blog/tags/facebook/index.html index c379936b2..634bd2154 100644 --- a/blog/tags/facebook/index.html +++ b/blog/tags/facebook/index.html @@ -5,7 +5,7 @@ One post tagged with "facebook" | OpenSign™ - + diff --git a/blog/tags/hello/index.html b/blog/tags/hello/index.html index 3655f6ccb..ab92df73c 100644 --- a/blog/tags/hello/index.html +++ b/blog/tags/hello/index.html @@ -5,7 +5,7 @@ 2 posts tagged with "hello" | OpenSign™ - + diff --git a/blog/tags/hola/index.html b/blog/tags/hola/index.html index 6e6643b8b..94a9d5aee 100644 --- a/blog/tags/hola/index.html +++ b/blog/tags/hola/index.html @@ -5,7 +5,7 @@ One post tagged with "hola" | OpenSign™ - + diff --git a/blog/tags/index.html b/blog/tags/index.html index cff197957..2672e3289 100644 --- a/blog/tags/index.html +++ b/blog/tags/index.html @@ -5,7 +5,7 @@ Tags | OpenSign™ - + diff --git a/blog/welcome/index.html b/blog/welcome/index.html index 78f25a403..6fdf580c4 100644 --- a/blog/welcome/index.html +++ b/blog/welcome/index.html @@ -5,7 +5,7 @@ Welcome | OpenSign™ - + diff --git a/docs/API-docs/contactlist/index.html b/docs/API-docs/contactlist/index.html index 4a24818d1..7f06ee65c 100644 --- a/docs/API-docs/contactlist/index.html +++ b/docs/API-docs/contactlist/index.html @@ -5,7 +5,7 @@ Get Contact list | OpenSign™ - + diff --git a/docs/API-docs/createcontact/index.html b/docs/API-docs/createcontact/index.html index 9b15bfc3c..a3bbe5bdd 100644 --- a/docs/API-docs/createcontact/index.html +++ b/docs/API-docs/createcontact/index.html @@ -5,7 +5,7 @@ Create Contact | OpenSign™ - + diff --git a/docs/API-docs/createdocument/index.html b/docs/API-docs/createdocument/index.html index 0464ac766..bb130a5c7 100644 --- a/docs/API-docs/createdocument/index.html +++ b/docs/API-docs/createdocument/index.html @@ -5,7 +5,7 @@ Create Document | OpenSign™ - + diff --git a/docs/API-docs/createdocumentwithtemplateid/index.html b/docs/API-docs/createdocumentwithtemplateid/index.html index e5d0b20f5..eca215b13 100644 --- a/docs/API-docs/createdocumentwithtemplateid/index.html +++ b/docs/API-docs/createdocumentwithtemplateid/index.html @@ -5,7 +5,7 @@ Create Document from Template | OpenSign™ - + diff --git a/docs/API-docs/createfolder/index.html b/docs/API-docs/createfolder/index.html index 4c4ebbeed..a48d42a07 100644 --- a/docs/API-docs/createfolder/index.html +++ b/docs/API-docs/createfolder/index.html @@ -5,7 +5,7 @@ Create Folder | OpenSign™ - + diff --git a/docs/API-docs/createtemplate/index.html b/docs/API-docs/createtemplate/index.html index 8d8ebdf62..9e9f67ae7 100644 --- a/docs/API-docs/createtemplate/index.html +++ b/docs/API-docs/createtemplate/index.html @@ -5,7 +5,7 @@ Create Template | OpenSign™ - + diff --git a/docs/API-docs/delete-template/index.html b/docs/API-docs/delete-template/index.html index 5e3f9a42c..352d6369e 100644 --- a/docs/API-docs/delete-template/index.html +++ b/docs/API-docs/delete-template/index.html @@ -5,7 +5,7 @@ Delete Template | OpenSign™ - + diff --git a/docs/API-docs/delete-webhook/index.html b/docs/API-docs/delete-webhook/index.html index 199cdd93f..e2cb41bb3 100644 --- a/docs/API-docs/delete-webhook/index.html +++ b/docs/API-docs/delete-webhook/index.html @@ -5,7 +5,7 @@ Delete Webhook | OpenSign™ - + diff --git a/docs/API-docs/deletecontact/index.html b/docs/API-docs/deletecontact/index.html index 52d01b131..fc2af6591 100644 --- a/docs/API-docs/deletecontact/index.html +++ b/docs/API-docs/deletecontact/index.html @@ -5,7 +5,7 @@ Delete Contact | OpenSign™ - + diff --git a/docs/API-docs/deletedocument/index.html b/docs/API-docs/deletedocument/index.html index e08680649..f6ea3b885 100644 --- a/docs/API-docs/deletedocument/index.html +++ b/docs/API-docs/deletedocument/index.html @@ -5,7 +5,7 @@ Delete Document | OpenSign™ - + diff --git a/docs/API-docs/deletefolder/index.html b/docs/API-docs/deletefolder/index.html index ad9bd9337..9ef9226ad 100644 --- a/docs/API-docs/deletefolder/index.html +++ b/docs/API-docs/deletefolder/index.html @@ -5,7 +5,7 @@ Delete Folder | OpenSign™ - + diff --git a/docs/API-docs/draftdocument/index.html b/docs/API-docs/draftdocument/index.html index 47978ffd7..65372315f 100644 --- a/docs/API-docs/draftdocument/index.html +++ b/docs/API-docs/draftdocument/index.html @@ -5,7 +5,7 @@ Draft Document | OpenSign™ - + diff --git a/docs/API-docs/drafttemplate/index.html b/docs/API-docs/drafttemplate/index.html index 67f051188..0db3934cc 100644 --- a/docs/API-docs/drafttemplate/index.html +++ b/docs/API-docs/drafttemplate/index.html @@ -5,7 +5,7 @@ Draft Template | OpenSign™ - + diff --git a/docs/API-docs/folderlist/index.html b/docs/API-docs/folderlist/index.html index 9545ae4fe..d89be4d2a 100644 --- a/docs/API-docs/folderlist/index.html +++ b/docs/API-docs/folderlist/index.html @@ -5,7 +5,7 @@ Get folder list | OpenSign™ - + diff --git a/docs/API-docs/get-template/index.html b/docs/API-docs/get-template/index.html index 82a0e2fe6..b9bd36cf6 100644 --- a/docs/API-docs/get-template/index.html +++ b/docs/API-docs/get-template/index.html @@ -5,7 +5,7 @@ Get Template | OpenSign™ - + diff --git a/docs/API-docs/get-user/index.html b/docs/API-docs/get-user/index.html index 3b5e04bd9..21cd47353 100644 --- a/docs/API-docs/get-user/index.html +++ b/docs/API-docs/get-user/index.html @@ -5,7 +5,7 @@ Get your account details | OpenSign™ - + diff --git a/docs/API-docs/get-webhook/index.html b/docs/API-docs/get-webhook/index.html index 9696d47e3..5df32e623 100644 --- a/docs/API-docs/get-webhook/index.html +++ b/docs/API-docs/get-webhook/index.html @@ -5,7 +5,7 @@ Get Webhook | OpenSign™ - + diff --git a/docs/API-docs/getcontact/index.html b/docs/API-docs/getcontact/index.html index 441338603..d0302e1a0 100644 --- a/docs/API-docs/getcontact/index.html +++ b/docs/API-docs/getcontact/index.html @@ -5,7 +5,7 @@ Get Contact | OpenSign™ - + diff --git a/docs/API-docs/getdocument/index.html b/docs/API-docs/getdocument/index.html index e56f15a4a..ccaf1045d 100644 --- a/docs/API-docs/getdocument/index.html +++ b/docs/API-docs/getdocument/index.html @@ -5,7 +5,7 @@ Get Document | OpenSign™ - + diff --git a/docs/API-docs/getdocumentlist/index.html b/docs/API-docs/getdocumentlist/index.html index 81f2610f9..4be49305c 100644 --- a/docs/API-docs/getdocumentlist/index.html +++ b/docs/API-docs/getdocumentlist/index.html @@ -5,7 +5,7 @@ Get Document list from status | OpenSign™ - + diff --git a/docs/API-docs/getfolder/index.html b/docs/API-docs/getfolder/index.html index deb136f10..e440c7274 100644 --- a/docs/API-docs/getfolder/index.html +++ b/docs/API-docs/getfolder/index.html @@ -5,7 +5,7 @@ Get Folder | OpenSign™ - + diff --git a/docs/API-docs/gettemplatelist/index.html b/docs/API-docs/gettemplatelist/index.html index 3d62b0396..440d2c8b7 100644 --- a/docs/API-docs/gettemplatelist/index.html +++ b/docs/API-docs/gettemplatelist/index.html @@ -5,7 +5,7 @@ Get Template list | OpenSign™ - + diff --git a/docs/API-docs/intro/index.html b/docs/API-docs/intro/index.html index 8019568ce..74f9c5295 100644 --- a/docs/API-docs/intro/index.html +++ b/docs/API-docs/intro/index.html @@ -5,7 +5,7 @@ Overview | OpenSign™ - + diff --git a/docs/API-docs/opensign-api-v-1/index.html b/docs/API-docs/opensign-api-v-1/index.html index 8dff1adf6..6c6cd3c1e 100644 --- a/docs/API-docs/opensign-api-v-1/index.html +++ b/docs/API-docs/opensign-api-v-1/index.html @@ -5,7 +5,7 @@ OpenSign API v1 | OpenSign™ - + diff --git a/docs/API-docs/resendrequestmail/index.html b/docs/API-docs/resendrequestmail/index.html index 6fd7c1bd1..e8f5ef814 100644 --- a/docs/API-docs/resendrequestmail/index.html +++ b/docs/API-docs/resendrequestmail/index.html @@ -5,7 +5,7 @@ Resend request mail | OpenSign™ - + diff --git a/docs/API-docs/save-update-webhook/index.html b/docs/API-docs/save-update-webhook/index.html index 370ed0ab7..b5239e547 100644 --- a/docs/API-docs/save-update-webhook/index.html +++ b/docs/API-docs/save-update-webhook/index.html @@ -5,7 +5,7 @@ Save or Update Webhook | OpenSign™ - + diff --git a/docs/API-docs/selfsign/index.html b/docs/API-docs/selfsign/index.html index 3b1544bca..5bec251f2 100644 --- a/docs/API-docs/selfsign/index.html +++ b/docs/API-docs/selfsign/index.html @@ -5,7 +5,7 @@ Self Sign | OpenSign™ - + diff --git a/docs/API-docs/update-document/index.html b/docs/API-docs/update-document/index.html index 26d552578..1c9c3389e 100644 --- a/docs/API-docs/update-document/index.html +++ b/docs/API-docs/update-document/index.html @@ -5,7 +5,7 @@ Update Document | OpenSign™ - + diff --git a/docs/API-docs/update-template/index.html b/docs/API-docs/update-template/index.html index 629014b0c..60e3e0207 100644 --- a/docs/API-docs/update-template/index.html +++ b/docs/API-docs/update-template/index.html @@ -5,7 +5,7 @@ Update Template | OpenSign™ - + diff --git a/docs/API-docs/updatefolder/index.html b/docs/API-docs/updatefolder/index.html index 988f26557..151637219 100644 --- a/docs/API-docs/updatefolder/index.html +++ b/docs/API-docs/updatefolder/index.html @@ -5,7 +5,7 @@ Update Folder | OpenSign™ - + diff --git a/docs/category/cloud-storage/index.html b/docs/category/cloud-storage/index.html index e09d9b10e..e756f2844 100644 --- a/docs/category/cloud-storage/index.html +++ b/docs/category/cloud-storage/index.html @@ -5,7 +5,7 @@ Cloud Storage | OpenSign™ - + diff --git a/docs/category/create-new-opensign-document/index.html b/docs/category/create-new-opensign-document/index.html index b5d16bdff..32d3953d3 100644 --- a/docs/category/create-new-opensign-document/index.html +++ b/docs/category/create-new-opensign-document/index.html @@ -5,7 +5,7 @@ Create New OpenSign Document | OpenSign™ - + diff --git a/docs/category/docker/index.html b/docs/category/docker/index.html index 88bb58629..ec5f318af 100644 --- a/docs/category/docker/index.html +++ b/docs/category/docker/index.html @@ -5,7 +5,7 @@ Docker | OpenSign™ - + diff --git a/docs/category/faqs/index.html b/docs/category/faqs/index.html index b93813f2f..ec37b1dca 100644 --- a/docs/category/faqs/index.html +++ b/docs/category/faqs/index.html @@ -5,7 +5,7 @@ FAQs | OpenSign™ - + diff --git a/docs/category/guides/index.html b/docs/category/guides/index.html index 8f76d5d06..c2b8b2ae1 100644 --- a/docs/category/guides/index.html +++ b/docs/category/guides/index.html @@ -5,7 +5,7 @@ Guides | OpenSign™ - + diff --git a/docs/category/manage-docs-using-opensign-drive/index.html b/docs/category/manage-docs-using-opensign-drive/index.html index cfe47b8be..02a26f3ca 100644 --- a/docs/category/manage-docs-using-opensign-drive/index.html +++ b/docs/category/manage-docs-using-opensign-drive/index.html @@ -5,7 +5,7 @@ Manage Docs using OpenSign™ Drive | OpenSign™ - + diff --git a/docs/category/reports/index.html b/docs/category/reports/index.html index c007838e6..9d2ae97cc 100644 --- a/docs/category/reports/index.html +++ b/docs/category/reports/index.html @@ -5,7 +5,7 @@ Reports | OpenSign™ - + diff --git a/docs/category/settings/index.html b/docs/category/settings/index.html index 31ab12a20..dad1e114e 100644 --- a/docs/category/settings/index.html +++ b/docs/category/settings/index.html @@ -5,7 +5,7 @@ Settings | OpenSign™ - + diff --git a/docs/category/templates/index.html b/docs/category/templates/index.html index 23b383b5a..55bbef8aa 100644 --- a/docs/category/templates/index.html +++ b/docs/category/templates/index.html @@ -5,7 +5,7 @@ Templates | OpenSign™ - + diff --git a/docs/contribute/CODE_OF_CONDUCT/index.html b/docs/contribute/CODE_OF_CONDUCT/index.html index fb08e98c1..064dc5fa9 100644 --- a/docs/contribute/CODE_OF_CONDUCT/index.html +++ b/docs/contribute/CODE_OF_CONDUCT/index.html @@ -5,7 +5,7 @@ Code of conduct | OpenSign™ - + diff --git a/docs/contribute/COMMUNITY/index.html b/docs/contribute/COMMUNITY/index.html index 0aca797f5..47711a140 100644 --- a/docs/contribute/COMMUNITY/index.html +++ b/docs/contribute/COMMUNITY/index.html @@ -5,7 +5,7 @@ Community at OpenSign™ | OpenSign™ - + diff --git a/docs/contribute/INSTALLATION/index.html b/docs/contribute/INSTALLATION/index.html index d679cc816..8c137dd01 100644 --- a/docs/contribute/INSTALLATION/index.html +++ b/docs/contribute/INSTALLATION/index.html @@ -5,7 +5,7 @@ Installation instructions | OpenSign™ - + diff --git a/docs/contribute/REPORTING_GUIDELINES/index.html b/docs/contribute/REPORTING_GUIDELINES/index.html index d3901fb59..4de390b5a 100644 --- a/docs/contribute/REPORTING_GUIDELINES/index.html +++ b/docs/contribute/REPORTING_GUIDELINES/index.html @@ -5,7 +5,7 @@ OpenSign™ Reporting Guidelines | OpenSign™ - + diff --git a/docs/contribute/intro/index.html b/docs/contribute/intro/index.html index ca406c0d3..7c4c3aaa3 100644 --- a/docs/contribute/intro/index.html +++ b/docs/contribute/intro/index.html @@ -5,7 +5,7 @@ Contributing to OpenSign | OpenSign™ - + diff --git a/docs/help/FAQs/Ensure this field is accurately filled and meets all requirements/index.html b/docs/help/FAQs/Ensure this field is accurately filled and meets all requirements/index.html index 3765ce263..2dab3c8a0 100644 --- a/docs/help/FAQs/Ensure this field is accurately filled and meets all requirements/index.html +++ b/docs/help/FAQs/Ensure this field is accurately filled and meets all requirements/index.html @@ -5,7 +5,7 @@ Why am I getting 'Ensure this field is accurately filled and meets all requirements'? | OpenSign™ - + diff --git a/docs/help/FAQs/index.html b/docs/help/FAQs/index.html index c7b4dab8e..09383e53b 100644 --- a/docs/help/FAQs/index.html +++ b/docs/help/FAQs/index.html @@ -5,7 +5,7 @@ Why is there no dropdown list when I sign a document myself? | OpenSign™ - + diff --git a/docs/help/New-Document/enforce-email-verification/index.html b/docs/help/New-Document/enforce-email-verification/index.html index 87512ea22..57100ae49 100644 --- a/docs/help/New-Document/enforce-email-verification/index.html +++ b/docs/help/New-Document/enforce-email-verification/index.html @@ -5,7 +5,7 @@ Enforce email OTP verification | OpenSign™ - + diff --git a/docs/help/New-Document/navigate-between-pages/index.html b/docs/help/New-Document/navigate-between-pages/index.html index 90bc56cdc..0531772c8 100644 --- a/docs/help/New-Document/navigate-between-pages/index.html +++ b/docs/help/New-Document/navigate-between-pages/index.html @@ -5,7 +5,7 @@ Navigate between pages of a document | OpenSign™ - + diff --git a/docs/help/New-Document/request-signatures/index.html b/docs/help/New-Document/request-signatures/index.html index 742b0e279..00db0ba09 100644 --- a/docs/help/New-Document/request-signatures/index.html +++ b/docs/help/New-Document/request-signatures/index.html @@ -5,7 +5,7 @@ Request signatures | OpenSign™ - + diff --git a/docs/help/New-Document/sign-yourself/index.html b/docs/help/New-Document/sign-yourself/index.html index 4e5845f4a..7ff0ccaa1 100644 --- a/docs/help/New-Document/sign-yourself/index.html +++ b/docs/help/New-Document/sign-yourself/index.html @@ -5,7 +5,7 @@ Sign your-self | OpenSign™ - + diff --git a/docs/help/OpenSign™ Drive/create-document/index.html b/docs/help/OpenSign™ Drive/create-document/index.html index abe1e4c91..1b66e4c87 100644 --- a/docs/help/OpenSign™ Drive/create-document/index.html +++ b/docs/help/OpenSign™ Drive/create-document/index.html @@ -5,7 +5,7 @@ Create Docs & Folders | OpenSign™ - + diff --git a/docs/help/OpenSign™ Drive/list-grid-view/index.html b/docs/help/OpenSign™ Drive/list-grid-view/index.html index e6cc5778e..96e2889ad 100644 --- a/docs/help/OpenSign™ Drive/list-grid-view/index.html +++ b/docs/help/OpenSign™ Drive/list-grid-view/index.html @@ -5,7 +5,7 @@ Grid vs List view | OpenSign™ - + diff --git a/docs/help/OpenSign™ Drive/organize-documents/index.html b/docs/help/OpenSign™ Drive/organize-documents/index.html index ced21968f..6c61b988c 100644 --- a/docs/help/OpenSign™ Drive/organize-documents/index.html +++ b/docs/help/OpenSign™ Drive/organize-documents/index.html @@ -5,7 +5,7 @@ OpenSign™ Drive Interface Documentation | OpenSign™ - + diff --git a/docs/help/OpenSign™ Drive/rename-document/index.html b/docs/help/OpenSign™ Drive/rename-document/index.html index f97ce9124..88b918732 100644 --- a/docs/help/OpenSign™ Drive/rename-document/index.html +++ b/docs/help/OpenSign™ Drive/rename-document/index.html @@ -5,7 +5,7 @@ Rename documents from OpenSign™ Drive | OpenSign™ - + diff --git a/docs/help/Reports/completed/index.html b/docs/help/Reports/completed/index.html index 7977f6f67..9f712eac3 100644 --- a/docs/help/Reports/completed/index.html +++ b/docs/help/Reports/completed/index.html @@ -5,7 +5,7 @@ Completed | OpenSign™ - + diff --git a/docs/help/Reports/contactbook/index.html b/docs/help/Reports/contactbook/index.html index baca0d289..00040b263 100644 --- a/docs/help/Reports/contactbook/index.html +++ b/docs/help/Reports/contactbook/index.html @@ -5,7 +5,7 @@ Contactbook | OpenSign™ - + diff --git a/docs/help/Reports/declined/index.html b/docs/help/Reports/declined/index.html index 6111bcd8b..4fbd81cbe 100644 --- a/docs/help/Reports/declined/index.html +++ b/docs/help/Reports/declined/index.html @@ -5,7 +5,7 @@ Declined | OpenSign™ - + diff --git a/docs/help/Reports/drafts/index.html b/docs/help/Reports/drafts/index.html index 3978aad44..81761ffda 100644 --- a/docs/help/Reports/drafts/index.html +++ b/docs/help/Reports/drafts/index.html @@ -5,7 +5,7 @@ Drafts | OpenSign™ - + diff --git a/docs/help/Reports/expired/index.html b/docs/help/Reports/expired/index.html index 22b1b4448..3e3317403 100644 --- a/docs/help/Reports/expired/index.html +++ b/docs/help/Reports/expired/index.html @@ -5,7 +5,7 @@ Expired | OpenSign™ - + diff --git a/docs/help/Reports/in-progress/index.html b/docs/help/Reports/in-progress/index.html index 3b50000f1..cb60b99d7 100644 --- a/docs/help/Reports/in-progress/index.html +++ b/docs/help/Reports/in-progress/index.html @@ -5,7 +5,7 @@ In Progress | OpenSign™ - + diff --git a/docs/help/Reports/need-your-sign/index.html b/docs/help/Reports/need-your-sign/index.html index 74aacd85d..f8c312f48 100644 --- a/docs/help/Reports/need-your-sign/index.html +++ b/docs/help/Reports/need-your-sign/index.html @@ -5,7 +5,7 @@ Need your sign | OpenSign™ - + diff --git a/docs/help/Settings/disabledocumentid/index.html b/docs/help/Settings/disabledocumentid/index.html index e51f0b6d9..bc5726ff4 100644 --- a/docs/help/Settings/disabledocumentid/index.html +++ b/docs/help/Settings/disabledocumentid/index.html @@ -5,7 +5,7 @@ Disable DocumentId | OpenSign™ - + diff --git a/docs/help/Settings/manage-users/index.html b/docs/help/Settings/manage-users/index.html index d44e64d53..17f3efacf 100644 --- a/docs/help/Settings/manage-users/index.html +++ b/docs/help/Settings/manage-users/index.html @@ -5,7 +5,7 @@ Manage users | OpenSign™ - + diff --git a/docs/help/Settings/my-signature/index.html b/docs/help/Settings/my-signature/index.html index 86453fb0d..3c4358770 100644 --- a/docs/help/Settings/my-signature/index.html +++ b/docs/help/Settings/my-signature/index.html @@ -5,7 +5,7 @@ My Signature | OpenSign™ - + diff --git a/docs/help/Templates/create-template/index.html b/docs/help/Templates/create-template/index.html index 4a1df4520..572aeb3f0 100644 --- a/docs/help/Templates/create-template/index.html +++ b/docs/help/Templates/create-template/index.html @@ -5,7 +5,7 @@ Create Templates | OpenSign™ - + diff --git a/docs/help/Templates/embed-template/index.html b/docs/help/Templates/embed-template/index.html index 25c9b0737..72ad7bab9 100644 --- a/docs/help/Templates/embed-template/index.html +++ b/docs/help/Templates/embed-template/index.html @@ -5,7 +5,7 @@ Embedding OpenSign templates | OpenSign™ - + diff --git a/docs/help/Templates/publicTemplate/index.html b/docs/help/Templates/publicTemplate/index.html index f463413b9..37c3f9b32 100644 --- a/docs/help/Templates/publicTemplate/index.html +++ b/docs/help/Templates/publicTemplate/index.html @@ -5,7 +5,7 @@ Setting up an OpenSign template for public signing | OpenSign™ - + diff --git a/docs/help/Templates/quick-send/index.html b/docs/help/Templates/quick-send/index.html index 723f5719a..3b7f03b21 100644 --- a/docs/help/Templates/quick-send/index.html +++ b/docs/help/Templates/quick-send/index.html @@ -5,7 +5,7 @@ Quickly Send the Document for Signature Using Template | OpenSign™ - + diff --git a/docs/help/Templates/use-template/index.html b/docs/help/Templates/use-template/index.html index 46acf412b..070bc97e4 100644 --- a/docs/help/Templates/use-template/index.html +++ b/docs/help/Templates/use-template/index.html @@ -5,7 +5,7 @@ Use template to create documents | OpenSign™ - + diff --git a/docs/help/intro/index.html b/docs/help/intro/index.html index b1e1823c8..c93f724fc 100644 --- a/docs/help/intro/index.html +++ b/docs/help/intro/index.html @@ -5,7 +5,7 @@ Intro | OpenSign™ - + diff --git a/docs/intro/index.html b/docs/intro/index.html index f926f9766..4e9233623 100644 --- a/docs/intro/index.html +++ b/docs/intro/index.html @@ -5,7 +5,7 @@ Tutorial Intro | OpenSign™ - + diff --git a/docs/self-host/One-click-Install/DigitalOcean/index.html b/docs/self-host/One-click-Install/DigitalOcean/index.html index 8356bd5b0..373722eb9 100644 --- a/docs/self-host/One-click-Install/DigitalOcean/index.html +++ b/docs/self-host/One-click-Install/DigitalOcean/index.html @@ -5,7 +5,7 @@ Digital Ocean | OpenSign™ - + diff --git a/docs/self-host/cloud-storage/s3/index.html b/docs/self-host/cloud-storage/s3/index.html index 2074890c9..0bc5cce92 100644 --- a/docs/self-host/cloud-storage/s3/index.html +++ b/docs/self-host/cloud-storage/s3/index.html @@ -5,7 +5,7 @@ AWS S3 | OpenSign™ - + diff --git a/docs/self-host/docker/run-locally/index.html b/docs/self-host/docker/run-locally/index.html index edba0c580..afdac6e3b 100644 --- a/docs/self-host/docker/run-locally/index.html +++ b/docs/self-host/docker/run-locally/index.html @@ -5,7 +5,7 @@ Self-host OpenSign™ with Docker on Linux/MacOS/Windows | OpenSign™ - + @@ -42,7 +42,7 @@

Information About ENV variables which are used to setup OpenSign™ with Docker on Localhost

To set up OpenSign™ locally using Docker, the following prerequisites are required:

Add below Environment Varaibles to the ".env.prod" file that is automatically created in order to personalize your installation:

-
Environment VaribaleValueDescription
PUBLIC_URLhttps://localhost:3001 or https://opensign.yourdomain.comSet it to the URL form where the app home page will be accessed
APP_IDopensignA 12 character long random app identifier. The value of this should be same as REACT_APP_APPID which is a variable used by Frontend React App.
MASTER_KEYXnAadwKxxByMrA 12 character long random secret key that allows access to all the data. It is used in Parse dashboard config to view all the data in the database.
MONGODB_URImongodb://mongo-container:27017/OpenSignDBMongodb URI to connect to
PARSE_MOUNT/appPath on which APIs should be mounted. Do not change this. This variable shall be removed & value hardcoded in the source code in coming versions.
SERVER_URLhttp://localhost:8080/appSet it to the URL from where APIs will be accessible to the NodeJS functions, for local development it should be localhost:8080/app
DO_SPACEDOSPACENAMEDigital ocean space name or AWS S3 bucket name for uploading documents
DO_ENDPOINTams3.digitaloceanspaces.comDigital ocean spaces endpoint or AWS S3 endpoint for uploading documents
DO_BASEURLhttps://dospace.ams3.digitaloceanspaces.comDigital ocean baseurl or AWS S3 base URL
DO_ACCESS_KEY_IDYOUR_S3_ACCESS_IDDigital ocean spaces access key ID or AWS s3 Access key ID for uploading the docs
DO_SECRET_ACCESS_KEYYOUR_S3_ACCESS_KEYDigital ocean spaces secret access key or AWS s3 secret access key for uploading the docs
DO_REGIONYOUR_S3_REGIONDigital ocean spaces region or AWS s3 region
USE_LOCALtrueIf this is set to true, local file storage will be used to save files, and DO credentials will be ignored.
MAILGUN_API_KEYYOUR_MAILGUNAPI_KEYMailgun API Key
MAILGUN_DOMAINYOUR_MAILGUNAPI_DOMAINMailgun API Domain
MAILGUN_SENDER-Mailgun Sender Mail ID
SMTP_ENABLEfalseIf this is set to true, emails will be sent through SMTP, and Mailgun credentials will be ignored.
SMTP_HOSTsmtp.yourhost.comProvide smtp host
SMTP_PORT443Provide smtp port number
SMTP_USER_EMAILmailer@yourdomain.comProvide user email of smtp
SMTP_PASSpasswordProvide smtp password
PFX_BASE64-Base64 encoded PFX or p12 document signing certificate file. You can generate base64 encoded self sign certificate using the passphrase.
PASS_PHRASEopensignPass phrase of PFX or p12 document signing certificate file.
+
Environment VaribaleValueDescription
PUBLIC_URLhttps://localhost:3001 or https://opensign.yourdomain.comSet it to the URL form where the app home page will be accessed
APP_IDopensignA 12 character long random app identifier.
MASTER_KEYXnAadwKxxByMrA 12 character long random secret key that allows access to all the data. It is used in Parse dashboard config to view all the data in the database.
MONGODB_URImongodb://mongo-container:27017/OpenSignDBMongodb URI to connect to
PARSE_MOUNT/appPath on which APIs should be mounted. Do not change this. This variable shall be removed & value hardcoded in the source code in coming versions.
SERVER_URLhttp://localhost:8080/appSet it to the URL from where APIs will be accessible to the NodeJS functions, for local development it should be localhost:8080/app
DO_SPACEDOSPACENAMEDigital ocean space name or AWS S3 bucket name for uploading documents
DO_ENDPOINTams3.digitaloceanspaces.comDigital ocean spaces endpoint or AWS S3 endpoint for uploading documents
DO_BASEURLhttps://dospace.ams3.digitaloceanspaces.comDigital ocean baseurl or AWS S3 base URL
DO_ACCESS_KEY_IDYOUR_S3_ACCESS_IDDigital ocean spaces access key ID or AWS s3 Access key ID for uploading the docs
DO_SECRET_ACCESS_KEYYOUR_S3_ACCESS_KEYDigital ocean spaces secret access key or AWS s3 secret access key for uploading the docs
DO_REGIONYOUR_S3_REGIONDigital ocean spaces region or AWS s3 region
USE_LOCALtrueIf this is set to true, local file storage will be used to save files, and DO credentials will be ignored.
MAILGUN_API_KEYYOUR_MAILGUNAPI_KEYMailgun API Key
MAILGUN_DOMAINYOUR_MAILGUNAPI_DOMAINMailgun API Domain
MAILGUN_SENDER-Mailgun Sender Mail ID
SMTP_ENABLEfalseIf this is set to true, emails will be sent through SMTP, and Mailgun credentials will be ignored.
SMTP_HOSTsmtp.yourhost.comProvide smtp host
SMTP_PORT443Provide smtp port number
SMTP_USERNAME-Provide username of smtp
SMTP_USER_EMAILmailer@yourdomain.comProvide user email of smtp
SMTP_PASSpasswordProvide smtp password
PFX_BASE64-Base64 encoded PFX or p12 document signing certificate file. You can generate base64 encoded self sign certificate using the passphrase.
PASS_PHRASEopensignPass phrase of PFX or p12 document signing certificate file.

Steps to Generate Self Sign Certificate

# execute below command and use passphrase 'opensign'
openssl genrsa -des3 -out ./local_dev.key 2048
openssl req -key ./local_dev.key -new -x509 -days 365 -out ./local_dev.crt
openssl pkcs12 -inkey ./local_dev.key -in ./local_dev.crt -export -out ./local_dev.pfx
openssl base64 -in ./local_dev.pfx -out ./base64_pfx

Please note that when signing a document using a certificate generated through this process, it won’t be recognized as valid by Adobe Acrobat. To get the green tick on your signed documents, you'll need to purchase a document signing certificate (a p12 certificate in pfx format) from an AATL-approved Certificate Authority.

diff --git a/docs/self-host/docker/upgrade-deployment/index.html b/docs/self-host/docker/upgrade-deployment/index.html index 2f694cb3e..1a9817c86 100644 --- a/docs/self-host/docker/upgrade-deployment/index.html +++ b/docs/self-host/docker/upgrade-deployment/index.html @@ -5,7 +5,7 @@ OpenSign™ Self-Hosted 'Upgrade Deployment' Guide Using Docker on Linux, macOS, or Windows | OpenSign™ - + diff --git a/docs/self-host/guides/env-variables/index.html b/docs/self-host/guides/env-variables/index.html index b9c315dc2..d054e1ff3 100644 --- a/docs/self-host/guides/env-variables/index.html +++ b/docs/self-host/guides/env-variables/index.html @@ -5,7 +5,7 @@ ENV variables which are used to setup OpenSign™ with Docker on Localhost | OpenSign™ - + diff --git a/docs/self-host/guides/how-to-generate-self-signed-document-signing-certificate/index.html b/docs/self-host/guides/how-to-generate-self-signed-document-signing-certificate/index.html index b895e0ad1..074acc13d 100644 --- a/docs/self-host/guides/how-to-generate-self-signed-document-signing-certificate/index.html +++ b/docs/self-host/guides/how-to-generate-self-signed-document-signing-certificate/index.html @@ -5,7 +5,7 @@ How to generate self-signed document signing certificate? | OpenSign™ - + diff --git a/docs/self-host/guides/upgrade-to-v2.1.0/index.html b/docs/self-host/guides/upgrade-to-v2.1.0/index.html index 91ced7172..c036df2d7 100644 --- a/docs/self-host/guides/upgrade-to-v2.1.0/index.html +++ b/docs/self-host/guides/upgrade-to-v2.1.0/index.html @@ -5,7 +5,7 @@ How to upgrade self-hosted OpenSign to v2.1.0? | OpenSign™ - + diff --git a/docs/self-host/intro/index.html b/docs/self-host/intro/index.html index 8de60f7b2..f1daa2c36 100644 --- a/docs/self-host/intro/index.html +++ b/docs/self-host/intro/index.html @@ -5,7 +5,7 @@ Self-Hosting OpenSign | OpenSign™ - + diff --git a/index.html b/index.html index 702d7c9ad..5cf6be329 100644 --- a/index.html +++ b/index.html @@ -5,7 +5,7 @@ Official OpenSign™ Docs - tutorials, API documentation, self-host help & much more. | OpenSign™ - + diff --git a/markdown-page/index.html b/markdown-page/index.html index c4828711a..8b44db8d2 100644 --- a/markdown-page/index.html +++ b/markdown-page/index.html @@ -5,7 +5,7 @@ Markdown page example | OpenSign™ - +