From cd358d2f22caeb790b4eb525910c9803d6de0684 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sun, 8 Sep 2024 21:17:07 +0000 Subject: [PATCH] deploy: f9f25dc0c32395a4c6d9182684decd80ea87f3fd --- 404.html | 2 +- assets/js/{489b8a4d.f0312f9a.js => 489b8a4d.ed6d4680.js} | 2 +- .../js/{runtime~main.8fb3e37a.js => runtime~main.5097720b.js} | 2 +- blog/archive/index.html | 2 +- blog/first-blog-post/index.html | 2 +- blog/index.html | 2 +- blog/long-blog-post/index.html | 2 +- blog/mdx-blog-post/index.html | 2 +- blog/tags/docusaurus/index.html | 2 +- blog/tags/facebook/index.html | 2 +- blog/tags/hello/index.html | 2 +- blog/tags/hola/index.html | 2 +- blog/tags/index.html | 2 +- blog/welcome/index.html | 2 +- docs/API-docs/contactlist/index.html | 2 +- docs/API-docs/createcontact/index.html | 2 +- docs/API-docs/createdocument/index.html | 2 +- docs/API-docs/createdocumentwithtemplateid/index.html | 2 +- docs/API-docs/createfolder/index.html | 2 +- docs/API-docs/createtemplate/index.html | 2 +- docs/API-docs/delete-template/index.html | 2 +- docs/API-docs/delete-webhook/index.html | 2 +- docs/API-docs/deletecontact/index.html | 2 +- docs/API-docs/deletedocument/index.html | 2 +- docs/API-docs/deletefolder/index.html | 2 +- docs/API-docs/draftedocument/index.html | 2 +- docs/API-docs/folderlist/index.html | 2 +- docs/API-docs/get-template/index.html | 2 +- docs/API-docs/get-user/index.html | 2 +- docs/API-docs/get-webhook/index.html | 2 +- docs/API-docs/getcontact/index.html | 2 +- docs/API-docs/getdocument/index.html | 2 +- docs/API-docs/getdocumentlist/index.html | 2 +- docs/API-docs/getfolder/index.html | 2 +- docs/API-docs/gettemplatelist/index.html | 2 +- docs/API-docs/intro/index.html | 2 +- docs/API-docs/opensign-api-v-1/index.html | 2 +- docs/API-docs/resendrequestmail/index.html | 2 +- docs/API-docs/save-update-webhook/index.html | 2 +- docs/API-docs/update-document/index.html | 2 +- docs/API-docs/update-template/index.html | 2 +- docs/API-docs/updatefolder/index.html | 2 +- docs/category/cloud-storage/index.html | 2 +- docs/category/create-new-opensign-document/index.html | 2 +- docs/category/docker/index.html | 2 +- docs/category/faqs/index.html | 2 +- docs/category/guides/index.html | 2 +- docs/category/manage-docs-using-opensign-drive/index.html | 2 +- docs/category/reports/index.html | 2 +- docs/category/settings/index.html | 2 +- docs/category/templates/index.html | 2 +- docs/contribute/CODE_OF_CONDUCT/index.html | 2 +- docs/contribute/COMMUNITY/index.html | 2 +- docs/contribute/INSTALLATION/index.html | 2 +- docs/contribute/REPORTING_GUIDELINES/index.html | 2 +- docs/contribute/intro/index.html | 2 +- .../index.html | 2 +- docs/help/FAQs/index.html | 2 +- docs/help/New-Document/navigate-between-pages/index.html | 2 +- docs/help/New-Document/request-signatures/index.html | 2 +- docs/help/New-Document/sign-yourself/index.html | 2 +- docs/help/OpenSign™ Drive/create-document/index.html | 2 +- docs/help/OpenSign™ Drive/list-grid-view/index.html | 2 +- docs/help/OpenSign™ Drive/organize-documents/index.html | 2 +- docs/help/OpenSign™ Drive/rename-document/index.html | 2 +- docs/help/Reports/completed/index.html | 2 +- docs/help/Reports/declined/index.html | 2 +- docs/help/Reports/drafts/index.html | 2 +- docs/help/Reports/expired/index.html | 2 +- docs/help/Reports/in-progress/index.html | 2 +- docs/help/Reports/need-your-sign/index.html | 2 +- docs/help/Settings/disabledocumentid/index.html | 2 +- docs/help/Settings/manage-users/index.html | 2 +- docs/help/Settings/my-signature/index.html | 2 +- docs/help/Templates/create-template/index.html | 2 +- docs/help/Templates/quick-send/index.html | 2 +- docs/help/Templates/use-template/index.html | 2 +- docs/help/intro/index.html | 2 +- docs/intro/index.html | 2 +- docs/self-host/One-click-Install/DigitalOcean/index.html | 2 +- docs/self-host/cloud-storage/s3/index.html | 2 +- docs/self-host/docker/run-locally/index.html | 3 ++- docs/self-host/guides/env-variables/index.html | 2 +- .../index.html | 2 +- docs/self-host/guides/upgrade-to-v2.1.0/index.html | 2 +- docs/self-host/intro/index.html | 2 +- index.html | 2 +- markdown-page/index.html | 2 +- 88 files changed, 89 insertions(+), 88 deletions(-) rename assets/js/{489b8a4d.f0312f9a.js => 489b8a4d.ed6d4680.js} (83%) rename assets/js/{runtime~main.8fb3e37a.js => runtime~main.5097720b.js} (99%) diff --git a/404.html b/404.html index 56d7aa3e8..e237933ce 100644 --- a/404.html +++ b/404.html @@ -5,7 +5,7 @@ Page Not Found | OpenSign™ - + diff --git a/assets/js/489b8a4d.f0312f9a.js b/assets/js/489b8a4d.ed6d4680.js similarity index 83% rename from assets/js/489b8a4d.f0312f9a.js rename to assets/js/489b8a4d.ed6d4680.js index 5b855368e..dc8734115 100644 --- a/assets/js/489b8a4d.f0312f9a.js +++ b/assets/js/489b8a4d.ed6d4680.js @@ -1 +1 @@ -"use strict";(self.webpackChunkOpenSign_Docs=self.webpackChunkOpenSign_Docs||[]).push([[8781],{44907:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>d,contentTitle:()=>i,default:()=>h,frontMatter:()=>r,metadata:()=>c,toc:()=>l});var s=t(85893),o=t(11151);const r={title:"Self-host OpenSign\u2122 with Docker on Linux/MacOS/Windows"},i=void 0,c={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:!1,unlisted:!1,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:"Cloud Storage",permalink:"/docs/category/cloud-storage"}},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:"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",em:"em",h1:"h1",h2:"h2",li:"li",ol:"ol",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,o.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.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,s.jsxs)(n.ol,{children:["\n",(0,s.jsxs)(n.li,{children:["Firstly, install ",(0,s.jsx)(n.a,{href:"https://www.docker.com/products/docker-desktop/",children:"Docker"})," and ensure it is running before proceeding to the next steps. Make sure that you have ",(0,s.jsx)(n.a,{href:"https://nodejs.org/en",children:"NodeJS"})," & ",(0,s.jsx)(n.a,{href:"https://git-scm.com/downloads",children:"GIT"})," installed on your machine."]}),"\n",(0,s.jsx)(n.li,{children:"Now, start Docker and ensure it runs in the background. Open the terminal and type the following command:"}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Command for linux/MacOS"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.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,s.jsx)(n.p,{children:"Command for Windows (Powershell)"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.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,s.jsx)(n.p,{children:"Command for Windows (CMD/Terminal)"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.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,s.jsx)(n.p,{children:"and Hit Enter to start the containers automatically. Make sure to replace the host URL with your subdomain where OpenSign will be accessible. You need to point the subdomain to the server where you are running these commands by adding the necessary A record to your DNS."}),"\n",(0,s.jsxs)(n.ol,{start:"3",children:["\n",(0,s.jsxs)(n.li,{children:["If want to run locally try out below commands and once the deployment is successful, the application will be accessible at ",(0,s.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"]}),"\n",(0,s.jsx)(n.p,{children:"Command for linux/MacOS (localhost)"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{children:"curl --remote-name-all https://raw.githubusercontent.com/OpenSignLabs/OpenSign/docker_beta/docker-compose.yml https://raw.githubusercontent.com/OpenSignLabs/OpenSign/docker_beta/Caddyfile https://raw.githubusercontent.com/OpenSignLabs/OpenSign/docker_beta/.env.local_dev && mv .env.local_dev .env.prod && docker compose up --force-recreate\n"})}),"\n",(0,s.jsx)(n.p,{children:"Command for Windows (Powershell) (localhost)"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{children:"Invoke-WebRequest -Uri https://raw.githubusercontent.com/OpenSignLabs/OpenSign/docker_beta/docker-compose.yml -OutFile docker-compose.yml; Invoke-WebRequest -Uri https://raw.githubusercontent.com/OpenSignLabs/OpenSign/docker_beta/Caddyfile -OutFile Caddyfile; Invoke-WebRequest -Uri https://raw.githubusercontent.com/OpenSignLabs/OpenSign/docker_beta/.env.local_dev -OutFile .env.local_dev; Rename-Item -Path .env.local_dev -NewName .env.prod; docker compose up --force-recreate\n"})}),"\n",(0,s.jsx)(n.p,{children:"Command for Windows (CMD/Terminal) (localhost)"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{children:"curl -O https://raw.githubusercontent.com/OpenSignLabs/OpenSign/docker_beta/docker-compose.yml && curl -O https://raw.githubusercontent.com/OpenSignLabs/OpenSign/docker_beta/Caddyfile && curl -O https://raw.githubusercontent.com/OpenSignLabs/OpenSign/docker_beta/.env.local_dev && rename .env.local_dev .env.prod && docker compose up --force-recreate\n"})}),"\n",(0,s.jsx)("div",{children:(0,s.jsx)("img",{width:"937",alt:"localhost",src:"https://github.com/user-attachments/assets/f5de1882-64d0-44ea-86e3-3a7c8405272c"})}),"\n",(0,s.jsx)("div",{children:(0,s.jsx)("img",{width:"935",alt:"proceedtolocalhost",src:"https://github.com/user-attachments/assets/33f975b9-4a9a-431e-a869-72e38f3b6754"})}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Note: If you wish to incorporate our latest features into your Docker container, follow the steps again after stopping existing containers."})}),"\n",(0,s.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,s.jsx)(n.p,{children:"To set up OpenSign\u2122 locally using Docker, the following prerequisites are required:"}),"\n",(0,s.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,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Environment Varibale"}),(0,s.jsx)(n.th,{children:"Value"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"PUBLIC_URL"}),(0,s.jsxs)(n.td,{children:[(0,s.jsx)(n.a,{href:"https://localhost:3001",children:"https://localhost:3001"})," or ",(0,s.jsx)(n.a,{href:"https://opensign.yourdomain.com",children:"https://opensign.yourdomain.com"})]}),(0,s.jsx)(n.td,{children:"Set it to the URL form where the app home page will be accessed"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"APP_ID"}),(0,s.jsx)(n.td,{children:"opensign"}),(0,s.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,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"MASTER_KEY"}),(0,s.jsx)(n.td,{children:"XnAadwKxxByMr"}),(0,s.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,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"MONGODB_URI"}),(0,s.jsx)(n.td,{children:"mongodb://mongo-container:27017/OpenSignDB"}),(0,s.jsx)(n.td,{children:"Mongodb URI to connect to"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"PARSE_MOUNT"}),(0,s.jsx)(n.td,{children:"/app"}),(0,s.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,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"SERVER_URL"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.a,{href:"http://localhost:8080/app",children:"http://localhost:8080/app"})}),(0,s.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,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"DO_SPACE"}),(0,s.jsx)(n.td,{children:"DOSPACENAME"}),(0,s.jsx)(n.td,{children:"Digital ocean space name or AWS S3 bucket name for uploading documents"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"DO_ENDPOINT"}),(0,s.jsx)(n.td,{children:"ams3.digitaloceanspaces.com"}),(0,s.jsx)(n.td,{children:"Digital ocean spaces endpoint or AWS S3 endpoint for uploading documents"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"DO_BASEURL"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.a,{href:"https://dospace.ams3.digitaloceanspaces.com",children:"https://dospace.ams3.digitaloceanspaces.com"})}),(0,s.jsx)(n.td,{children:"Digital ocean baseurl or AWS S3 base URL"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"DO_ACCESS_KEY_ID"}),(0,s.jsx)(n.td,{children:"YOUR_S3_ACCESS_ID"}),(0,s.jsx)(n.td,{children:"Digital ocean spaces access key ID or AWS s3 Access key ID for uploading the docs"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"DO_SECRET_ACCESS_KEY"}),(0,s.jsx)(n.td,{children:"YOUR_S3_ACCESS_KEY"}),(0,s.jsx)(n.td,{children:"Digital ocean spaces secret access key or AWS s3 secret access key for uploading the docs"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"DO_REGION"}),(0,s.jsx)(n.td,{children:"YOUR_S3_REGION"}),(0,s.jsx)(n.td,{children:"Digital ocean spaces region or AWS s3 region"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"USE_LOCAL"}),(0,s.jsx)(n.td,{children:"true"}),(0,s.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,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"MAILGUN_API_KEY"}),(0,s.jsx)(n.td,{children:"YOUR_MAILGUNAPI_KEY"}),(0,s.jsx)(n.td,{children:"Mailgun API Key"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"MAILGUN_DOMAIN"}),(0,s.jsx)(n.td,{children:"YOUR_MAILGUNAPI_DOMAIN"}),(0,s.jsx)(n.td,{children:"Mailgun API Domain"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"MAILGUN_SENDER"}),(0,s.jsx)(n.td,{children:"-"}),(0,s.jsx)(n.td,{children:"Mailgun Sender Mail ID"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"SMTP_ENABLE"}),(0,s.jsx)(n.td,{children:"false"}),(0,s.jsx)(n.td,{children:"If this is set to true, emails will be sent through SMTP, and Mailgun credentials will be ignored."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"SMTP_HOST"}),(0,s.jsx)(n.td,{children:"smtp.yourhost.com"}),(0,s.jsx)(n.td,{children:"Provide smtp host"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"SMTP_PORT"}),(0,s.jsx)(n.td,{children:"443"}),(0,s.jsx)(n.td,{children:"Provide smtp port number"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"SMTP_USER_EMAIL"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.a,{href:"mailto:mailer@yourdomain.com",children:"mailer@yourdomain.com"})}),(0,s.jsx)(n.td,{children:"Provide user email of smtp"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"SMTP_PASS"}),(0,s.jsx)(n.td,{children:"password"}),(0,s.jsx)(n.td,{children:"Provide smtp password"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"PFX_BASE64"}),(0,s.jsx)(n.td,{children:"-"}),(0,s.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,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"PASS_PHRASE"}),(0,s.jsx)(n.td,{children:"opensign"}),(0,s.jsx)(n.td,{children:"Pass phrase of PFX or p12 document signing certificate file."})]})]})]}),"\n",(0,s.jsx)(n.h1,{id:"steps-to-generate-self-sign-certificate",children:"Steps to Generate Self Sign Certificate"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.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,s.jsx)(n.h1,{id:"cors-configuration",children:"CORS Configuration"}),"\n",(0,s.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,s.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,s.jsx)(n.pre,{children:(0,s.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,s.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,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://docs.digitalocean.com/products/spaces/how-to/configure-cors/",children:"How to Configure CORS on DigitalOcean Spaces"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.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,o.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(a,{...e})}):a(e)}},11151:(e,n,t)=>{t.d(n,{Z:()=>c,a:()=>i});var s=t(67294);const o={},r=s.createContext(o);function i(e){const n=s.useContext(r);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:i(e.components),s.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkOpenSign_Docs=self.webpackChunkOpenSign_Docs||[]).push([[8781],{44907:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>d,contentTitle:()=>i,default:()=>h,frontMatter:()=>r,metadata:()=>c,toc:()=>l});var s=t(85893),o=t(11151);const r={title:"Self-host OpenSign\u2122 with Docker on Linux/MacOS/Windows"},i=void 0,c={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:!1,unlisted:!1,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:"Cloud Storage",permalink:"/docs/category/cloud-storage"}},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:"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",em:"em",h1:"h1",h2:"h2",li:"li",ol:"ol",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,o.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.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,s.jsxs)(n.ol,{children:["\n",(0,s.jsxs)(n.li,{children:["Firstly, install ",(0,s.jsx)(n.a,{href:"https://www.docker.com/products/docker-desktop/",children:"Docker"})," and ensure it is running before proceeding to the next steps. Make sure that you have ",(0,s.jsx)(n.a,{href:"https://nodejs.org/en",children:"NodeJS"})," & ",(0,s.jsx)(n.a,{href:"https://git-scm.com/downloads",children:"GIT"})," installed on your machine."]}),"\n",(0,s.jsx)(n.li,{children:"Now, start Docker and ensure it runs in the background. Open the terminal and type the following command:"}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Command for linux/MacOS"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.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,s.jsx)(n.p,{children:"Command for Windows (Powershell)"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.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,s.jsx)(n.p,{children:"Command for Windows (CMD/Terminal)"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.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,s.jsx)(n.p,{children:"and Hit Enter to start the containers automatically. Make sure to replace the host URL with your subdomain where OpenSign will be accessible. You need to point the subdomain to the server where you are running these commands by adding the necessary A record to your DNS."}),"\n",(0,s.jsxs)(n.ol,{start:"3",children:["\n",(0,s.jsxs)(n.li,{children:["If want to run locally try out below commands and once the deployment is successful, the application will be accessible at ",(0,s.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"]}),"\n",(0,s.jsx)(n.p,{children:"Command for linux/MacOS (localhost)"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{children:"curl --remote-name-all https://raw.githubusercontent.com/OpenSignLabs/OpenSign/docker_beta/docker-compose.yml https://raw.githubusercontent.com/OpenSignLabs/OpenSign/docker_beta/Caddyfile https://raw.githubusercontent.com/OpenSignLabs/OpenSign/docker_beta/.env.local_dev && mv .env.local_dev .env.prod && docker compose up --force-recreate\n"})}),"\n",(0,s.jsx)(n.p,{children:"Command for Windows (Powershell) (localhost)"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{children:"Invoke-WebRequest -Uri https://raw.githubusercontent.com/OpenSignLabs/OpenSign/docker_beta/docker-compose.yml -OutFile docker-compose.yml; Invoke-WebRequest -Uri https://raw.githubusercontent.com/OpenSignLabs/OpenSign/docker_beta/Caddyfile -OutFile Caddyfile; Invoke-WebRequest -Uri https://raw.githubusercontent.com/OpenSignLabs/OpenSign/docker_beta/.env.local_dev -OutFile .env.local_dev; Rename-Item -Path .env.local_dev -NewName .env.prod; docker compose up --force-recreate\n"})}),"\n",(0,s.jsx)(n.p,{children:"Command for Windows (CMD/Terminal) (localhost)"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{children:"curl -O https://raw.githubusercontent.com/OpenSignLabs/OpenSign/docker_beta/docker-compose.yml && curl -O https://raw.githubusercontent.com/OpenSignLabs/OpenSign/docker_beta/Caddyfile && curl -O https://raw.githubusercontent.com/OpenSignLabs/OpenSign/docker_beta/.env.local_dev && rename .env.local_dev .env.prod && docker compose up --force-recreate\n"})}),"\n",(0,s.jsx)("div",{children:(0,s.jsx)("img",{width:"937",alt:"localhost",src:"https://github.com/user-attachments/assets/f5de1882-64d0-44ea-86e3-3a7c8405272c"})}),"\n",(0,s.jsx)("div",{children:(0,s.jsx)("img",{width:"935",alt:"proceedtolocalhost",src:"https://github.com/user-attachments/assets/33f975b9-4a9a-431e-a869-72e38f3b6754"})}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Note: If you wish to incorporate our latest features into your Docker container, follow the steps again after stopping existing containers."})}),"\n",(0,s.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,s.jsx)(n.p,{children:"To set up OpenSign\u2122 locally using Docker, the following prerequisites are required:"}),"\n",(0,s.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,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Environment Varibale"}),(0,s.jsx)(n.th,{children:"Value"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"PUBLIC_URL"}),(0,s.jsxs)(n.td,{children:[(0,s.jsx)(n.a,{href:"https://localhost:3001",children:"https://localhost:3001"})," or ",(0,s.jsx)(n.a,{href:"https://opensign.yourdomain.com",children:"https://opensign.yourdomain.com"})]}),(0,s.jsx)(n.td,{children:"Set it to the URL form where the app home page will be accessed"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"APP_ID"}),(0,s.jsx)(n.td,{children:"opensign"}),(0,s.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,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"MASTER_KEY"}),(0,s.jsx)(n.td,{children:"XnAadwKxxByMr"}),(0,s.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,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"MONGODB_URI"}),(0,s.jsx)(n.td,{children:"mongodb://mongo-container:27017/OpenSignDB"}),(0,s.jsx)(n.td,{children:"Mongodb URI to connect to"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"PARSE_MOUNT"}),(0,s.jsx)(n.td,{children:"/app"}),(0,s.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,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"SERVER_URL"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.a,{href:"http://localhost:8080/app",children:"http://localhost:8080/app"})}),(0,s.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,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"DO_SPACE"}),(0,s.jsx)(n.td,{children:"DOSPACENAME"}),(0,s.jsx)(n.td,{children:"Digital ocean space name or AWS S3 bucket name for uploading documents"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"DO_ENDPOINT"}),(0,s.jsx)(n.td,{children:"ams3.digitaloceanspaces.com"}),(0,s.jsx)(n.td,{children:"Digital ocean spaces endpoint or AWS S3 endpoint for uploading documents"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"DO_BASEURL"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.a,{href:"https://dospace.ams3.digitaloceanspaces.com",children:"https://dospace.ams3.digitaloceanspaces.com"})}),(0,s.jsx)(n.td,{children:"Digital ocean baseurl or AWS S3 base URL"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"DO_ACCESS_KEY_ID"}),(0,s.jsx)(n.td,{children:"YOUR_S3_ACCESS_ID"}),(0,s.jsx)(n.td,{children:"Digital ocean spaces access key ID or AWS s3 Access key ID for uploading the docs"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"DO_SECRET_ACCESS_KEY"}),(0,s.jsx)(n.td,{children:"YOUR_S3_ACCESS_KEY"}),(0,s.jsx)(n.td,{children:"Digital ocean spaces secret access key or AWS s3 secret access key for uploading the docs"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"DO_REGION"}),(0,s.jsx)(n.td,{children:"YOUR_S3_REGION"}),(0,s.jsx)(n.td,{children:"Digital ocean spaces region or AWS s3 region"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"USE_LOCAL"}),(0,s.jsx)(n.td,{children:"true"}),(0,s.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,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"MAILGUN_API_KEY"}),(0,s.jsx)(n.td,{children:"YOUR_MAILGUNAPI_KEY"}),(0,s.jsx)(n.td,{children:"Mailgun API Key"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"MAILGUN_DOMAIN"}),(0,s.jsx)(n.td,{children:"YOUR_MAILGUNAPI_DOMAIN"}),(0,s.jsx)(n.td,{children:"Mailgun API Domain"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"MAILGUN_SENDER"}),(0,s.jsx)(n.td,{children:"-"}),(0,s.jsx)(n.td,{children:"Mailgun Sender Mail ID"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"SMTP_ENABLE"}),(0,s.jsx)(n.td,{children:"false"}),(0,s.jsx)(n.td,{children:"If this is set to true, emails will be sent through SMTP, and Mailgun credentials will be ignored."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"SMTP_HOST"}),(0,s.jsx)(n.td,{children:"smtp.yourhost.com"}),(0,s.jsx)(n.td,{children:"Provide smtp host"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"SMTP_PORT"}),(0,s.jsx)(n.td,{children:"443"}),(0,s.jsx)(n.td,{children:"Provide smtp port number"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"SMTP_USER_EMAIL"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.a,{href:"mailto:mailer@yourdomain.com",children:"mailer@yourdomain.com"})}),(0,s.jsx)(n.td,{children:"Provide user email of smtp"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"SMTP_PASS"}),(0,s.jsx)(n.td,{children:"password"}),(0,s.jsx)(n.td,{children:"Provide smtp password"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"PFX_BASE64"}),(0,s.jsx)(n.td,{children:"-"}),(0,s.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,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"PASS_PHRASE"}),(0,s.jsx)(n.td,{children:"opensign"}),(0,s.jsx)(n.td,{children:"Pass phrase of PFX or p12 document signing certificate file."})]})]})]}),"\n",(0,s.jsx)(n.h1,{id:"steps-to-generate-self-sign-certificate",children:"Steps to Generate Self Sign Certificate"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.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,s.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,s.jsx)(n.a,{href:"https://helpx.adobe.com/in/acrobat/kb/approved-trust-list1.html",children:"AATL-approved Certificate Authority"}),"."]}),"\n",(0,s.jsx)(n.h1,{id:"cors-configuration",children:"CORS Configuration"}),"\n",(0,s.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,s.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,s.jsx)(n.pre,{children:(0,s.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,s.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,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://docs.digitalocean.com/products/spaces/how-to/configure-cors/",children:"How to Configure CORS on DigitalOcean Spaces"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.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,o.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(a,{...e})}):a(e)}},11151:(e,n,t)=>{t.d(n,{Z:()=>c,a:()=>i});var s=t(67294);const o={},r=s.createContext(o);function i(e){const n=s.useContext(r);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:i(e.components),s.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/runtime~main.8fb3e37a.js b/assets/js/runtime~main.5097720b.js similarity index 99% rename from assets/js/runtime~main.8fb3e37a.js rename to assets/js/runtime~main.5097720b.js index 65dcc13cd..ce2c05f5a 100644 --- a/assets/js/runtime~main.8fb3e37a.js +++ b/assets/js/runtime~main.5097720b.js @@ -1 +1 @@ -(()=>{"use strict";var e,a,c,b,d,f={},r={};function t(e){var a=r[e];if(void 0!==a)return a.exports;var c=r[e]={id:e,loaded:!1,exports:{}};return f[e].call(c.exports,c,c.exports,t),c.loaded=!0,c.exports}t.m=f,t.c=r,e=[],t.O=(a,c,b,d)=>{if(!c){var f=1/0;for(n=0;n=d)&&Object.keys(t.O).every((e=>t.O[e](c[o])))?c.splice(o--,1):(r=!1,d0&&e[n-1][2]>d;n--)e[n]=e[n-1];e[n]=[c,b,d]},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,b){if(1&b&&(e=this(e)),8&b)return e;if("object"==typeof e&&e){if(4&b&&e.__esModule)return e;if(16&b&&"function"==typeof e.then)return e}var d=Object.create(null);t.r(d);var f={};a=a||[null,c({}),c([]),c(c)];for(var r=2&b&&e;"object"==typeof r&&!~a.indexOf(r);r=c(r))Object.getOwnPropertyNames(r).forEach((a=>f[a]=()=>e[a]));return f.default=()=>e,t.d(d,f),d},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/"+({53:"935f2afb",110:"66406991",230:"d91ad230",261:"reactPlayerKaltura",273:"fa40969b",339:"4f7a2d40",420:"e2c87691",453:"30a24c52",533:"b2b675dd",762:"d8b805fb",792:"50ea61d6",823:"c7b98810",835:"ab2a161b",841:"c5e4dae0",853:"277a78f5",869:"b18842e4",948:"8717b14a",1001:"8001f939",1332:"f0ff4a36",1477:"b2f554cd",1512:"e9e778b7",1520:"770b40a9",1531:"bbdfc22d",1633:"031793e1",1713:"a7023ddc",1773:"ef5d5d5d",1893:"4c5e977b",1914:"d9f32620",2087:"bfe4b778",2121:"reactPlayerFacebook",2125:"f214d5ff",2207:"78b2b753",2213:"1c822755",2241:"2ace9d1d",2245:"a2bc1463",2267:"59362658",2362:"e273c56f",2403:"38c56221",2535:"814f3328",2542:"5ce9853b",2546:"reactPlayerStreamable",2617:"56b5f4f8",2832:"1f73ca32",2865:"3e02da86",3085:"1f391b9e",3089:"a6aa9e1f",3101:"64ee8796",3156:"11b7b3d8",3205:"a80da1cf",3495:"8a855f99",3514:"73664a40",3608:"9e4087bc",3743:"reactPlayerVimeo",4013:"01a85c17",4195:"c4f5d8e4",4277:"14716de7",4368:"a94703ab",4439:"reactPlayerYouTube",4478:"d1393a72",4641:"ada7accb",4651:"05632a52",4667:"reactPlayerMixcloud",4772:"b0378e01",4918:"1f7895dc",4955:"e226bb09",4985:"b839bf37",5377:"ce589067",5507:"8320e026",5858:"046910c8",5900:"38e3d9c8",6011:"reactPlayerFilePlayer",6033:"28b19cd2",6103:"ccc49370",6113:"13fdae3b",6125:"reactPlayerSoundCloud",6177:"611db08b",6216:"reactPlayerTwitch",6344:"984cf7cf",6543:"17e5210b",6759:"c9fa5aa5",6938:"608ae6a4",7100:"2c416566",7178:"096bfee4",7286:"451a5132",7414:"393be207",7475:"500027af",7596:"reactPlayerDailyMotion",7664:"reactPlayerPreview",7816:"06577f20",7894:"a88a3db3",7964:"2304e9ae",7971:"8a725248",8055:"reactPlayerWistia",8087:"e4f5c862",8106:"377084eb",8141:"98da7451",8163:"5a2de241",8215:"e5a49157",8468:"52d5c0f9",8474:"9640838e",8489:"7b076186",8518:"a7bd4aaa",8610:"6875c492",8636:"f4f34a3a",8766:"70853c19",8781:"489b8a4d",8784:"83cab870",8866:"eb56c656",8878:"cf03142d",8888:"reactPlayerVidyard",8892:"38ec836e",9003:"925b3f96",9010:"06b6ef6a",9035:"4c9e35b1",9588:"5c04ee3b",9642:"7661071f",9661:"5e95c892",9671:"0e384e19",9697:"2c586be5",9700:"e16015ca",9817:"14eb3368",9914:"0c0943c7"}[e]||e)+"."+{53:"2c3ec9d9",110:"ab20026d",230:"3cc5e6e9",261:"4b30f79b",273:"e68bf28a",339:"4b03478f",420:"3b683e17",453:"61f3e45f",533:"2d5f5b1d",762:"74ae2291",792:"01714e3e",823:"64f8e5be",835:"ced0e4f6",841:"b9d70538",853:"6965f6a9",869:"6aa44f6d",948:"b2da1fd1",1001:"50ee673e",1332:"5db055b4",1477:"b31b2642",1512:"9637e502",1520:"d1814002",1531:"46db2c31",1633:"d8366831",1713:"fefd4794",1772:"c222a62c",1773:"d5cdc9ed",1893:"59606182",1914:"eb382def",2087:"d4605a99",2121:"c8df990c",2125:"9a2b70d2",2207:"f380f604",2213:"d47dd20f",2241:"5104cb4f",2245:"f2a0d0c3",2267:"a4846e2b",2362:"ebdb1814",2403:"78b7485b",2529:"2079a565",2535:"f3b6b0ab",2542:"5bd0eb92",2546:"665b04f4",2617:"56321ade",2832:"e34356e0",2865:"fcf78bcd",3085:"e5c5d651",3089:"84b5c675",3101:"47959e32",3156:"41df5616",3205:"af75d475",3495:"4657d57d",3514:"b2437ac4",3608:"0e768bf1",3743:"2ede10ee",4013:"e5e25f55",4148:"aa6a1681",4195:"08242eba",4277:"69395083",4311:"86f3bfc6",4368:"7d12b1da",4439:"6a6454f7",4478:"a41784da",4641:"40681dfc",4651:"8538abf4",4667:"c24bbf43",4682:"18721add",4772:"07189a34",4918:"910d4a50",4955:"8f728b1e",4985:"dad32c3b",5377:"ccefc9dc",5507:"36c41078",5858:"000e7fdc",5900:"e113e88d",6011:"6de743c9",6033:"7cf37f7d",6103:"ebc8482f",6113:"53df0513",6125:"9555c68b",6177:"b22b9e91",6216:"0d890761",6344:"29bab824",6543:"7f67a86f",6759:"c81d0e01",6938:"d44251bf",7100:"dfa7c53a",7178:"9a58922d",7286:"0072a94c",7414:"8d31e6a7",7475:"14209b93",7596:"95bca972",7664:"7fd4bae6",7816:"38bd8c71",7894:"e09eee0c",7964:"4e6965bb",7971:"6792c484",8055:"27482879",8087:"cde5db0f",8106:"ab7168d2",8140:"901b2f91",8141:"60a9b3b8",8163:"9bf52b52",8215:"c6b04c16",8468:"7cfe3494",8474:"a75e5064",8475:"d27b3009",8489:"35a41943",8518:"aaa08e5a",8531:"1f1a82a7",8610:"d85035d6",8636:"c590d949",8766:"604707fe",8781:"f0312f9a",8784:"5f29f05d",8866:"381cdff2",8878:"eda4ae1c",8888:"f7352a9d",8892:"7315f43d",9003:"1e8e0783",9010:"002f0dec",9035:"37598b09",9588:"5ef75d8a",9642:"223fec4f",9661:"33228fcd",9671:"8f2ee486",9697:"c16c326c",9700:"ad032cc8",9817:"424c677a",9914:"13b02ad4"}[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),b={},d="OpenSign-Docs:",t.l=(e,a,c,f)=>{if(b[e])b[e].push(a);else{var r,o;if(void 0!==c)for(var l=document.getElementsByTagName("script"),n=0;n{r.onerror=r.onload=null,clearTimeout(s);var d=b[e];if(delete b[e],r.parentNode&&r.parentNode.removeChild(r),d&&d.forEach((e=>e(c))),a)return a(c)},s=setTimeout(u.bind(null,void 0,{type:"timeout",target:r}),12e4);r.onerror=u.bind(null,r.onerror),r.onload=u.bind(null,r.onload),o&&document.head.appendChild(r)}},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:"2267",66406991:"110","935f2afb":"53",d91ad230:"230",reactPlayerKaltura:"261",fa40969b:"273","4f7a2d40":"339",e2c87691:"420","30a24c52":"453",b2b675dd:"533",d8b805fb:"762","50ea61d6":"792",c7b98810:"823",ab2a161b:"835",c5e4dae0:"841","277a78f5":"853",b18842e4:"869","8717b14a":"948","8001f939":"1001",f0ff4a36:"1332",b2f554cd:"1477",e9e778b7:"1512","770b40a9":"1520",bbdfc22d:"1531","031793e1":"1633",a7023ddc:"1713",ef5d5d5d:"1773","4c5e977b":"1893",d9f32620:"1914",bfe4b778:"2087",reactPlayerFacebook:"2121",f214d5ff:"2125","78b2b753":"2207","1c822755":"2213","2ace9d1d":"2241",a2bc1463:"2245",e273c56f:"2362","38c56221":"2403","814f3328":"2535","5ce9853b":"2542",reactPlayerStreamable:"2546","56b5f4f8":"2617","1f73ca32":"2832","3e02da86":"2865","1f391b9e":"3085",a6aa9e1f:"3089","64ee8796":"3101","11b7b3d8":"3156",a80da1cf:"3205","8a855f99":"3495","73664a40":"3514","9e4087bc":"3608",reactPlayerVimeo:"3743","01a85c17":"4013",c4f5d8e4:"4195","14716de7":"4277",a94703ab:"4368",reactPlayerYouTube:"4439",d1393a72:"4478",ada7accb:"4641","05632a52":"4651",reactPlayerMixcloud:"4667",b0378e01:"4772","1f7895dc":"4918",e226bb09:"4955",b839bf37:"4985",ce589067:"5377","8320e026":"5507","046910c8":"5858","38e3d9c8":"5900",reactPlayerFilePlayer:"6011","28b19cd2":"6033",ccc49370:"6103","13fdae3b":"6113",reactPlayerSoundCloud:"6125","611db08b":"6177",reactPlayerTwitch:"6216","984cf7cf":"6344","17e5210b":"6543",c9fa5aa5:"6759","608ae6a4":"6938","2c416566":"7100","096bfee4":"7178","451a5132":"7286","393be207":"7414","500027af":"7475",reactPlayerDailyMotion:"7596",reactPlayerPreview:"7664","06577f20":"7816",a88a3db3:"7894","2304e9ae":"7964","8a725248":"7971",reactPlayerWistia:"8055",e4f5c862:"8087","377084eb":"8106","98da7451":"8141","5a2de241":"8163",e5a49157:"8215","52d5c0f9":"8468","9640838e":"8474","7b076186":"8489",a7bd4aaa:"8518","6875c492":"8610",f4f34a3a:"8636","70853c19":"8766","489b8a4d":"8781","83cab870":"8784",eb56c656:"8866",cf03142d:"8878",reactPlayerVidyard:"8888","38ec836e":"8892","925b3f96":"9003","06b6ef6a":"9010","4c9e35b1":"9035","5c04ee3b":"9588","7661071f":"9642","5e95c892":"9661","0e384e19":"9671","2c586be5":"9697",e16015ca:"9700","14eb3368":"9817","0c0943c7":"9914"}[e]||e,t.p+t.u(e)},(()=>{var e={1303:0,532:0};t.f.j=(a,c)=>{var b=t.o(e,a)?e[a]:void 0;if(0!==b)if(b)c.push(b[2]);else if(/^(1303|532)$/.test(a))e[a]=0;else{var d=new Promise(((c,d)=>b=e[a]=[c,d]));c.push(b[2]=d);var f=t.p+t.u(a),r=new Error;t.l(f,(c=>{if(t.o(e,a)&&(0!==(b=e[a])&&(e[a]=void 0),b)){var d=c&&("load"===c.type?"missing":c.type),f=c&&c.target&&c.target.src;r.message="Loading chunk "+a+" failed.\n("+d+": "+f+")",r.name="ChunkLoadError",r.type=d,r.request=f,b[1](r)}}),"chunk-"+a,a)}},t.O.j=a=>0===e[a];var a=(a,c)=>{var b,d,f=c[0],r=c[1],o=c[2],l=0;if(f.some((a=>0!==e[a]))){for(b in r)t.o(r,b)&&(t.m[b]=r[b]);if(o)var n=o(t)}for(a&&a(c);l{"use strict";var e,a,c,b,d,f={},r={};function t(e){var a=r[e];if(void 0!==a)return a.exports;var c=r[e]={id:e,loaded:!1,exports:{}};return f[e].call(c.exports,c,c.exports,t),c.loaded=!0,c.exports}t.m=f,t.c=r,e=[],t.O=(a,c,b,d)=>{if(!c){var f=1/0;for(n=0;n=d)&&Object.keys(t.O).every((e=>t.O[e](c[o])))?c.splice(o--,1):(r=!1,d0&&e[n-1][2]>d;n--)e[n]=e[n-1];e[n]=[c,b,d]},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,b){if(1&b&&(e=this(e)),8&b)return e;if("object"==typeof e&&e){if(4&b&&e.__esModule)return e;if(16&b&&"function"==typeof e.then)return e}var d=Object.create(null);t.r(d);var f={};a=a||[null,c({}),c([]),c(c)];for(var r=2&b&&e;"object"==typeof r&&!~a.indexOf(r);r=c(r))Object.getOwnPropertyNames(r).forEach((a=>f[a]=()=>e[a]));return f.default=()=>e,t.d(d,f),d},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/"+({53:"935f2afb",110:"66406991",230:"d91ad230",261:"reactPlayerKaltura",273:"fa40969b",339:"4f7a2d40",420:"e2c87691",453:"30a24c52",533:"b2b675dd",762:"d8b805fb",792:"50ea61d6",823:"c7b98810",835:"ab2a161b",841:"c5e4dae0",853:"277a78f5",869:"b18842e4",948:"8717b14a",1001:"8001f939",1332:"f0ff4a36",1477:"b2f554cd",1512:"e9e778b7",1520:"770b40a9",1531:"bbdfc22d",1633:"031793e1",1713:"a7023ddc",1773:"ef5d5d5d",1893:"4c5e977b",1914:"d9f32620",2087:"bfe4b778",2121:"reactPlayerFacebook",2125:"f214d5ff",2207:"78b2b753",2213:"1c822755",2241:"2ace9d1d",2245:"a2bc1463",2267:"59362658",2362:"e273c56f",2403:"38c56221",2535:"814f3328",2542:"5ce9853b",2546:"reactPlayerStreamable",2617:"56b5f4f8",2832:"1f73ca32",2865:"3e02da86",3085:"1f391b9e",3089:"a6aa9e1f",3101:"64ee8796",3156:"11b7b3d8",3205:"a80da1cf",3495:"8a855f99",3514:"73664a40",3608:"9e4087bc",3743:"reactPlayerVimeo",4013:"01a85c17",4195:"c4f5d8e4",4277:"14716de7",4368:"a94703ab",4439:"reactPlayerYouTube",4478:"d1393a72",4641:"ada7accb",4651:"05632a52",4667:"reactPlayerMixcloud",4772:"b0378e01",4918:"1f7895dc",4955:"e226bb09",4985:"b839bf37",5377:"ce589067",5507:"8320e026",5858:"046910c8",5900:"38e3d9c8",6011:"reactPlayerFilePlayer",6033:"28b19cd2",6103:"ccc49370",6113:"13fdae3b",6125:"reactPlayerSoundCloud",6177:"611db08b",6216:"reactPlayerTwitch",6344:"984cf7cf",6543:"17e5210b",6759:"c9fa5aa5",6938:"608ae6a4",7100:"2c416566",7178:"096bfee4",7286:"451a5132",7414:"393be207",7475:"500027af",7596:"reactPlayerDailyMotion",7664:"reactPlayerPreview",7816:"06577f20",7894:"a88a3db3",7964:"2304e9ae",7971:"8a725248",8055:"reactPlayerWistia",8087:"e4f5c862",8106:"377084eb",8141:"98da7451",8163:"5a2de241",8215:"e5a49157",8468:"52d5c0f9",8474:"9640838e",8489:"7b076186",8518:"a7bd4aaa",8610:"6875c492",8636:"f4f34a3a",8766:"70853c19",8781:"489b8a4d",8784:"83cab870",8866:"eb56c656",8878:"cf03142d",8888:"reactPlayerVidyard",8892:"38ec836e",9003:"925b3f96",9010:"06b6ef6a",9035:"4c9e35b1",9588:"5c04ee3b",9642:"7661071f",9661:"5e95c892",9671:"0e384e19",9697:"2c586be5",9700:"e16015ca",9817:"14eb3368",9914:"0c0943c7"}[e]||e)+"."+{53:"2c3ec9d9",110:"ab20026d",230:"3cc5e6e9",261:"4b30f79b",273:"e68bf28a",339:"4b03478f",420:"3b683e17",453:"61f3e45f",533:"2d5f5b1d",762:"74ae2291",792:"01714e3e",823:"64f8e5be",835:"ced0e4f6",841:"b9d70538",853:"6965f6a9",869:"6aa44f6d",948:"b2da1fd1",1001:"50ee673e",1332:"5db055b4",1477:"b31b2642",1512:"9637e502",1520:"d1814002",1531:"46db2c31",1633:"d8366831",1713:"fefd4794",1772:"c222a62c",1773:"d5cdc9ed",1893:"59606182",1914:"eb382def",2087:"d4605a99",2121:"c8df990c",2125:"9a2b70d2",2207:"f380f604",2213:"d47dd20f",2241:"5104cb4f",2245:"f2a0d0c3",2267:"a4846e2b",2362:"ebdb1814",2403:"78b7485b",2529:"2079a565",2535:"f3b6b0ab",2542:"5bd0eb92",2546:"665b04f4",2617:"56321ade",2832:"e34356e0",2865:"fcf78bcd",3085:"e5c5d651",3089:"84b5c675",3101:"47959e32",3156:"41df5616",3205:"af75d475",3495:"4657d57d",3514:"b2437ac4",3608:"0e768bf1",3743:"2ede10ee",4013:"e5e25f55",4148:"aa6a1681",4195:"08242eba",4277:"69395083",4311:"86f3bfc6",4368:"7d12b1da",4439:"6a6454f7",4478:"a41784da",4641:"40681dfc",4651:"8538abf4",4667:"c24bbf43",4682:"18721add",4772:"07189a34",4918:"910d4a50",4955:"8f728b1e",4985:"dad32c3b",5377:"ccefc9dc",5507:"36c41078",5858:"000e7fdc",5900:"e113e88d",6011:"6de743c9",6033:"7cf37f7d",6103:"ebc8482f",6113:"53df0513",6125:"9555c68b",6177:"b22b9e91",6216:"0d890761",6344:"29bab824",6543:"7f67a86f",6759:"c81d0e01",6938:"d44251bf",7100:"dfa7c53a",7178:"9a58922d",7286:"0072a94c",7414:"8d31e6a7",7475:"14209b93",7596:"95bca972",7664:"7fd4bae6",7816:"38bd8c71",7894:"e09eee0c",7964:"4e6965bb",7971:"6792c484",8055:"27482879",8087:"cde5db0f",8106:"ab7168d2",8140:"901b2f91",8141:"60a9b3b8",8163:"9bf52b52",8215:"c6b04c16",8468:"7cfe3494",8474:"a75e5064",8475:"d27b3009",8489:"35a41943",8518:"aaa08e5a",8531:"1f1a82a7",8610:"d85035d6",8636:"c590d949",8766:"604707fe",8781:"ed6d4680",8784:"5f29f05d",8866:"381cdff2",8878:"eda4ae1c",8888:"f7352a9d",8892:"7315f43d",9003:"1e8e0783",9010:"002f0dec",9035:"37598b09",9588:"5ef75d8a",9642:"223fec4f",9661:"33228fcd",9671:"8f2ee486",9697:"c16c326c",9700:"ad032cc8",9817:"424c677a",9914:"13b02ad4"}[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),b={},d="OpenSign-Docs:",t.l=(e,a,c,f)=>{if(b[e])b[e].push(a);else{var r,o;if(void 0!==c)for(var l=document.getElementsByTagName("script"),n=0;n{r.onerror=r.onload=null,clearTimeout(s);var d=b[e];if(delete b[e],r.parentNode&&r.parentNode.removeChild(r),d&&d.forEach((e=>e(c))),a)return a(c)},s=setTimeout(u.bind(null,void 0,{type:"timeout",target:r}),12e4);r.onerror=u.bind(null,r.onerror),r.onload=u.bind(null,r.onload),o&&document.head.appendChild(r)}},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:"2267",66406991:"110","935f2afb":"53",d91ad230:"230",reactPlayerKaltura:"261",fa40969b:"273","4f7a2d40":"339",e2c87691:"420","30a24c52":"453",b2b675dd:"533",d8b805fb:"762","50ea61d6":"792",c7b98810:"823",ab2a161b:"835",c5e4dae0:"841","277a78f5":"853",b18842e4:"869","8717b14a":"948","8001f939":"1001",f0ff4a36:"1332",b2f554cd:"1477",e9e778b7:"1512","770b40a9":"1520",bbdfc22d:"1531","031793e1":"1633",a7023ddc:"1713",ef5d5d5d:"1773","4c5e977b":"1893",d9f32620:"1914",bfe4b778:"2087",reactPlayerFacebook:"2121",f214d5ff:"2125","78b2b753":"2207","1c822755":"2213","2ace9d1d":"2241",a2bc1463:"2245",e273c56f:"2362","38c56221":"2403","814f3328":"2535","5ce9853b":"2542",reactPlayerStreamable:"2546","56b5f4f8":"2617","1f73ca32":"2832","3e02da86":"2865","1f391b9e":"3085",a6aa9e1f:"3089","64ee8796":"3101","11b7b3d8":"3156",a80da1cf:"3205","8a855f99":"3495","73664a40":"3514","9e4087bc":"3608",reactPlayerVimeo:"3743","01a85c17":"4013",c4f5d8e4:"4195","14716de7":"4277",a94703ab:"4368",reactPlayerYouTube:"4439",d1393a72:"4478",ada7accb:"4641","05632a52":"4651",reactPlayerMixcloud:"4667",b0378e01:"4772","1f7895dc":"4918",e226bb09:"4955",b839bf37:"4985",ce589067:"5377","8320e026":"5507","046910c8":"5858","38e3d9c8":"5900",reactPlayerFilePlayer:"6011","28b19cd2":"6033",ccc49370:"6103","13fdae3b":"6113",reactPlayerSoundCloud:"6125","611db08b":"6177",reactPlayerTwitch:"6216","984cf7cf":"6344","17e5210b":"6543",c9fa5aa5:"6759","608ae6a4":"6938","2c416566":"7100","096bfee4":"7178","451a5132":"7286","393be207":"7414","500027af":"7475",reactPlayerDailyMotion:"7596",reactPlayerPreview:"7664","06577f20":"7816",a88a3db3:"7894","2304e9ae":"7964","8a725248":"7971",reactPlayerWistia:"8055",e4f5c862:"8087","377084eb":"8106","98da7451":"8141","5a2de241":"8163",e5a49157:"8215","52d5c0f9":"8468","9640838e":"8474","7b076186":"8489",a7bd4aaa:"8518","6875c492":"8610",f4f34a3a:"8636","70853c19":"8766","489b8a4d":"8781","83cab870":"8784",eb56c656:"8866",cf03142d:"8878",reactPlayerVidyard:"8888","38ec836e":"8892","925b3f96":"9003","06b6ef6a":"9010","4c9e35b1":"9035","5c04ee3b":"9588","7661071f":"9642","5e95c892":"9661","0e384e19":"9671","2c586be5":"9697",e16015ca:"9700","14eb3368":"9817","0c0943c7":"9914"}[e]||e,t.p+t.u(e)},(()=>{var e={1303:0,532:0};t.f.j=(a,c)=>{var b=t.o(e,a)?e[a]:void 0;if(0!==b)if(b)c.push(b[2]);else if(/^(1303|532)$/.test(a))e[a]=0;else{var d=new Promise(((c,d)=>b=e[a]=[c,d]));c.push(b[2]=d);var f=t.p+t.u(a),r=new Error;t.l(f,(c=>{if(t.o(e,a)&&(0!==(b=e[a])&&(e[a]=void 0),b)){var d=c&&("load"===c.type?"missing":c.type),f=c&&c.target&&c.target.src;r.message="Loading chunk "+a+" failed.\n("+d+": "+f+")",r.name="ChunkLoadError",r.type=d,r.request=f,b[1](r)}}),"chunk-"+a,a)}},t.O.j=a=>0===e[a];var a=(a,c)=>{var b,d,f=c[0],r=c[1],o=c[2],l=0;if(f.some((a=>0!==e[a]))){for(b in r)t.o(r,b)&&(t.m[b]=r[b]);if(o)var n=o(t)}for(a&&a(c);l Archive | OpenSign™ - + diff --git a/blog/first-blog-post/index.html b/blog/first-blog-post/index.html index 83366166d..094cf1511 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 d77f174f1..028e13666 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 1e85713c3..a056e7f9d 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 3857c36dc..33411960d 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 3ad1be6c8..7c666062d 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 7269a4bfb..01b870ace 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 94ab93861..f3728d9c0 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 76c463cf3..97d5ecb89 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 c0b7a77d7..f474d1bc4 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 a09730dc6..c231f1ca7 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 8b4a8ab7f..7c76e10f6 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 6f8d44970..695524286 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 86c59ade5..0891513ff 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 3f1252732..de990603a 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 d547e48ef..4acfca8e6 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 556e83cd0..14fbde2bf 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 db868ae08..7fd3eed1b 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 3afd8ba41..bd6e093dc 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 96ed1b6ff..64748e71d 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 635f3bf75..cd0ae161f 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 124e6ef71..0699d824b 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/draftedocument/index.html b/docs/API-docs/draftedocument/index.html index e023f1834..390350bba 100644 --- a/docs/API-docs/draftedocument/index.html +++ b/docs/API-docs/draftedocument/index.html @@ -5,7 +5,7 @@ Draft Document | OpenSign™ - + diff --git a/docs/API-docs/folderlist/index.html b/docs/API-docs/folderlist/index.html index 02debe1c7..74221fe6b 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 2f6537b44..95bfa9bc0 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 723ce63f7..24ee7b828 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 b5e0b3a03..165b04833 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 58c108997..be24e588f 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 cdd1f9783..9dfaae474 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 394a1836f..f3beff103 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 cbb16e14e..ffa47e8dd 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 50dcb6679..50be679ed 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 abbf4925f..e14279526 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 39727ebf7..91b73b38a 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 6ec1259b8..5b0ff670d 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 a5fd2ec2a..d78f45757 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/update-document/index.html b/docs/API-docs/update-document/index.html index 341ec3e4b..62fd6ab65 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 2c344ae03..835d083ef 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 05fd97827..caced5a95 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 36edca692..89d72e96f 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 da7ce936f..38391eec4 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 f647d4989..b6dd452f2 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 d1f2f109d..649d0dca1 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 6066a413e..6400dcf29 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 b5cd148b1..5dc7a3464 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 3dfc34d1a..14a28a29b 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 a9d2f9cdc..6ea6e6cad 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 9473e2e68..1ce31837c 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 cad68d611..846d60292 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 523e48600..828a1e6d4 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 2ebec7153..08993ae6d 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 d42b7d5f9..62b2ff48e 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 212f9db6d..b912ca116 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 fdfc1d320..8579c7a1e 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 4e2de46cd..eef747060 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/navigate-between-pages/index.html b/docs/help/New-Document/navigate-between-pages/index.html index 281ac21b1..d49081429 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 ce3e2a716..bb8c98c1f 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 a0fc27410..1556f505e 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 b4dafded5..c27c11d3e 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 b119c8f14..5c406e1af 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 4d34e5c85..1c12ac50c 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 266cc7784..768205167 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 0d2315729..897dbcdb0 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/declined/index.html b/docs/help/Reports/declined/index.html index db978642c..a4135f758 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 c58e138b2..deb83999f 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 7d1d90152..fa2c8a708 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 bb43d1cb3..b56de3a11 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 b46694501..3fd2283e9 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 c744de038..855805ba0 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 c58c1e99f..c15c3cbd1 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 6494d452f..25fcdf1d5 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 8009623a2..b17af875b 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/quick-send/index.html b/docs/help/Templates/quick-send/index.html index 6672a48be..4473c4353 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 4482a9758..637be006c 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 426c15f43..8425ec58e 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 9696fbd8b..25140a45a 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 dd2c1bf76..0bc6b0ced 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 4452834a7..0cbff6f42 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 6c0eeac61..5d6ad7dff 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™ - + @@ -39,6 +39,7 @@
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.

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.

CORS Configuration

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 Cross-Origin Resource Sharing restriction policies; as a consequence, OpenSign app may fail with (browser console) errors like the following:

Access to fetch at 'https://foo.nyc3.digitaloceanspaces.com/exported_file_4627_0000-00-00T00%3A45%3A43.344Z.pdf'
from origin 'http://localhost:3000' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header
is present on the requested resource. If an opaque response serves your needs, set the request's mode to
'no-cors' to fetch the resource with CORS disabled.
diff --git a/docs/self-host/guides/env-variables/index.html b/docs/self-host/guides/env-variables/index.html index fddd6cb32..1289bac8e 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 eb18af06b..2f1723a61 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 719f59158..18ebe6335 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 a1a94708b..f04ec97a6 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 73b336760..7b95db54f 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 76cc908b7..ef7c8c540 100644 --- a/markdown-page/index.html +++ b/markdown-page/index.html @@ -5,7 +5,7 @@ Markdown page example | OpenSign™ - +