<linkrel="alternate"type="application/atom+xml"href="/blog/atom.xml"title="OpenSign™ Atom Feed"><linkrel="stylesheet"href="/assets/css/styles.ae9c04aa.css">
<titledata-rh="true">AWS S3 | OpenSign™</title><metadata-rh="true"name="viewport"content="width=device-width,initial-scale=1"><metadata-rh="true"name="twitter:card"content="summary_large_image"><metadata-rh="true"property="og:image"content="https://docs.opensignlabs.com/img/docusaurus-social-card.png"><metadata-rh="true"name="twitter:image"content="https://docs.opensignlabs.com/img/docusaurus-social-card.png"><metadata-rh="true"property="og:url"content="https://docs.opensignlabs.com/docs/self-host/cloud-storage/s3"><metadata-rh="true"property="og:locale"content="en"><metadata-rh="true"name="docusaurus_locale"content="en"><metadata-rh="true"name="docsearch:language"content="en"><metadata-rh="true"name="docusaurus_version"content="current"><metadata-rh="true"name="docusaurus_tag"content="docs-default-current"><metadata-rh="true"name="docsearch:version"content="current"><metadata-rh="true"name="docsearch:docusaurus_tag"content="docs-default-current"><metadata-rh="true"property="og:title"content="AWS S3 | OpenSign™"><metadata-rh="true"name="description"content="You can create an AWS S3 bucket to store your uploaded documents using OpenSign™"><metadata-rh="true"property="og:description"content="You can create an AWS S3 bucket to store your uploaded documents using OpenSign™"><linkdata-rh="true"rel="icon"href="/img/favicon.ico"><linkdata-rh="true"rel="canonical"href="https://docs.opensignlabs.com/docs/self-host/cloud-storage/s3"><linkdata-rh="true"rel="alternate"href="https://docs.opensignlabs.com/docs/self-host/cloud-storage/s3"hreflang="en"><linkdata-rh="true"rel="alternate"href="https://docs.opensignlabs.com/docs/self-host/cloud-storage/s3"hreflang="x-default"><linkrel="alternate"type="application/rss+xml"href="/blog/rss.xml"title="OpenSign™ RSS Feed">
<linkrel="alternate"type="application/atom+xml"href="/blog/atom.xml"title="OpenSign™ Atom Feed"><linkrel="stylesheet"href="/assets/css/styles.ae9c04aa.css">
<titledata-rh="true">Localhost OpenSign™ Setup with Docker on Windows | OpenSign™</title><metadata-rh="true"name="viewport"content="width=device-width,initial-scale=1"><metadata-rh="true"name="twitter:card"content="summary_large_image"><metadata-rh="true"property="og:image"content="https://docs.opensignlabs.com/img/docusaurus-social-card.png"><metadata-rh="true"name="twitter:image"content="https://docs.opensignlabs.com/img/docusaurus-social-card.png"><metadata-rh="true"property="og:url"content="https://docs.opensignlabs.com/docs/self-host/docker/run-locally-windows"><metadata-rh="true"property="og:locale"content="en"><metadata-rh="true"name="docusaurus_locale"content="en"><metadata-rh="true"name="docsearch:language"content="en"><metadata-rh="true"name="docusaurus_version"content="current"><metadata-rh="true"name="docusaurus_tag"content="docs-default-current"><metadata-rh="true"name="docsearch:version"content="current"><metadata-rh="true"name="docsearch:docusaurus_tag"content="docs-default-current"><metadata-rh="true"property="og:title"content="Localhost OpenSign™ Setup with Docker on Windows | OpenSign™"><metadata-rh="true"name="description"content="Steps to run OpenSign™ with docker on windows:"><metadata-rh="true"property="og:description"content="Steps to run OpenSign™ with docker on windows:"><linkdata-rh="true"rel="icon"href="/img/favicon.ico"><linkdata-rh="true"rel="canonical"href="https://docs.opensignlabs.com/docs/self-host/docker/run-locally-windows"><linkdata-rh="true"rel="alternate"href="https://docs.opensignlabs.com/docs/self-host/docker/run-locally-windows"hreflang="en"><linkdata-rh="true"rel="alternate"href="https://docs.opensignlabs.com/docs/self-host/docker/run-locally-windows"hreflang="x-default"><linkrel="alternate"type="application/rss+xml"href="/blog/rss.xml"title="OpenSign™ RSS Feed">
<linkrel="alternate"type="application/atom+xml"href="/blog/atom.xml"title="OpenSign™ Atom Feed"><linkrel="stylesheet"href="/assets/css/styles.ae9c04aa.css">
<titledata-rh="true">Localhost OpenSign™ Setup with Docker on Linux/MacOS | OpenSign™</title><metadata-rh="true"name="viewport"content="width=device-width,initial-scale=1"><metadata-rh="true"name="twitter:card"content="summary_large_image"><metadata-rh="true"property="og:image"content="https://docs.opensignlabs.com/img/docusaurus-social-card.png"><metadata-rh="true"name="twitter:image"content="https://docs.opensignlabs.com/img/docusaurus-social-card.png"><metadata-rh="true"property="og:url"content="https://docs.opensignlabs.com/docs/self-host/docker/run-locally"><metadata-rh="true"property="og:locale"content="en"><metadata-rh="true"name="docusaurus_locale"content="en"><metadata-rh="true"name="docsearch:language"content="en"><metadata-rh="true"name="docusaurus_version"content="current"><metadata-rh="true"name="docusaurus_tag"content="docs-default-current"><metadata-rh="true"name="docsearch:version"content="current"><metadata-rh="true"name="docsearch:docusaurus_tag"content="docs-default-current"><metadata-rh="true"property="og:title"content="Localhost OpenSign™ Setup with Docker on Linux/MacOS | OpenSign™"><metadata-rh="true"name="description"content="Steps to run OpenSign™ with docker in macos/linux:"><metadata-rh="true"property="og:description"content="Steps to run OpenSign™ with docker in macos/linux:"><linkdata-rh="true"rel="icon"href="/img/favicon.ico"><linkdata-rh="true"rel="canonical"href="https://docs.opensignlabs.com/docs/self-host/docker/run-locally"><linkdata-rh="true"rel="alternate"href="https://docs.opensignlabs.com/docs/self-host/docker/run-locally"hreflang="en"><linkdata-rh="true"rel="alternate"href="https://docs.opensignlabs.com/docs/self-host/docker/run-locally"hreflang="x-default"><linkrel="alternate"type="application/rss+xml"href="/blog/rss.xml"title="OpenSign™ RSS Feed">
<linkrel="alternate"type="application/atom+xml"href="/blog/atom.xml"title="OpenSign™ Atom Feed"><linkrel="stylesheet"href="/assets/css/styles.ae9c04aa.css">
<h2class="anchor anchorWithStickyNavbar_LWe7"id="information-about-env-variables-which-are-used-to-setup-opensign-with-docker-on-localhost">Information About ENV variables which are used to setup OpenSign™ with Docker on Localhost<ahref="#information-about-env-variables-which-are-used-to-setup-opensign-with-docker-on-localhost"class="hash-link"aria-label="Direct link to Information About ENV variables which are used to setup OpenSign™ with Docker on Localhost"title="Direct link to Information About ENV variables which are used to setup OpenSign™ with Docker on Localhost"></a></h2>
<p>To set up OpenSign™ locally using Docker, the following prerequisites are required:</p>
<p>Environment Varaibles:</p>
<table><thead><tr><th>Environment Varibale</th><th>Value</th><th>Description</th></tr></thead><tbody><tr><td>PUBLIC_URL</td><td><ahref="http://localhost:3000"target="_blank"rel="noopener noreferrer">http://localhost:3000</a></td><td>Set it to the URL form where the app home page will be accessed</td></tr><tr><td>GENERATE_SOURCEMAP</td><td>false</td><td>Set it to true if you want to generate the Sourcemap for debugging</td></tr><tr><td>REACT_APP_SERVERURL</td><td><ahref="http://localhost:8080/app"target="_blank"rel="noopener noreferrer">http://localhost:8080/app</a></td><td>Set it to the URL from where APIs will be accessible, for local development it should be localhost:8080/app (use your local port number instead)</td></tr><tr><td>REACT_APP_APPID</td><td>opensignstgn</td><td>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.</td></tr><tr><td>APP_ID</td><td>opensignstgn</td><td>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.</td></tr><tr><td>appName</td><td>open_sign_server</td><td>Name of the app. It will be visible in the verification emails sent out.</td></tr><tr><td>MASTER_KEY</td><td>XnAadwKxxByMr</td><td>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.</td></tr><tr><td>MONGODB_URI</td><td>mongodb://host.docker.internal:27017/OpenSignDB</td><td>Mongodb URI to connect to</td></tr><tr><td>PARSE_MOUNT</td><td>/app</td><td>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.</td></tr><tr><td>SERVER_URL</td><td><ahref="http://localhost:8080/app"target="_blank"rel="noopener noreferrer">http://localhost:8080/app</a></td><td>Set it to the URL from where APIs will be accessible to the NodeJS functions, for local development it should be localhost:8080/app (use your local port number instead)</td></tr><tr><td>DO_SPACE</td><td>DOSPACENAME</td><td>Digital ocean space name or AWS S3 bucket name for uploading documents</td></tr><tr><td>DO_ENDPOINT</td><td>ams3.digitaloceanspaces.com</td><td>Digital ocean spaces endpoint or AWS S3 endpoint for uploading documents</td></tr><tr><td>DO_BASEURL</td><td><ahref="https://DOSPACENAME.ams3.digitaloceanspaces.com"target="_blank"rel="noopener noreferrer">https://DOSPACENAME.ams3.digitaloceanspaces.com</a></td><td>Digital ocean baseurl or AWS S3 base URL</td></tr><tr><td>DO_ACCESS_KEY_ID</td><td>YOUR_S3_ACCESS_ID</td><td>Digital ocean spaces access key ID or AWS s3 Access key ID for uploading the docs</td></tr><tr><td>DO_SECRET_ACCESS_KEY</td><td>YOUR_S3_ACCESS_KEY</td><td>Digital ocean spaces secret access key or AWS s3 secret access key for uploading the docs</td></tr><tr><td>DO_REGION</td><td>YOUR_S3_REGION</td><td>Digital ocean spaces region or AWS s3 region</td></tr><tr><td>USE_LOCAL</td><td>FALSE</td><td>To use local file storage to save file</td></tr><tr><td>MAILGUN_API_KEY</td><td>YOUR_MAILGUNAPI_KEY</td><td>Mailgun API Key</td></tr><tr><td>MAILGUN_DOMAIN</td><td>YOUR_MAILGUNAPI_DOMAIN</td><td>Mailgun API Domain</td></tr><tr><td>MAILGUN_SENDER</td><td>-</td><td>Mailgun Sender Mail ID</td></tr><tr><td>PFX_BASE64</td><td>-</td><td>Base64 encoded PFX or p12 document signing certificate file. You can generate base64 encoded self sign certificate using the passphrase.</td></tr><tr><td>PASS_PHRASE</td><td>opensign</td><td>Pass phrase of PFX or p12 document signing certificate file.</td></tr></tbody></table>
<table><thead><tr><th>Environment Varibale</th><th>Value</th><th>Description</th></tr></thead><tbody><tr><td>PUBLIC_URL</td><td><ahref="http://localhost:3000"target="_blank"rel="noopener noreferrer">http://localhost:3000</a></td><td>Set it to the URL form where the app home page will be accessed</td></tr><tr><td>GENERATE_SOURCEMAP</td><td>false</td><td>Set it to true if you want to generate the Sourcemap for debugging</td></tr><tr><td>REACT_APP_SERVERURL</td><td><ahref="http://localhost:8080/app"target="_blank"rel="noopener noreferrer">http://localhost:8080/app</a></td><td>Set it to the URL from where APIs will be accessible, for local development it should be localhost:8080/app (use your local port number instead)</td></tr><tr><td>REACT_APP_APPID</td><td>opensignstgn</td><td>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.</td></tr><tr><td>APP_ID</td><td>opensignstgn</td><td>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.</td></tr><tr><td>appName</td><td>open_sign_server</td><td>Name of the app. It will be visible in the verification emails sent out.</td></tr><tr><td>MASTER_KEY</td><td>XnAadwKxxByMr</td><td>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.</td></tr><tr><td>MONGODB_URI</td><td>mongodb://host.docker.internal:27017/OpenSignDB</td><td>Mongodb URI to connect to</td></tr><tr><td>PARSE_MOUNT</td><td>/app</td><td>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.</td></tr><tr><td>SERVER_URL</td><td><ahref="http://localhost:8080/app"target="_blank"rel="noopener noreferrer">http://localhost:8080/app</a></td><td>Set it to the URL from where APIs will be accessible to the NodeJS functions, for local development it should be localhost:8080/app (use your local port number instead)</td></tr><tr><td>DO_SPACE</td><td>DOSPACENAME</td><td>Digital ocean space name or AWS S3 bucket name for uploading documents</td></tr><tr><td>DO_ENDPOINT</td><td>ams3.digitaloceanspaces.com</td><td>Digital ocean spaces endpoint or AWS S3 endpoint for uploading documents</td></tr><tr><td>DO_BASEURL</td><td><ahref="https://DOSPACENAME.ams3.digitaloceanspaces.com"target="_blank"rel="noopener noreferrer">https://DOSPACENAME.ams3.digitaloceanspaces.com</a></td><td>Digital ocean baseurl or AWS S3 base URL</td></tr><tr><td>DO_ACCESS_KEY_ID</td><td>YOUR_S3_ACCESS_ID</td><td>Digital ocean spaces access key ID or AWS s3 Access key ID for uploading the docs</td></tr><tr><td>DO_SECRET_ACCESS_KEY</td><td>YOUR_S3_ACCESS_KEY</td><td>Digital ocean spaces secret access key or AWS s3 secret access key for uploading the docs</td></tr><tr><td>DO_REGION</td><td>YOUR_S3_REGION</td><td>Digital ocean spaces region or AWS s3 region</td></tr><tr><td>USE_LOCAL</td><td>false</td><td>To use local file storage to save file</td></tr><tr><td>MAILGUN_API_KEY</td><td>YOUR_MAILGUNAPI_KEY</td><td>Mailgun API Key</td></tr><tr><td>MAILGUN_DOMAIN</td><td>YOUR_MAILGUNAPI_DOMAIN</td><td>Mailgun API Domain</td></tr><tr><td>MAILGUN_SENDER</td><td>-</td><td>Mailgun Sender Mail ID</td></tr><tr><td>PFX_BASE64</td><td>-</td><td>Base64 encoded PFX or p12 document signing certificate file. You can generate base64 encoded self sign certificate using the passphrase.</td></tr><tr><td>PASS_PHRASE</td><td>opensign</td><td>Pass phrase of PFX or p12 document signing certificate file.</td></tr></tbody></table>
<titledata-rh="true">Self-Hosting OpenSign | OpenSign™</title><metadata-rh="true"name="viewport"content="width=device-width,initial-scale=1"><metadata-rh="true"name="twitter:card"content="summary_large_image"><metadata-rh="true"property="og:image"content="https://docs.opensignlabs.com/img/docusaurus-social-card.png"><metadata-rh="true"name="twitter:image"content="https://docs.opensignlabs.com/img/docusaurus-social-card.png"><metadata-rh="true"property="og:url"content="https://docs.opensignlabs.com/docs/self-host/intro"><metadata-rh="true"property="og:locale"content="en"><metadata-rh="true"name="docusaurus_locale"content="en"><metadata-rh="true"name="docsearch:language"content="en"><metadata-rh="true"name="docusaurus_version"content="current"><metadata-rh="true"name="docusaurus_tag"content="docs-default-current"><metadata-rh="true"name="docsearch:version"content="current"><metadata-rh="true"name="docsearch:docusaurus_tag"content="docs-default-current"><metadata-rh="true"property="og:title"content="Self-Hosting OpenSign | OpenSign™"><metadata-rh="true"name="description"content="This section of the OpenSign™ 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™ - the best open source document signing infrastructure."><metadata-rh="true"property="og:description"content="This section of the OpenSign™ 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™ - the best open source document signing infrastructure."><linkdata-rh="true"rel="icon"href="/img/favicon.ico"><linkdata-rh="true"rel="canonical"href="https://docs.opensignlabs.com/docs/self-host/intro"><linkdata-rh="true"rel="alternate"href="https://docs.opensignlabs.com/docs/self-host/intro"hreflang="en"><linkdata-rh="true"rel="alternate"href="https://docs.opensignlabs.com/docs/self-host/intro"hreflang="x-default"><linkrel="alternate"type="application/rss+xml"href="/blog/rss.xml"title="OpenSign™ RSS Feed">
<linkrel="alternate"type="application/atom+xml"href="/blog/atom.xml"title="OpenSign™ Atom Feed"><linkrel="stylesheet"href="/assets/css/styles.ae9c04aa.css">
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.