Page Not Found | OpenSign™
-
+
diff --git a/assets/js/489b8a4d.11f409bc.js b/assets/js/489b8a4d.11f409bc.js
deleted file mode 100644
index 90d359d2e..000000000
--- a/assets/js/489b8a4d.11f409bc.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkOpenSign_Docs=self.webpackChunkOpenSign_Docs||[]).push([[8781],{44907:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>d,contentTitle:()=>c,default:()=>h,frontMatter:()=>i,metadata:()=>o,toc:()=>l});var n=t(85893),r=t(11151);const i={title:"Code of conduct"},c=void 0,o={id:"self-host/docker/run-locally",title:"Code of conduct",description:"Localhost Setup with Docker",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:"Code of conduct"},sidebar:"selfhostSidebar",previous:{title:"Docker",permalink:"/docs/category/docker"},next:{title:"Digital Ocean",permalink:"/docs/self-host/One-click-Install/DigitalOcean"}},d={},l=[{value:"Localhost Setup with Docker",id:"localhost-setup-with-docker",level:2}];function a(e){const s={a:"a",code:"code",h1:"h1",h2:"h2",li:"li",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,r.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(s.h2,{id:"localhost-setup-with-docker",children:"Localhost Setup with Docker"}),"\n",(0,n.jsx)(s.p,{children:"To set up OpenSign\u2122 locally using Docker, the following prerequisites are required:"}),"\n",(0,n.jsx)(s.p,{children:"Environment Varaibles:"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Environment Varibale"}),(0,n.jsx)(s.th,{children:"Value"}),(0,n.jsx)(s.th,{children:"Description"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"CI"}),(0,n.jsx)(s.td,{children:"false"}),(0,n.jsx)(s.td,{children:"Set CI to false while running the app locally"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"PUBLIC_URL"}),(0,n.jsx)(s.td,{children:(0,n.jsx)(s.a,{href:"http://localhost:3000",children:"http://localhost:3000"})}),(0,n.jsx)(s.td,{children:"Set it to the URL form where the app home page will be accessed"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"GENERATE_SOURCEMAP"}),(0,n.jsx)(s.td,{children:"false"}),(0,n.jsx)(s.td,{children:"Set it to true if you want to generate the Sourcemap for debugging"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"REACT_APP_SERVERURL"}),(0,n.jsx)(s.td,{children:(0,n.jsx)(s.a,{href:"http://localhost:8080/app",children:"http://localhost:8080/app"})}),(0,n.jsx)(s.td,{children:"Set it to the URL from where APIs will be accessible, for local development it should be localhost:3000/api/app (use your local port number instead)"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"REACT_APP_APPID"}),(0,n.jsx)(s.td,{children:"opensignstgn"}),(0,n.jsx)(s.td,{children:"A 12 character long random app identifier. The value of this should be same as APP_ID which is a variable used by backend API."})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"APP_ID"}),(0,n.jsx)(s.td,{children:"opensignstgn"}),(0,n.jsx)(s.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,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"appName"}),(0,n.jsx)(s.td,{children:"open_sign_server"}),(0,n.jsx)(s.td,{children:"Name of the app. It will be visible in the verification emails sent out."})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"MASTER_KEY"}),(0,n.jsx)(s.td,{children:"XnAadwKxxByMr"}),(0,n.jsx)(s.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,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"MONGODB_URI"}),(0,n.jsx)(s.td,{children:"mongodb://host.docker.internal:27017/OpenSignDB"}),(0,n.jsx)(s.td,{children:"Mongodb URI to connect to"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"PARSE_MOUNT"}),(0,n.jsx)(s.td,{children:"/app"}),(0,n.jsx)(s.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,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"SERVER_URL"}),(0,n.jsx)(s.td,{children:(0,n.jsx)(s.a,{href:"http://127.0.0.1:8080/app",children:"http://127.0.0.1:8080/app"})}),(0,n.jsx)(s.td,{children:"Set it to the URL from where APIs will be accessible to the NodeJS functions, for local development it should be localhost:3000/api/app (use your local port number instead)"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"DO_SPACE"}),(0,n.jsx)(s.td,{children:"DOSPACENAME"}),(0,n.jsx)(s.td,{children:"Digital ocean space name or AWS S3 bucket name for uploading documents"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"DO_ENDPOINT"}),(0,n.jsx)(s.td,{children:"ams3.digitaloceanspaces.com"}),(0,n.jsx)(s.td,{children:"Digital ocean spaces endpoint or AWS S3 endpoint for uploading documents"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"DO_BASEURL"}),(0,n.jsx)(s.td,{children:(0,n.jsx)(s.a,{href:"https://DOSPACENAME.ams3.digitaloceanspaces.com",children:"https://DOSPACENAME.ams3.digitaloceanspaces.com"})}),(0,n.jsx)(s.td,{children:"Digital ocean baseurl or AWS S3 base URL"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"DO_ACCESS_KEY_ID"}),(0,n.jsx)(s.td,{children:"YOUR_S3_ACCESS_ID"}),(0,n.jsx)(s.td,{children:"Digital ocean spaces access key ID or AWS s3 Access key ID for uploading the docs"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"DO_SECRET_ACCESS_KEY"}),(0,n.jsx)(s.td,{children:"YOUR_S3_ACCESS_KEY"}),(0,n.jsx)(s.td,{children:"Digital ocean spaces secret access key or AWS s3 secret access key for uploading the docs"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"DO_REGION"}),(0,n.jsx)(s.td,{children:"YOUR_S3_REGION"}),(0,n.jsx)(s.td,{children:"Digital ocean spaces region or AWS s3 region"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"USE_LOCAL"}),(0,n.jsx)(s.td,{children:"FALSE"}),(0,n.jsx)(s.td,{children:"To use local file storage to save file"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"MAILGUN_API_KEY"}),(0,n.jsx)(s.td,{children:"YOUR_MAILGUNAPI_KEY"}),(0,n.jsx)(s.td,{children:"Mailgun API Key"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"MAILGUN_DOMAIN"}),(0,n.jsx)(s.td,{children:"YOUR_MAILGUNAPI_DOMAIN"}),(0,n.jsx)(s.td,{children:"Mailgun API Domain"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"MAILGUN_SENDER"}),(0,n.jsx)(s.td,{children:"-"}),(0,n.jsx)(s.td,{children:"Mailgun Sender Mail ID"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"PFX_BASE64"}),(0,n.jsx)(s.td,{children:"-"}),(0,n.jsxs)(s.td,{children:["Base64 encoded PFX or p12 document signing certificate file. You can generate base64 encoded self sign certificate using the passphrase ",(0,n.jsx)(s.code,{children:"emudhra"})]})]})]})]}),"\n",(0,n.jsx)(s.h1,{id:"steps-to-generate-self-sign-certificate",children:"Steps to Generate Self Sign Certificate"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{children:"# execute below command and use passphrase emudhra\nopenssl genrsa -des3 -out ./cert/local_dev.key 2048\nopenssl req -key ./cert/local_dev.key -new -x509 -days 365 -out ./cert/local_dev.crt\nopenssl pkcs12 -inkey ./cert/local_dev.key -in ./cert/local_dev.crt -export -out ./cert/local_dev.pfx\nopenssl base64 -in ./cert/local_dev.pfx -out ./cert/base64_pfx\n"})}),"\n",(0,n.jsx)(s.h1,{id:"cors-configuration",children:"CORS Configuration"}),"\n",(0,n.jsxs)(s.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,n.jsx)(s.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,n.jsx)(s.pre,{children:(0,n.jsx)(s.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,n.jsx)(s.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,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:(0,n.jsx)(s.a,{href:"https://docs.digitalocean.com/products/spaces/how-to/configure-cors/",children:"How to Configure CORS on DigitalOcean Spaces"})}),"\n",(0,n.jsx)(s.li,{children:(0,n.jsx)(s.a,{href:"https://docs.aws.amazon.com/AmazonS3/latest/userguide/enabling-cors-examples.html",children:"Configuring cross-origin resource sharing on AWS S3"})}),"\n"]}),"\n",(0,n.jsx)(s.h1,{id:"build-local-environment",children:"Build Local Environment"}),"\n",(0,n.jsx)(s.p,{children:"Command to build project -"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:["Execute ",(0,n.jsx)(s.code,{children:"make build"})]}),"\n"]}),"\n",(0,n.jsx)(s.p,{children:"Command to run project -"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:["Execute ",(0,n.jsx)(s.code,{children:"make run"})]}),"\n"]})]})}function h(e={}){const{wrapper:s}={...(0,r.a)(),...e.components};return s?(0,n.jsx)(s,{...e,children:(0,n.jsx)(a,{...e})}):a(e)}},11151:(e,s,t)=>{t.d(s,{Z:()=>o,a:()=>c});var n=t(67294);const r={},i=n.createContext(r);function c(e){const s=n.useContext(i);return n.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function o(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:c(e.components),n.createElement(i.Provider,{value:s},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/489b8a4d.3238e555.js b/assets/js/489b8a4d.3238e555.js
new file mode 100644
index 000000000..c9e56c67e
--- /dev/null
+++ b/assets/js/489b8a4d.3238e555.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkOpenSign_Docs=self.webpackChunkOpenSign_Docs||[]).push([[8781],{44907:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>l,contentTitle:()=>c,default:()=>h,frontMatter:()=>i,metadata:()=>o,toc:()=>d});var n=t(85893),r=t(11151);const i={title:"Localhost Setup with Docker"},c=void 0,o={id:"self-host/docker/run-locally",title:"Localhost Setup with Docker",description:"Setup OpenSign\u2122 with Docker on Localhost",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:"Localhost Setup with Docker"},sidebar:"selfhostSidebar",previous:{title:"Docker",permalink:"/docs/category/docker"},next:{title:"Digital Ocean",permalink:"/docs/self-host/One-click-Install/DigitalOcean"}},l={},d=[{value:"Setup OpenSign\u2122 with Docker on Localhost",id:"setup-opensign-with-docker-on-localhost",level:2}];function a(e){const s={a:"a",code:"code",h1:"h1",h2:"h2",li:"li",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,r.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(s.h2,{id:"setup-opensign-with-docker-on-localhost",children:"Setup OpenSign\u2122 with Docker on Localhost"}),"\n",(0,n.jsx)(s.p,{children:"To set up OpenSign\u2122 locally using Docker, the following prerequisites are required:"}),"\n",(0,n.jsx)(s.p,{children:"Environment Varaibles:"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Environment Varibale"}),(0,n.jsx)(s.th,{children:"Value"}),(0,n.jsx)(s.th,{children:"Description"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"CI"}),(0,n.jsx)(s.td,{children:"false"}),(0,n.jsx)(s.td,{children:"Set CI to false while running the app locally"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"PUBLIC_URL"}),(0,n.jsx)(s.td,{children:(0,n.jsx)(s.a,{href:"http://localhost:3000",children:"http://localhost:3000"})}),(0,n.jsx)(s.td,{children:"Set it to the URL form where the app home page will be accessed"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"GENERATE_SOURCEMAP"}),(0,n.jsx)(s.td,{children:"false"}),(0,n.jsx)(s.td,{children:"Set it to true if you want to generate the Sourcemap for debugging"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"REACT_APP_SERVERURL"}),(0,n.jsx)(s.td,{children:(0,n.jsx)(s.a,{href:"http://localhost:8080/app",children:"http://localhost:8080/app"})}),(0,n.jsx)(s.td,{children:"Set it to the URL from where APIs will be accessible, for local development it should be localhost:3000/api/app (use your local port number instead)"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"REACT_APP_APPID"}),(0,n.jsx)(s.td,{children:"opensignstgn"}),(0,n.jsx)(s.td,{children:"A 12 character long random app identifier. The value of this should be same as APP_ID which is a variable used by backend API."})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"APP_ID"}),(0,n.jsx)(s.td,{children:"opensignstgn"}),(0,n.jsx)(s.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,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"appName"}),(0,n.jsx)(s.td,{children:"open_sign_server"}),(0,n.jsx)(s.td,{children:"Name of the app. It will be visible in the verification emails sent out."})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"MASTER_KEY"}),(0,n.jsx)(s.td,{children:"XnAadwKxxByMr"}),(0,n.jsx)(s.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,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"MONGODB_URI"}),(0,n.jsx)(s.td,{children:"mongodb://host.docker.internal:27017/OpenSignDB"}),(0,n.jsx)(s.td,{children:"Mongodb URI to connect to"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"PARSE_MOUNT"}),(0,n.jsx)(s.td,{children:"/app"}),(0,n.jsx)(s.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,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"SERVER_URL"}),(0,n.jsx)(s.td,{children:(0,n.jsx)(s.a,{href:"http://127.0.0.1:8080/app",children:"http://127.0.0.1:8080/app"})}),(0,n.jsx)(s.td,{children:"Set it to the URL from where APIs will be accessible to the NodeJS functions, for local development it should be localhost:3000/api/app (use your local port number instead)"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"DO_SPACE"}),(0,n.jsx)(s.td,{children:"DOSPACENAME"}),(0,n.jsx)(s.td,{children:"Digital ocean space name or AWS S3 bucket name for uploading documents"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"DO_ENDPOINT"}),(0,n.jsx)(s.td,{children:"ams3.digitaloceanspaces.com"}),(0,n.jsx)(s.td,{children:"Digital ocean spaces endpoint or AWS S3 endpoint for uploading documents"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"DO_BASEURL"}),(0,n.jsx)(s.td,{children:(0,n.jsx)(s.a,{href:"https://DOSPACENAME.ams3.digitaloceanspaces.com",children:"https://DOSPACENAME.ams3.digitaloceanspaces.com"})}),(0,n.jsx)(s.td,{children:"Digital ocean baseurl or AWS S3 base URL"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"DO_ACCESS_KEY_ID"}),(0,n.jsx)(s.td,{children:"YOUR_S3_ACCESS_ID"}),(0,n.jsx)(s.td,{children:"Digital ocean spaces access key ID or AWS s3 Access key ID for uploading the docs"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"DO_SECRET_ACCESS_KEY"}),(0,n.jsx)(s.td,{children:"YOUR_S3_ACCESS_KEY"}),(0,n.jsx)(s.td,{children:"Digital ocean spaces secret access key or AWS s3 secret access key for uploading the docs"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"DO_REGION"}),(0,n.jsx)(s.td,{children:"YOUR_S3_REGION"}),(0,n.jsx)(s.td,{children:"Digital ocean spaces region or AWS s3 region"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"USE_LOCAL"}),(0,n.jsx)(s.td,{children:"FALSE"}),(0,n.jsx)(s.td,{children:"To use local file storage to save file"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"MAILGUN_API_KEY"}),(0,n.jsx)(s.td,{children:"YOUR_MAILGUNAPI_KEY"}),(0,n.jsx)(s.td,{children:"Mailgun API Key"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"MAILGUN_DOMAIN"}),(0,n.jsx)(s.td,{children:"YOUR_MAILGUNAPI_DOMAIN"}),(0,n.jsx)(s.td,{children:"Mailgun API Domain"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"MAILGUN_SENDER"}),(0,n.jsx)(s.td,{children:"-"}),(0,n.jsx)(s.td,{children:"Mailgun Sender Mail ID"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"PFX_BASE64"}),(0,n.jsx)(s.td,{children:"-"}),(0,n.jsxs)(s.td,{children:["Base64 encoded PFX or p12 document signing certificate file. You can generate base64 encoded self sign certificate using the passphrase ",(0,n.jsx)(s.code,{children:"emudhra"})]})]})]})]}),"\n",(0,n.jsx)(s.h1,{id:"steps-to-generate-self-sign-certificate",children:"Steps to Generate Self Sign Certificate"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{children:"# execute below command and use passphrase emudhra\nopenssl genrsa -des3 -out ./cert/local_dev.key 2048\nopenssl req -key ./cert/local_dev.key -new -x509 -days 365 -out ./cert/local_dev.crt\nopenssl pkcs12 -inkey ./cert/local_dev.key -in ./cert/local_dev.crt -export -out ./cert/local_dev.pfx\nopenssl base64 -in ./cert/local_dev.pfx -out ./cert/base64_pfx\n"})}),"\n",(0,n.jsx)(s.h1,{id:"cors-configuration",children:"CORS Configuration"}),"\n",(0,n.jsxs)(s.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,n.jsx)(s.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,n.jsx)(s.pre,{children:(0,n.jsx)(s.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,n.jsx)(s.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,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:(0,n.jsx)(s.a,{href:"https://docs.digitalocean.com/products/spaces/how-to/configure-cors/",children:"How to Configure CORS on DigitalOcean Spaces"})}),"\n",(0,n.jsx)(s.li,{children:(0,n.jsx)(s.a,{href:"https://docs.aws.amazon.com/AmazonS3/latest/userguide/enabling-cors-examples.html",children:"Configuring cross-origin resource sharing on AWS S3"})}),"\n"]}),"\n",(0,n.jsx)(s.h1,{id:"build-local-environment",children:"Build Local Environment"}),"\n",(0,n.jsx)(s.p,{children:"Command to build project -"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:["Execute ",(0,n.jsx)(s.code,{children:"make build"})]}),"\n"]}),"\n",(0,n.jsx)(s.p,{children:"Command to run project -"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:["Execute ",(0,n.jsx)(s.code,{children:"make run"})]}),"\n"]})]})}function h(e={}){const{wrapper:s}={...(0,r.a)(),...e.components};return s?(0,n.jsx)(s,{...e,children:(0,n.jsx)(a,{...e})}):a(e)}},11151:(e,s,t)=>{t.d(s,{Z:()=>o,a:()=>c});var n=t(67294);const r={},i=n.createContext(r);function c(e){const s=n.useContext(i);return n.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function o(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:c(e.components),n.createElement(i.Provider,{value:s},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/935f2afb.38b0a105.js b/assets/js/935f2afb.38b0a105.js
new file mode 100644
index 000000000..2ac28c29c
--- /dev/null
+++ b/assets/js/935f2afb.38b0a105.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkOpenSign_Docs=self.webpackChunkOpenSign_Docs||[]).push([[53],{1109:e=>{e.exports=JSON.parse('{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"tutorialSidebar":[{"type":"link","label":"Intro","href":"/docs/help/intro","docId":"help/intro","unlisted":false},{"type":"category","label":"New-Document","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Sign yourself","href":"/docs/help/New-Document/sign-yourself","docId":"help/New-Document/sign-yourself","unlisted":false},{"type":"link","label":"Request signatures","href":"/docs/help/New-Document/request-signatures","docId":"help/New-Document/request-signatures","unlisted":false}]}],"selfhostSidebar":[{"type":"link","label":"Self-Hosting OpenSign","href":"/docs/self-host/intro","docId":"self-host/intro","unlisted":false},{"type":"category","label":"Docker","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Localhost Setup with Docker","href":"/docs/self-host/docker/run-locally","docId":"self-host/docker/run-locally","unlisted":false}],"href":"/docs/category/docker"},{"type":"category","label":"One-click-Install","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Digital Ocean","href":"/docs/self-host/One-click-Install/DigitalOcean","docId":"self-host/One-click-Install/DigitalOcean","unlisted":false}]}],"contributeSidebar":[{"type":"link","label":"Code of conduct","href":"/docs/contribute/CODE_OF_CONDUCT","docId":"contribute/CODE_OF_CONDUCT","unlisted":false},{"type":"link","label":"Contributing to OpenSign","href":"/docs/contribute/intro","docId":"contribute/intro","unlisted":false},{"type":"link","label":"Community at OpenSign\u2122","href":"/docs/contribute/COMMUNITY","docId":"contribute/COMMUNITY","unlisted":false},{"type":"link","label":"INSTALLATON INSTRUCTIONS","href":"/docs/contribute/INSTALLATION","docId":"contribute/INSTALLATION","unlisted":false},{"type":"link","label":"REPORTING_GUIDELINES","href":"/docs/contribute/REPORTING_GUIDELINES","docId":"contribute/REPORTING_GUIDELINES","unlisted":false}],"apiSidebar":[{"type":"link","label":"Introduction","href":"/docs/API-docs/opensign-api-v-1","docId":"API-docs/opensign-api-v-1","unlisted":false},{"type":"category","label":"User","items":[{"type":"link","label":"Get your details","href":"/docs/API-docs/get-user","className":"api-method get","docId":"API-docs/get-user","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Contacts","items":[{"type":"link","label":"Create contact","href":"/docs/API-docs/createcontact","className":"api-method post","docId":"API-docs/createcontact","unlisted":false},{"type":"link","label":"Get contact","href":"/docs/API-docs/getcontact","className":"api-method get","docId":"API-docs/getcontact","unlisted":false},{"type":"link","label":"Delete contact","href":"/docs/API-docs/deletecontact","className":"api-method delete","docId":"API-docs/deletecontact","unlisted":false},{"type":"link","label":"Get contact list","href":"/docs/API-docs/contactlist","className":"api-method get","docId":"API-docs/contactlist","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Documents","items":[{"type":"link","label":"Create document","href":"/docs/API-docs/createdocument","className":"api-method post","docId":"API-docs/createdocument","unlisted":false},{"type":"link","label":"Get document by ID","href":"/docs/API-docs/getdocument","className":"api-method get","docId":"API-docs/getdocument","unlisted":false},{"type":"link","label":"Update document by ID","href":"/docs/API-docs/update-document","className":"api-method put","docId":"API-docs/update-document","unlisted":false},{"type":"link","label":"Delete document by ID","href":"/docs/API-docs/deletedocument","className":"api-method delete","docId":"API-docs/deletedocument","unlisted":false},{"type":"link","label":"Get document list by doctype","href":"/docs/API-docs/getdocumentlist","className":"api-method get","docId":"API-docs/getdocumentlist","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Templates","items":[{"type":"link","label":"Create template","href":"/docs/API-docs/createtemplate","className":"api-method post","docId":"API-docs/createtemplate","unlisted":false},{"type":"link","label":"Get template by ID","href":"/docs/API-docs/get-template","className":"api-method get","docId":"API-docs/get-template","unlisted":false},{"type":"link","label":"Update template by ID","href":"/docs/API-docs/update-template","className":"api-method put","docId":"API-docs/update-template","unlisted":false},{"type":"link","label":"Delete template by ID","href":"/docs/API-docs/delete-template","className":"api-method delete","docId":"API-docs/delete-template","unlisted":false},{"type":"link","label":"Get template list","href":"/docs/API-docs/gettemplatelist","className":"api-method get","docId":"API-docs/gettemplatelist","unlisted":false}],"collapsed":true,"collapsible":true}]},"docs":{"API-docs/contactlist":{"id":"API-docs/contactlist","title":"Get contact list","description":"The Contact List API empowers you to retrieve a list of contacts, providing a comprehensive view of all available contacts in your contactbook.","sidebar":"apiSidebar"},"API-docs/createcontact":{"id":"API-docs/createcontact","title":"Create contact","description":"The Create contact API allows you to effortlessly create new contacts that can act as signers for your important documents.","sidebar":"apiSidebar"},"API-docs/createdocument":{"id":"API-docs/createdocument","title":"Create document","description":"The Create Document API allows users to generate new documents by providing data through `multipart/form-data`. This flexible method allows for the inclusion of various data types, making it suitable for a wide range of document creation scenarios.","sidebar":"apiSidebar"},"API-docs/createtemplate":{"id":"API-docs/createtemplate","title":"Create template","description":"The Template Creation API allows users to create customizable templates, which serve as blueprints for generating documents with predefined structures. Upon successful template creation, the API returns a unique **templateId** that can be used to generate documents based on the specified template and **url** to edit template.","sidebar":"apiSidebar"},"API-docs/delete-template":{"id":"API-docs/delete-template","title":"Delete template by ID","description":"The Delete Template API provides you with the ability to remove a specific template from the templates. If a template is no longer needed","sidebar":"apiSidebar"},"API-docs/deletecontact":{"id":"API-docs/deletecontact","title":"Delete contact","description":"The Delete Contact API allows you to remove a contact from your contactbook. If you no longer need a particular contact\'s information, this API makes it easy to delete their record.","sidebar":"apiSidebar"},"API-docs/deletedocument":{"id":"API-docs/deletedocument","title":"Delete document by ID","description":"The Delete document API allows you to remove specific document from your documents.","sidebar":"apiSidebar"},"API-docs/get-template":{"id":"API-docs/get-template","title":"Get template by ID","description":"The Get Template API allows you to retrieve details about a specific template. Templates serve as blueprints for creating documents with predefined structures.","sidebar":"apiSidebar"},"API-docs/get-user":{"id":"API-docs/get-user","title":"Get your details","description":"The Get User API enables you to get your own details.","sidebar":"apiSidebar"},"API-docs/getcontact":{"id":"API-docs/getcontact","title":"Get contact","description":"The Get Contact API allows you to retrieve details about a specific contact.","sidebar":"apiSidebar"},"API-docs/getdocument":{"id":"API-docs/getdocument","title":"Get document by ID","description":"The Get Document API enables you to retrieve details about a specific document.","sidebar":"apiSidebar"},"API-docs/getdocumentlist":{"id":"API-docs/getdocumentlist","title":"Get document list by doctype","description":"### Document Types:","sidebar":"apiSidebar"},"API-docs/gettemplatelist":{"id":"API-docs/gettemplatelist","title":"Get template list","description":"The Get Template List API allows you to retrieve a list of available templates. This functionality provides an overview of all templates, enabling users to choose from existing templates when creating documents.","sidebar":"apiSidebar"},"API-docs/intro":{"id":"API-docs/intro","title":"Overview","description":"OpenSign\u2122 API offers a robust suite of functionalities for digital document management and electronic signatures. Designed to cater to a wide array of business needs, the API facilitates the creation, signing, and management of digital documents. It ensures secure and efficient processes, complying with international legal standards for electronic signatures."},"API-docs/opensign-api-v-1":{"id":"API-docs/opensign-api-v-1","title":"OpenSign API v1","description":"This is API documentation for OpenSign API v1 based on the OpenAPI 3.1 specification.","sidebar":"apiSidebar"},"API-docs/update-document":{"id":"API-docs/update-document","title":"Update document by ID","description":"The Update Document API allows users to modify and update the details of a specific document.","sidebar":"apiSidebar"},"API-docs/update-template":{"id":"API-docs/update-template","title":"Update template by ID","description":"The Update Template API enables you to modify and update the details of a specific template.","sidebar":"apiSidebar"},"contribute/CODE_OF_CONDUCT":{"id":"contribute/CODE_OF_CONDUCT","title":"Code of conduct","description":"1. Introduction","sidebar":"contributeSidebar"},"contribute/COMMUNITY":{"id":"contribute/COMMUNITY","title":"Community at OpenSign\u2122","description":"Welcome to the OpenSign\u2122 Community page! OpenSign\u2122 is dedicated to fostering a vibrant and engaging community where members can connect, share ideas and collaborate on the OpenSign\u2122 project. This page provides links to our active social media platforms and community channels, offering various ways for you to join and participate in the OpenSign\u2122 community. Whether you\'re looking for support, eager to contribute or just want to stay updated, you\'ll find a platform that suits your preference. Connect with us on Discord for real-time discussions, follow us on Twitter for the latest updates, engage with our professional network on LinkedIn or join our Facebook group for a broader community experience. Join us in our mission to develop OpenSign\u2122 as the premier open-source alternative to DocuSign.","sidebar":"contributeSidebar"},"contribute/INSTALLATION":{"id":"contribute/INSTALLATION","title":"INSTALLATON INSTRUCTIONS","description":"You can use our app as a cloud version from OpenSignLabs","sidebar":"contributeSidebar"},"contribute/intro":{"id":"contribute/intro","title":"Contributing to OpenSign","description":"Hello there! Thank you for considering contributing to OpenSign, the open-source alternative to DocuSign. OpenSign is not just a project, but a community endeavor that aims to create a robust, user-friendly, and secure electronic signature solution. Your contributions, irrespective of their size, are valuable in making this vision a reality.","sidebar":"contributeSidebar"},"contribute/REPORTING_GUIDELINES":{"id":"contribute/REPORTING_GUIDELINES","title":"REPORTING_GUIDELINES","description":"","sidebar":"contributeSidebar"},"help/intro":{"id":"help/intro","title":"Intro","description":"\ud83c\udf1fGet ready for an electrifying journey at OpenSign\u2122, the most incredibly documented open source document signing solution! \ud83d\ude80 This is your go-to spot for diving deep into everything OpenSign\u2122 has to offer. Whether you\u2019re just starting out or you\u2019re a seasoned pro eager to uncover even more cool features, we\u2019ve got you covered with the most awesome, top-notch guides and resources around. Get ready to make the most out of OpenSign\u2122 \ud83c\udf89\ud83d\udcda\ud83d\udd0d Your adventure in excellence starts here! \ud83c\udf08\u2728\ud83c\udf1f","sidebar":"tutorialSidebar"},"help/New-Document/request-signatures":{"id":"help/New-Document/request-signatures","title":"Request signatures","description":"Interface Overview","sidebar":"tutorialSidebar"},"help/New-Document/sign-yourself":{"id":"help/New-Document/sign-yourself","title":"Sign yourself","description":"This feature lets you sign documents that dont need to be sent to anybody.","sidebar":"tutorialSidebar"},"intro":{"id":"intro","title":"Tutorial Intro","description":"Let\'s discover Docusaurus in less than 5 minutes."},"self-host/docker/run-locally":{"id":"self-host/docker/run-locally","title":"Localhost Setup with Docker","description":"Setup OpenSign\u2122 with Docker on Localhost","sidebar":"selfhostSidebar"},"self-host/intro":{"id":"self-host/intro","title":"Self-Hosting OpenSign","description":"This section of the OpenSign\u2122 documentation is dedicated to guiding you through the process of self-hosting the OpenSign platform. Self-hosting OpenSign allows for greater control and customization, ensuring that it aligns perfectly with your specific needs and infrastructure requirements. We cover everything from initial setup, configuration options, to maintenance best practices. Whether you are an individual enthusiast or a professional looking to deploy OpenSign in a corporate environment, this guide will provide you with the necessary steps and tips to successfully self-host OpenSign\u2122 - the best open source document signing infrastructure.","sidebar":"selfhostSidebar"},"self-host/One-click-Install/DigitalOcean":{"id":"self-host/One-click-Install/DigitalOcean","title":"Digital Ocean","description":"OpenSign application consistes of 3 components -","sidebar":"selfhostSidebar"}}}')}}]);
\ No newline at end of file
diff --git a/assets/js/935f2afb.a52fd6ea.js b/assets/js/935f2afb.a52fd6ea.js
deleted file mode 100644
index 2e1f33a73..000000000
--- a/assets/js/935f2afb.a52fd6ea.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkOpenSign_Docs=self.webpackChunkOpenSign_Docs||[]).push([[53],{1109:e=>{e.exports=JSON.parse('{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"tutorialSidebar":[{"type":"link","label":"Intro","href":"/docs/help/intro","docId":"help/intro","unlisted":false},{"type":"category","label":"New-Document","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Sign yourself","href":"/docs/help/New-Document/sign-yourself","docId":"help/New-Document/sign-yourself","unlisted":false},{"type":"link","label":"Request signatures","href":"/docs/help/New-Document/request-signatures","docId":"help/New-Document/request-signatures","unlisted":false}]}],"selfhostSidebar":[{"type":"link","label":"Self-Hosting OpenSign","href":"/docs/self-host/intro","docId":"self-host/intro","unlisted":false},{"type":"category","label":"Docker","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Code of conduct","href":"/docs/self-host/docker/run-locally","docId":"self-host/docker/run-locally","unlisted":false}],"href":"/docs/category/docker"},{"type":"category","label":"One-click-Install","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Digital Ocean","href":"/docs/self-host/One-click-Install/DigitalOcean","docId":"self-host/One-click-Install/DigitalOcean","unlisted":false}]}],"contributeSidebar":[{"type":"link","label":"Code of conduct","href":"/docs/contribute/CODE_OF_CONDUCT","docId":"contribute/CODE_OF_CONDUCT","unlisted":false},{"type":"link","label":"Contributing to OpenSign","href":"/docs/contribute/intro","docId":"contribute/intro","unlisted":false},{"type":"link","label":"Community at OpenSign\u2122","href":"/docs/contribute/COMMUNITY","docId":"contribute/COMMUNITY","unlisted":false},{"type":"link","label":"INSTALLATON INSTRUCTIONS","href":"/docs/contribute/INSTALLATION","docId":"contribute/INSTALLATION","unlisted":false},{"type":"link","label":"REPORTING_GUIDELINES","href":"/docs/contribute/REPORTING_GUIDELINES","docId":"contribute/REPORTING_GUIDELINES","unlisted":false}],"apiSidebar":[{"type":"link","label":"Introduction","href":"/docs/API-docs/opensign-api-v-1","docId":"API-docs/opensign-api-v-1","unlisted":false},{"type":"category","label":"User","items":[{"type":"link","label":"Get your details","href":"/docs/API-docs/get-user","className":"api-method get","docId":"API-docs/get-user","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Contacts","items":[{"type":"link","label":"Create contact","href":"/docs/API-docs/createcontact","className":"api-method post","docId":"API-docs/createcontact","unlisted":false},{"type":"link","label":"Get contact","href":"/docs/API-docs/getcontact","className":"api-method get","docId":"API-docs/getcontact","unlisted":false},{"type":"link","label":"Delete contact","href":"/docs/API-docs/deletecontact","className":"api-method delete","docId":"API-docs/deletecontact","unlisted":false},{"type":"link","label":"Get contact list","href":"/docs/API-docs/contactlist","className":"api-method get","docId":"API-docs/contactlist","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Documents","items":[{"type":"link","label":"Create document","href":"/docs/API-docs/createdocument","className":"api-method post","docId":"API-docs/createdocument","unlisted":false},{"type":"link","label":"Get document by ID","href":"/docs/API-docs/getdocument","className":"api-method get","docId":"API-docs/getdocument","unlisted":false},{"type":"link","label":"Update document by ID","href":"/docs/API-docs/update-document","className":"api-method put","docId":"API-docs/update-document","unlisted":false},{"type":"link","label":"Delete document by ID","href":"/docs/API-docs/deletedocument","className":"api-method delete","docId":"API-docs/deletedocument","unlisted":false},{"type":"link","label":"Get document list by doctype","href":"/docs/API-docs/getdocumentlist","className":"api-method get","docId":"API-docs/getdocumentlist","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Templates","items":[{"type":"link","label":"Create template","href":"/docs/API-docs/createtemplate","className":"api-method post","docId":"API-docs/createtemplate","unlisted":false},{"type":"link","label":"Get template by ID","href":"/docs/API-docs/get-template","className":"api-method get","docId":"API-docs/get-template","unlisted":false},{"type":"link","label":"Update template by ID","href":"/docs/API-docs/update-template","className":"api-method put","docId":"API-docs/update-template","unlisted":false},{"type":"link","label":"Delete template by ID","href":"/docs/API-docs/delete-template","className":"api-method delete","docId":"API-docs/delete-template","unlisted":false},{"type":"link","label":"Get template list","href":"/docs/API-docs/gettemplatelist","className":"api-method get","docId":"API-docs/gettemplatelist","unlisted":false}],"collapsed":true,"collapsible":true}]},"docs":{"API-docs/contactlist":{"id":"API-docs/contactlist","title":"Get contact list","description":"The Contact List API empowers you to retrieve a list of contacts, providing a comprehensive view of all available contacts in your contactbook.","sidebar":"apiSidebar"},"API-docs/createcontact":{"id":"API-docs/createcontact","title":"Create contact","description":"The Create contact API allows you to effortlessly create new contacts that can act as signers for your important documents.","sidebar":"apiSidebar"},"API-docs/createdocument":{"id":"API-docs/createdocument","title":"Create document","description":"The Create Document API allows users to generate new documents by providing data through `multipart/form-data`. This flexible method allows for the inclusion of various data types, making it suitable for a wide range of document creation scenarios.","sidebar":"apiSidebar"},"API-docs/createtemplate":{"id":"API-docs/createtemplate","title":"Create template","description":"The Template Creation API allows users to create customizable templates, which serve as blueprints for generating documents with predefined structures. Upon successful template creation, the API returns a unique **templateId** that can be used to generate documents based on the specified template and **url** to edit template.","sidebar":"apiSidebar"},"API-docs/delete-template":{"id":"API-docs/delete-template","title":"Delete template by ID","description":"The Delete Template API provides you with the ability to remove a specific template from the templates. If a template is no longer needed","sidebar":"apiSidebar"},"API-docs/deletecontact":{"id":"API-docs/deletecontact","title":"Delete contact","description":"The Delete Contact API allows you to remove a contact from your contactbook. If you no longer need a particular contact\'s information, this API makes it easy to delete their record.","sidebar":"apiSidebar"},"API-docs/deletedocument":{"id":"API-docs/deletedocument","title":"Delete document by ID","description":"The Delete document API allows you to remove specific document from your documents.","sidebar":"apiSidebar"},"API-docs/get-template":{"id":"API-docs/get-template","title":"Get template by ID","description":"The Get Template API allows you to retrieve details about a specific template. Templates serve as blueprints for creating documents with predefined structures.","sidebar":"apiSidebar"},"API-docs/get-user":{"id":"API-docs/get-user","title":"Get your details","description":"The Get User API enables you to get your own details.","sidebar":"apiSidebar"},"API-docs/getcontact":{"id":"API-docs/getcontact","title":"Get contact","description":"The Get Contact API allows you to retrieve details about a specific contact.","sidebar":"apiSidebar"},"API-docs/getdocument":{"id":"API-docs/getdocument","title":"Get document by ID","description":"The Get Document API enables you to retrieve details about a specific document.","sidebar":"apiSidebar"},"API-docs/getdocumentlist":{"id":"API-docs/getdocumentlist","title":"Get document list by doctype","description":"### Document Types:","sidebar":"apiSidebar"},"API-docs/gettemplatelist":{"id":"API-docs/gettemplatelist","title":"Get template list","description":"The Get Template List API allows you to retrieve a list of available templates. This functionality provides an overview of all templates, enabling users to choose from existing templates when creating documents.","sidebar":"apiSidebar"},"API-docs/intro":{"id":"API-docs/intro","title":"Overview","description":"OpenSign\u2122 API offers a robust suite of functionalities for digital document management and electronic signatures. Designed to cater to a wide array of business needs, the API facilitates the creation, signing, and management of digital documents. It ensures secure and efficient processes, complying with international legal standards for electronic signatures."},"API-docs/opensign-api-v-1":{"id":"API-docs/opensign-api-v-1","title":"OpenSign API v1","description":"This is API documentation for OpenSign API v1 based on the OpenAPI 3.1 specification.","sidebar":"apiSidebar"},"API-docs/update-document":{"id":"API-docs/update-document","title":"Update document by ID","description":"The Update Document API allows users to modify and update the details of a specific document.","sidebar":"apiSidebar"},"API-docs/update-template":{"id":"API-docs/update-template","title":"Update template by ID","description":"The Update Template API enables you to modify and update the details of a specific template.","sidebar":"apiSidebar"},"contribute/CODE_OF_CONDUCT":{"id":"contribute/CODE_OF_CONDUCT","title":"Code of conduct","description":"1. Introduction","sidebar":"contributeSidebar"},"contribute/COMMUNITY":{"id":"contribute/COMMUNITY","title":"Community at OpenSign\u2122","description":"Welcome to the OpenSign\u2122 Community page! OpenSign\u2122 is dedicated to fostering a vibrant and engaging community where members can connect, share ideas and collaborate on the OpenSign\u2122 project. This page provides links to our active social media platforms and community channels, offering various ways for you to join and participate in the OpenSign\u2122 community. Whether you\'re looking for support, eager to contribute or just want to stay updated, you\'ll find a platform that suits your preference. Connect with us on Discord for real-time discussions, follow us on Twitter for the latest updates, engage with our professional network on LinkedIn or join our Facebook group for a broader community experience. Join us in our mission to develop OpenSign\u2122 as the premier open-source alternative to DocuSign.","sidebar":"contributeSidebar"},"contribute/INSTALLATION":{"id":"contribute/INSTALLATION","title":"INSTALLATON INSTRUCTIONS","description":"You can use our app as a cloud version from OpenSignLabs","sidebar":"contributeSidebar"},"contribute/intro":{"id":"contribute/intro","title":"Contributing to OpenSign","description":"Hello there! Thank you for considering contributing to OpenSign, the open-source alternative to DocuSign. OpenSign is not just a project, but a community endeavor that aims to create a robust, user-friendly, and secure electronic signature solution. Your contributions, irrespective of their size, are valuable in making this vision a reality.","sidebar":"contributeSidebar"},"contribute/REPORTING_GUIDELINES":{"id":"contribute/REPORTING_GUIDELINES","title":"REPORTING_GUIDELINES","description":"","sidebar":"contributeSidebar"},"help/intro":{"id":"help/intro","title":"Intro","description":"\ud83c\udf1fGet ready for an electrifying journey at OpenSign\u2122, the most incredibly documented open source document signing solution! \ud83d\ude80 This is your go-to spot for diving deep into everything OpenSign\u2122 has to offer. Whether you\u2019re just starting out or you\u2019re a seasoned pro eager to uncover even more cool features, we\u2019ve got you covered with the most awesome, top-notch guides and resources around. Get ready to make the most out of OpenSign\u2122 \ud83c\udf89\ud83d\udcda\ud83d\udd0d Your adventure in excellence starts here! \ud83c\udf08\u2728\ud83c\udf1f","sidebar":"tutorialSidebar"},"help/New-Document/request-signatures":{"id":"help/New-Document/request-signatures","title":"Request signatures","description":"Interface Overview","sidebar":"tutorialSidebar"},"help/New-Document/sign-yourself":{"id":"help/New-Document/sign-yourself","title":"Sign yourself","description":"This feature lets you sign documents that dont need to be sent to anybody.","sidebar":"tutorialSidebar"},"intro":{"id":"intro","title":"Tutorial Intro","description":"Let\'s discover Docusaurus in less than 5 minutes."},"self-host/docker/run-locally":{"id":"self-host/docker/run-locally","title":"Code of conduct","description":"Localhost Setup with Docker","sidebar":"selfhostSidebar"},"self-host/intro":{"id":"self-host/intro","title":"Self-Hosting OpenSign","description":"This section of the OpenSign\u2122 documentation is dedicated to guiding you through the process of self-hosting the OpenSign platform. Self-hosting OpenSign allows for greater control and customization, ensuring that it aligns perfectly with your specific needs and infrastructure requirements. We cover everything from initial setup, configuration options, to maintenance best practices. Whether you are an individual enthusiast or a professional looking to deploy OpenSign in a corporate environment, this guide will provide you with the necessary steps and tips to successfully self-host OpenSign\u2122 - the best open source document signing infrastructure.","sidebar":"selfhostSidebar"},"self-host/One-click-Install/DigitalOcean":{"id":"self-host/One-click-Install/DigitalOcean","title":"Digital Ocean","description":"OpenSign application consistes of 3 components -","sidebar":"selfhostSidebar"}}}')}}]);
\ No newline at end of file
diff --git a/assets/js/ce589067.67c44a6c.js b/assets/js/ce589067.67c44a6c.js
deleted file mode 100644
index a352c9178..000000000
--- a/assets/js/ce589067.67c44a6c.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkOpenSign_Docs=self.webpackChunkOpenSign_Docs||[]).push([[5377],{41264:(n,e,t)=>{t.r(e),t.d(e,{assets:()=>a,contentTitle:()=>c,default:()=>p,frontMatter:()=>s,metadata:()=>l,toc:()=>r});var i=t(85893),o=t(11151);const s={title:"Digital Ocean"},c="Digital Ocean",l={id:"self-host/One-click-Install/DigitalOcean",title:"Digital Ocean",description:"OpenSign application consistes of 3 components -",source:"@site/docs/self-host/One-click-Install/DigitalOcean.md",sourceDirName:"self-host/One-click-Install",slug:"/self-host/One-click-Install/DigitalOcean",permalink:"/docs/self-host/One-click-Install/DigitalOcean",draft:!1,unlisted:!1,editUrl:"https://github.com/opensignlabs/opensign/tree/feat-docs/docs/docs/self-host/One-click-Install/DigitalOcean.md",tags:[],version:"current",frontMatter:{title:"Digital Ocean"},sidebar:"selfhostSidebar",previous:{title:"Code of conduct",permalink:"/docs/self-host/docker/run-locally"}},a={},r=[];function d(n){const e={a:"a",h1:"h1",img:"img",li:"li",p:"p",ul:"ul",...(0,o.a)(),...n.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(e.h1,{id:"digital-ocean",children:"Digital Ocean"}),"\n",(0,i.jsx)(e.p,{children:"OpenSign application consistes of 3 components -"}),"\n",(0,i.jsxs)(e.ul,{children:["\n",(0,i.jsx)(e.li,{children:"ReactJS frontend"}),"\n",(0,i.jsx)(e.li,{children:"NodeJS API"}),"\n",(0,i.jsx)(e.li,{children:"MongoDB database"}),"\n"]}),"\n",(0,i.jsx)(e.p,{children:"You can install all 3 components on digital ocean using the button below -"}),"\n",(0,i.jsx)(e.p,{children:(0,i.jsx)(e.a,{href:"https://cloud.digitalocean.com/apps/new?repo=https://github.com/OpenSignLabs/Deploy-OpenSign-to-Digital-Ocean/tree/main&refcode=30db1c901ab0",children:(0,i.jsx)(e.img,{src:"https://www.deploytodo.com/do-btn-blue.svg",alt:"Deploy on DigitalOcean"})})})]})}function p(n={}){const{wrapper:e}={...(0,o.a)(),...n.components};return e?(0,i.jsx)(e,{...n,children:(0,i.jsx)(d,{...n})}):d(n)}},11151:(n,e,t)=>{t.d(e,{Z:()=>l,a:()=>c});var i=t(67294);const o={},s=i.createContext(o);function c(n){const e=i.useContext(s);return i.useMemo((function(){return"function"==typeof n?n(e):{...e,...n}}),[e,n])}function l(n){let e;return e=n.disableParentContext?"function"==typeof n.components?n.components(o):n.components||o:c(n.components),i.createElement(s.Provider,{value:e},n.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/ce589067.ffc7db1a.js b/assets/js/ce589067.ffc7db1a.js
new file mode 100644
index 000000000..c51e107bf
--- /dev/null
+++ b/assets/js/ce589067.ffc7db1a.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkOpenSign_Docs=self.webpackChunkOpenSign_Docs||[]).push([[5377],{41264:(n,e,t)=>{t.r(e),t.d(e,{assets:()=>a,contentTitle:()=>c,default:()=>d,frontMatter:()=>s,metadata:()=>l,toc:()=>r});var i=t(85893),o=t(11151);const s={title:"Digital Ocean"},c="Digital Ocean",l={id:"self-host/One-click-Install/DigitalOcean",title:"Digital Ocean",description:"OpenSign application consistes of 3 components -",source:"@site/docs/self-host/One-click-Install/DigitalOcean.md",sourceDirName:"self-host/One-click-Install",slug:"/self-host/One-click-Install/DigitalOcean",permalink:"/docs/self-host/One-click-Install/DigitalOcean",draft:!1,unlisted:!1,editUrl:"https://github.com/opensignlabs/opensign/tree/feat-docs/docs/docs/self-host/One-click-Install/DigitalOcean.md",tags:[],version:"current",frontMatter:{title:"Digital Ocean"},sidebar:"selfhostSidebar",previous:{title:"Localhost Setup with Docker",permalink:"/docs/self-host/docker/run-locally"}},a={},r=[];function p(n){const e={a:"a",h1:"h1",img:"img",li:"li",p:"p",ul:"ul",...(0,o.a)(),...n.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(e.h1,{id:"digital-ocean",children:"Digital Ocean"}),"\n",(0,i.jsx)(e.p,{children:"OpenSign application consistes of 3 components -"}),"\n",(0,i.jsxs)(e.ul,{children:["\n",(0,i.jsx)(e.li,{children:"ReactJS frontend"}),"\n",(0,i.jsx)(e.li,{children:"NodeJS API"}),"\n",(0,i.jsx)(e.li,{children:"MongoDB database"}),"\n"]}),"\n",(0,i.jsx)(e.p,{children:"You can install all 3 components on digital ocean using the button below -"}),"\n",(0,i.jsx)(e.p,{children:(0,i.jsx)(e.a,{href:"https://cloud.digitalocean.com/apps/new?repo=https://github.com/OpenSignLabs/Deploy-OpenSign-to-Digital-Ocean/tree/main&refcode=30db1c901ab0",children:(0,i.jsx)(e.img,{src:"https://www.deploytodo.com/do-btn-blue.svg",alt:"Deploy on DigitalOcean"})})})]})}function d(n={}){const{wrapper:e}={...(0,o.a)(),...n.components};return e?(0,i.jsx)(e,{...n,children:(0,i.jsx)(p,{...n})}):p(n)}},11151:(n,e,t)=>{t.d(e,{Z:()=>l,a:()=>c});var i=t(67294);const o={},s=i.createContext(o);function c(n){const e=i.useContext(s);return i.useMemo((function(){return"function"==typeof n?n(e):{...e,...n}}),[e,n])}function l(n){let e;return e=n.disableParentContext?"function"==typeof n.components?n.components(o):n.components||o:c(n.components),i.createElement(s.Provider,{value:e},n.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/e2c87691.a49f9ee8.js b/assets/js/e2c87691.c9c1a330.js
similarity index 63%
rename from assets/js/e2c87691.a49f9ee8.js
rename to assets/js/e2c87691.c9c1a330.js
index fde612c5d..9aad030e7 100644
--- a/assets/js/e2c87691.a49f9ee8.js
+++ b/assets/js/e2c87691.c9c1a330.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkOpenSign_Docs=self.webpackChunkOpenSign_Docs||[]).push([[420],{89898:e=>{e.exports=JSON.parse('{"title":"Docker","slug":"/category/docker","permalink":"/docs/category/docker","navigation":{"previous":{"title":"Self-Hosting OpenSign","permalink":"/docs/self-host/intro"},"next":{"title":"Code of conduct","permalink":"/docs/self-host/docker/run-locally"}}}')}}]);
\ No newline at end of file
+"use strict";(self.webpackChunkOpenSign_Docs=self.webpackChunkOpenSign_Docs||[]).push([[420],{89898:e=>{e.exports=JSON.parse('{"title":"Docker","slug":"/category/docker","permalink":"/docs/category/docker","navigation":{"previous":{"title":"Self-Hosting OpenSign","permalink":"/docs/self-host/intro"},"next":{"title":"Localhost Setup with Docker","permalink":"/docs/self-host/docker/run-locally"}}}')}}]);
\ No newline at end of file
diff --git a/assets/js/runtime~main.21714768.js b/assets/js/runtime~main.d3261588.js
similarity index 61%
rename from assets/js/runtime~main.21714768.js
rename to assets/js/runtime~main.d3261588.js
index 6ff8531cb..df3e65f59 100644
--- a/assets/js/runtime~main.21714768.js
+++ b/assets/js/runtime~main.d3261588.js
@@ -1 +1 @@
-(()=>{"use strict";var e,a,c,d,f,t={},b={};function r(e){var a=b[e];if(void 0!==a)return a.exports;var c=b[e]={id:e,loaded:!1,exports:{}};return t[e].call(c.exports,c,c.exports,r),c.loaded=!0,c.exports}r.m=t,r.c=b,e=[],r.O=(a,c,d,f)=>{if(!c){var t=1/0;for(i=0;i=f)&&Object.keys(r.O).every((e=>r.O[e](c[o])))?c.splice(o--,1):(b=!1,f0&&e[i-1][2]>f;i--)e[i]=e[i-1];e[i]=[c,d,f]},r.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return r.d(a,{a:a}),a},c=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,d){if(1&d&&(e=this(e)),8&d)return e;if("object"==typeof e&&e){if(4&d&&e.__esModule)return e;if(16&d&&"function"==typeof e.then)return e}var f=Object.create(null);r.r(f);var t={};a=a||[null,c({}),c([]),c(c)];for(var b=2&d&&e;"object"==typeof b&&!~a.indexOf(b);b=c(b))Object.getOwnPropertyNames(b).forEach((a=>t[a]=()=>e[a]));return t.default=()=>e,r.d(f,t),f},r.d=(e,a)=>{for(var c in a)r.o(a,c)&&!r.o(e,c)&&Object.defineProperty(e,c,{enumerable:!0,get:a[c]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((a,c)=>(r.f[c](e,a),a)),[])),r.u=e=>"assets/js/"+({53:"935f2afb",110:"66406991",230:"d91ad230",273:"fa40969b",420:"e2c87691",453:"30a24c52",533:"b2b675dd",841:"c5e4dae0",853:"277a78f5",948:"8717b14a",1332:"f0ff4a36",1477:"b2f554cd",1520:"770b40a9",1531:"bbdfc22d",1633:"031793e1",1713:"a7023ddc",1773:"ef5d5d5d",1893:"4c5e977b",1914:"d9f32620",2087:"bfe4b778",2245:"a2bc1463",2267:"59362658",2362:"e273c56f",2535:"814f3328",2832:"1f73ca32",3085:"1f391b9e",3089:"a6aa9e1f",3101:"64ee8796",3205:"a80da1cf",3514:"73664a40",3608:"9e4087bc",4013:"01a85c17",4195:"c4f5d8e4",4368:"a94703ab",4478:"d1393a72",4651:"05632a52",4955:"e226bb09",5377:"ce589067",5507:"8320e026",5900:"38e3d9c8",6103:"ccc49370",6177:"611db08b",6543:"17e5210b",6759:"c9fa5aa5",6938:"608ae6a4",7100:"2c416566",7178:"096bfee4",7414:"393be207",7894:"a88a3db3",7971:"8a725248",8106:"377084eb",8163:"5a2de241",8468:"52d5c0f9",8489:"7b076186",8518:"a7bd4aaa",8610:"6875c492",8636:"f4f34a3a",8781:"489b8a4d",8892:"38ec836e",9003:"925b3f96",9035:"4c9e35b1",9642:"7661071f",9661:"5e95c892",9671:"0e384e19",9697:"2c586be5",9700:"e16015ca",9817:"14eb3368"}[e]||e)+"."+{53:"a52fd6ea",110:"ab20026d",230:"a0474773",273:"adc233e1",420:"a49f9ee8",453:"61f3e45f",533:"2d5f5b1d",841:"b9d70538",853:"f101c6c0",948:"b2da1fd1",1332:"ef830ef8",1477:"b31b2642",1520:"e45522a5",1531:"6d9179c1",1633:"d8366831",1713:"fefd4794",1772:"c222a62c",1773:"d5cdc9ed",1893:"59606182",1914:"eb382def",2087:"505e4272",2245:"b1ad234a",2267:"a4846e2b",2362:"ebdb1814",2529:"2079a565",2535:"f3b6b0ab",2832:"760fabc2",3085:"e5c5d651",3089:"84b5c675",3101:"47959e32",3205:"af75d475",3514:"b2437ac4",3608:"0e768bf1",4013:"e5e25f55",4195:"1659087e",4311:"86f3bfc6",4368:"7d12b1da",4478:"cf430417",4651:"a139a053",4682:"18721add",4955:"7e795572",5377:"67c44a6c",5507:"36c41078",5900:"a995c609",6103:"ebc8482f",6177:"b0d3e9d2",6543:"3b507760",6759:"c81d0e01",6938:"d44251bf",7100:"c3706b41",7178:"9a58922d",7414:"8d31e6a7",7894:"18fa1b31",7971:"350b9d87",8106:"951fd941",8140:"901b2f91",8163:"017914b9",8468:"13bbb31c",8475:"d27b3009",8489:"496e8402",8518:"aaa08e5a",8531:"1f1a82a7",8610:"d85035d6",8636:"c590d949",8781:"11f409bc",8892:"7315f43d",9003:"1e8e0783",9035:"37598b09",9642:"223fec4f",9661:"33228fcd",9671:"8f2ee486",9697:"4d88da29",9700:"ad032cc8",9817:"424c677a"}[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),d={},f="OpenSign-Docs:",r.l=(e,a,c,t)=>{if(d[e])d[e].push(a);else{var b,o;if(void 0!==c)for(var n=document.getElementsByTagName("script"),i=0;i{b.onerror=b.onload=null,clearTimeout(s);var f=d[e];if(delete d[e],b.parentNode&&b.parentNode.removeChild(b),f&&f.forEach((e=>e(c))),a)return a(c)},s=setTimeout(u.bind(null,void 0,{type:"timeout",target:b}),12e4);b.onerror=u.bind(null,b.onerror),b.onload=u.bind(null,b.onload),o&&document.head.appendChild(b)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),r.p="/",r.gca=function(e){return e={59362658:"2267",66406991:"110","935f2afb":"53",d91ad230:"230",fa40969b:"273",e2c87691:"420","30a24c52":"453",b2b675dd:"533",c5e4dae0:"841","277a78f5":"853","8717b14a":"948",f0ff4a36:"1332",b2f554cd:"1477","770b40a9":"1520",bbdfc22d:"1531","031793e1":"1633",a7023ddc:"1713",ef5d5d5d:"1773","4c5e977b":"1893",d9f32620:"1914",bfe4b778:"2087",a2bc1463:"2245",e273c56f:"2362","814f3328":"2535","1f73ca32":"2832","1f391b9e":"3085",a6aa9e1f:"3089","64ee8796":"3101",a80da1cf:"3205","73664a40":"3514","9e4087bc":"3608","01a85c17":"4013",c4f5d8e4:"4195",a94703ab:"4368",d1393a72:"4478","05632a52":"4651",e226bb09:"4955",ce589067:"5377","8320e026":"5507","38e3d9c8":"5900",ccc49370:"6103","611db08b":"6177","17e5210b":"6543",c9fa5aa5:"6759","608ae6a4":"6938","2c416566":"7100","096bfee4":"7178","393be207":"7414",a88a3db3:"7894","8a725248":"7971","377084eb":"8106","5a2de241":"8163","52d5c0f9":"8468","7b076186":"8489",a7bd4aaa:"8518","6875c492":"8610",f4f34a3a:"8636","489b8a4d":"8781","38ec836e":"8892","925b3f96":"9003","4c9e35b1":"9035","7661071f":"9642","5e95c892":"9661","0e384e19":"9671","2c586be5":"9697",e16015ca:"9700","14eb3368":"9817"}[e]||e,r.p+r.u(e)},(()=>{var e={1303:0,532:0};r.f.j=(a,c)=>{var d=r.o(e,a)?e[a]:void 0;if(0!==d)if(d)c.push(d[2]);else if(/^(1303|532)$/.test(a))e[a]=0;else{var f=new Promise(((c,f)=>d=e[a]=[c,f]));c.push(d[2]=f);var t=r.p+r.u(a),b=new Error;r.l(t,(c=>{if(r.o(e,a)&&(0!==(d=e[a])&&(e[a]=void 0),d)){var f=c&&("load"===c.type?"missing":c.type),t=c&&c.target&&c.target.src;b.message="Loading chunk "+a+" failed.\n("+f+": "+t+")",b.name="ChunkLoadError",b.type=f,b.request=t,d[1](b)}}),"chunk-"+a,a)}},r.O.j=a=>0===e[a];var a=(a,c)=>{var d,f,t=c[0],b=c[1],o=c[2],n=0;if(t.some((a=>0!==e[a]))){for(d in b)r.o(b,d)&&(r.m[d]=b[d]);if(o)var i=o(r)}for(a&&a(c);n{"use strict";var e,a,c,d,b,f={},t={};function r(e){var a=t[e];if(void 0!==a)return a.exports;var c=t[e]={id:e,loaded:!1,exports:{}};return f[e].call(c.exports,c,c.exports,r),c.loaded=!0,c.exports}r.m=f,r.c=t,e=[],r.O=(a,c,d,b)=>{if(!c){var f=1/0;for(i=0;i=b)&&Object.keys(r.O).every((e=>r.O[e](c[o])))?c.splice(o--,1):(t=!1,b0&&e[i-1][2]>b;i--)e[i]=e[i-1];e[i]=[c,d,b]},r.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return r.d(a,{a:a}),a},c=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,d){if(1&d&&(e=this(e)),8&d)return e;if("object"==typeof e&&e){if(4&d&&e.__esModule)return e;if(16&d&&"function"==typeof e.then)return e}var b=Object.create(null);r.r(b);var f={};a=a||[null,c({}),c([]),c(c)];for(var t=2&d&&e;"object"==typeof t&&!~a.indexOf(t);t=c(t))Object.getOwnPropertyNames(t).forEach((a=>f[a]=()=>e[a]));return f.default=()=>e,r.d(b,f),b},r.d=(e,a)=>{for(var c in a)r.o(a,c)&&!r.o(e,c)&&Object.defineProperty(e,c,{enumerable:!0,get:a[c]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((a,c)=>(r.f[c](e,a),a)),[])),r.u=e=>"assets/js/"+({53:"935f2afb",110:"66406991",230:"d91ad230",273:"fa40969b",420:"e2c87691",453:"30a24c52",533:"b2b675dd",841:"c5e4dae0",853:"277a78f5",948:"8717b14a",1332:"f0ff4a36",1477:"b2f554cd",1520:"770b40a9",1531:"bbdfc22d",1633:"031793e1",1713:"a7023ddc",1773:"ef5d5d5d",1893:"4c5e977b",1914:"d9f32620",2087:"bfe4b778",2245:"a2bc1463",2267:"59362658",2362:"e273c56f",2535:"814f3328",2832:"1f73ca32",3085:"1f391b9e",3089:"a6aa9e1f",3101:"64ee8796",3205:"a80da1cf",3514:"73664a40",3608:"9e4087bc",4013:"01a85c17",4195:"c4f5d8e4",4368:"a94703ab",4478:"d1393a72",4651:"05632a52",4955:"e226bb09",5377:"ce589067",5507:"8320e026",5900:"38e3d9c8",6103:"ccc49370",6177:"611db08b",6543:"17e5210b",6759:"c9fa5aa5",6938:"608ae6a4",7100:"2c416566",7178:"096bfee4",7414:"393be207",7894:"a88a3db3",7971:"8a725248",8106:"377084eb",8163:"5a2de241",8468:"52d5c0f9",8489:"7b076186",8518:"a7bd4aaa",8610:"6875c492",8636:"f4f34a3a",8781:"489b8a4d",8892:"38ec836e",9003:"925b3f96",9035:"4c9e35b1",9642:"7661071f",9661:"5e95c892",9671:"0e384e19",9697:"2c586be5",9700:"e16015ca",9817:"14eb3368"}[e]||e)+"."+{53:"38b0a105",110:"ab20026d",230:"a0474773",273:"adc233e1",420:"c9c1a330",453:"61f3e45f",533:"2d5f5b1d",841:"b9d70538",853:"f101c6c0",948:"b2da1fd1",1332:"ef830ef8",1477:"b31b2642",1520:"e45522a5",1531:"6d9179c1",1633:"d8366831",1713:"fefd4794",1772:"c222a62c",1773:"d5cdc9ed",1893:"59606182",1914:"eb382def",2087:"505e4272",2245:"b1ad234a",2267:"a4846e2b",2362:"ebdb1814",2529:"2079a565",2535:"f3b6b0ab",2832:"760fabc2",3085:"e5c5d651",3089:"84b5c675",3101:"47959e32",3205:"af75d475",3514:"b2437ac4",3608:"0e768bf1",4013:"e5e25f55",4195:"1659087e",4311:"86f3bfc6",4368:"7d12b1da",4478:"cf430417",4651:"a139a053",4682:"18721add",4955:"7e795572",5377:"ffc7db1a",5507:"36c41078",5900:"a995c609",6103:"ebc8482f",6177:"b0d3e9d2",6543:"3b507760",6759:"c81d0e01",6938:"d44251bf",7100:"c3706b41",7178:"9a58922d",7414:"8d31e6a7",7894:"18fa1b31",7971:"350b9d87",8106:"951fd941",8140:"901b2f91",8163:"017914b9",8468:"13bbb31c",8475:"d27b3009",8489:"496e8402",8518:"aaa08e5a",8531:"1f1a82a7",8610:"d85035d6",8636:"c590d949",8781:"3238e555",8892:"7315f43d",9003:"1e8e0783",9035:"37598b09",9642:"223fec4f",9661:"33228fcd",9671:"8f2ee486",9697:"4d88da29",9700:"ad032cc8",9817:"424c677a"}[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),d={},b="OpenSign-Docs:",r.l=(e,a,c,f)=>{if(d[e])d[e].push(a);else{var t,o;if(void 0!==c)for(var n=document.getElementsByTagName("script"),i=0;i{t.onerror=t.onload=null,clearTimeout(s);var b=d[e];if(delete d[e],t.parentNode&&t.parentNode.removeChild(t),b&&b.forEach((e=>e(c))),a)return a(c)},s=setTimeout(u.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=u.bind(null,t.onerror),t.onload=u.bind(null,t.onload),o&&document.head.appendChild(t)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),r.p="/",r.gca=function(e){return e={59362658:"2267",66406991:"110","935f2afb":"53",d91ad230:"230",fa40969b:"273",e2c87691:"420","30a24c52":"453",b2b675dd:"533",c5e4dae0:"841","277a78f5":"853","8717b14a":"948",f0ff4a36:"1332",b2f554cd:"1477","770b40a9":"1520",bbdfc22d:"1531","031793e1":"1633",a7023ddc:"1713",ef5d5d5d:"1773","4c5e977b":"1893",d9f32620:"1914",bfe4b778:"2087",a2bc1463:"2245",e273c56f:"2362","814f3328":"2535","1f73ca32":"2832","1f391b9e":"3085",a6aa9e1f:"3089","64ee8796":"3101",a80da1cf:"3205","73664a40":"3514","9e4087bc":"3608","01a85c17":"4013",c4f5d8e4:"4195",a94703ab:"4368",d1393a72:"4478","05632a52":"4651",e226bb09:"4955",ce589067:"5377","8320e026":"5507","38e3d9c8":"5900",ccc49370:"6103","611db08b":"6177","17e5210b":"6543",c9fa5aa5:"6759","608ae6a4":"6938","2c416566":"7100","096bfee4":"7178","393be207":"7414",a88a3db3:"7894","8a725248":"7971","377084eb":"8106","5a2de241":"8163","52d5c0f9":"8468","7b076186":"8489",a7bd4aaa:"8518","6875c492":"8610",f4f34a3a:"8636","489b8a4d":"8781","38ec836e":"8892","925b3f96":"9003","4c9e35b1":"9035","7661071f":"9642","5e95c892":"9661","0e384e19":"9671","2c586be5":"9697",e16015ca:"9700","14eb3368":"9817"}[e]||e,r.p+r.u(e)},(()=>{var e={1303:0,532:0};r.f.j=(a,c)=>{var d=r.o(e,a)?e[a]:void 0;if(0!==d)if(d)c.push(d[2]);else if(/^(1303|532)$/.test(a))e[a]=0;else{var b=new Promise(((c,b)=>d=e[a]=[c,b]));c.push(d[2]=b);var f=r.p+r.u(a),t=new Error;r.l(f,(c=>{if(r.o(e,a)&&(0!==(d=e[a])&&(e[a]=void 0),d)){var b=c&&("load"===c.type?"missing":c.type),f=c&&c.target&&c.target.src;t.message="Loading chunk "+a+" failed.\n("+b+": "+f+")",t.name="ChunkLoadError",t.type=b,t.request=f,d[1](t)}}),"chunk-"+a,a)}},r.O.j=a=>0===e[a];var a=(a,c)=>{var d,b,f=c[0],t=c[1],o=c[2],n=0;if(f.some((a=>0!==e[a]))){for(d in t)r.o(t,d)&&(r.m[d]=t[d]);if(o)var i=o(r)}for(a&&a(c);nArchive | OpenSign™
-
+
diff --git a/blog/first-blog-post/index.html b/blog/first-blog-post/index.html
index 27cb037e6..4a7f64210 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 2b7a5c6ef..c971aedd9 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 af999cfa1..ab70d8ba9 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 ab136f69d..960b22b1b 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 dbd0c7f55..c21fc0bc0 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 25490a6ec..ffa700802 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 d9c427e20..7f8358530 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 bca6bec52..93698873c 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 314f80e42..6278ad70f 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 ad9bacb84..92191daae 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 ae2eb07bb..cadb30efb 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 9a09ef0cc..40be9f686 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 5bc6a060a..2b2d91dd4 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/createtemplate/index.html b/docs/API-docs/createtemplate/index.html
index 8ed63cd67..b559b64b6 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 f17aac774..3d3d23386 100644
--- a/docs/API-docs/delete-template/index.html
+++ b/docs/API-docs/delete-template/index.html
@@ -5,7 +5,7 @@
Delete template by ID | OpenSign™
-
+
diff --git a/docs/API-docs/deletecontact/index.html b/docs/API-docs/deletecontact/index.html
index 27c4616c7..3bc030187 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 6792981f3..afd759555 100644
--- a/docs/API-docs/deletedocument/index.html
+++ b/docs/API-docs/deletedocument/index.html
@@ -5,7 +5,7 @@
Delete document by ID | OpenSign™
-
+
diff --git a/docs/API-docs/get-template/index.html b/docs/API-docs/get-template/index.html
index ee6f78fcb..3f2586d31 100644
--- a/docs/API-docs/get-template/index.html
+++ b/docs/API-docs/get-template/index.html
@@ -5,7 +5,7 @@
Get template by ID | OpenSign™
-
+
diff --git a/docs/API-docs/get-user/index.html b/docs/API-docs/get-user/index.html
index ad34060b3..3e787f93d 100644
--- a/docs/API-docs/get-user/index.html
+++ b/docs/API-docs/get-user/index.html
@@ -5,7 +5,7 @@
Get your details | OpenSign™
-
+
diff --git a/docs/API-docs/getcontact/index.html b/docs/API-docs/getcontact/index.html
index 678e85509..ec3a533bb 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 0ebed5454..9fe3b378a 100644
--- a/docs/API-docs/getdocument/index.html
+++ b/docs/API-docs/getdocument/index.html
@@ -5,7 +5,7 @@
Get document by ID | OpenSign™
-
+
diff --git a/docs/API-docs/getdocumentlist/index.html b/docs/API-docs/getdocumentlist/index.html
index d1201c71c..cdb323799 100644
--- a/docs/API-docs/getdocumentlist/index.html
+++ b/docs/API-docs/getdocumentlist/index.html
@@ -5,7 +5,7 @@
Get document list by doctype | OpenSign™
-
+
diff --git a/docs/API-docs/gettemplatelist/index.html b/docs/API-docs/gettemplatelist/index.html
index 876e33d3f..8aac49fae 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 46d4c9655..34215584d 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 c9e61a686..6f5861761 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/update-document/index.html b/docs/API-docs/update-document/index.html
index 0d4e565a6..ba345d8a8 100644
--- a/docs/API-docs/update-document/index.html
+++ b/docs/API-docs/update-document/index.html
@@ -5,7 +5,7 @@
Update document by ID | OpenSign™
-
+
diff --git a/docs/API-docs/update-template/index.html b/docs/API-docs/update-template/index.html
index dc4363e50..64ac9e0dd 100644
--- a/docs/API-docs/update-template/index.html
+++ b/docs/API-docs/update-template/index.html
@@ -5,7 +5,7 @@
Update template by ID | OpenSign™
-
+
diff --git a/docs/category/docker/index.html b/docs/category/docker/index.html
index 3c59ab763..0efa1ebc2 100644
--- a/docs/category/docker/index.html
+++ b/docs/category/docker/index.html
@@ -5,10 +5,10 @@
Docker | OpenSign™
-
+
-