This commit is contained in:
github-actions[bot]
2024-08-13 13:04:58 +00:00
parent fbcb1d8aa7
commit f665916e88
90 changed files with 95 additions and 90 deletions
@@ -5,7 +5,7 @@
<meta name="generator" content="Docusaurus v3.0.1">
<title data-rh="true">Localhost OpenSign™ Setup with Docker on Windows | OpenSign™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://docs.opensignlabs.com/img/docusaurus-social-card.png"><meta data-rh="true" name="twitter:image" content="https://docs.opensignlabs.com/img/docusaurus-social-card.png"><meta data-rh="true" property="og:url" content="https://docs.opensignlabs.com/docs/self-host/docker/run-locally-windows"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Localhost OpenSign™ Setup with Docker on Windows | OpenSign™"><meta data-rh="true" name="description" content="Steps to run OpenSign™ with docker on windows:"><meta data-rh="true" property="og:description" content="Steps to run OpenSign™ with docker on windows:"><link data-rh="true" rel="icon" href="/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://docs.opensignlabs.com/docs/self-host/docker/run-locally-windows"><link data-rh="true" rel="alternate" href="https://docs.opensignlabs.com/docs/self-host/docker/run-locally-windows" hreflang="en"><link data-rh="true" rel="alternate" href="https://docs.opensignlabs.com/docs/self-host/docker/run-locally-windows" hreflang="x-default"><link rel="alternate" type="application/rss+xml" href="/blog/rss.xml" title="OpenSign™ RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="OpenSign™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.f10211b2.css">
<script src="/assets/js/runtime~main.ec0de0e0.js" defer="defer"></script>
<script src="/assets/js/runtime~main.a6448938.js" defer="defer"></script>
<script src="/assets/js/main.6a96c4e7.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
+7 -2
View File
@@ -5,7 +5,7 @@
<meta name="generator" content="Docusaurus v3.0.1">
<title data-rh="true">Self-host OpenSign™ with Docker on Linux/MacOS/Windows | OpenSign™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://docs.opensignlabs.com/img/docusaurus-social-card.png"><meta data-rh="true" name="twitter:image" content="https://docs.opensignlabs.com/img/docusaurus-social-card.png"><meta data-rh="true" property="og:url" content="https://docs.opensignlabs.com/docs/self-host/docker/run-locally"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Self-host OpenSign™ with Docker on Linux/MacOS/Windows | OpenSign™"><meta data-rh="true" name="description" content="Steps to run OpenSign™ with docker on Linux/MacOS/linux/Windows:"><meta data-rh="true" property="og:description" content="Steps to run OpenSign™ with docker on Linux/MacOS/linux/Windows:"><link data-rh="true" rel="icon" href="/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://docs.opensignlabs.com/docs/self-host/docker/run-locally"><link data-rh="true" rel="alternate" href="https://docs.opensignlabs.com/docs/self-host/docker/run-locally" hreflang="en"><link data-rh="true" rel="alternate" href="https://docs.opensignlabs.com/docs/self-host/docker/run-locally" hreflang="x-default"><link rel="alternate" type="application/rss+xml" href="/blog/rss.xml" title="OpenSign™ RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="OpenSign™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.f10211b2.css">
<script src="/assets/js/runtime~main.ec0de0e0.js" defer="defer"></script>
<script src="/assets/js/runtime~main.a6448938.js" defer="defer"></script>
<script src="/assets/js/main.6a96c4e7.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
@@ -14,13 +14,18 @@
<li>Firstly, install Docker and ensure it is running before proceeding to the next steps. Make sure that you have NodeJS &amp; GIT installed on your machine.</li>
<li>Now, open the terminal and type the following command:</li>
</ol>
<p>Command for linux/MacOS</p>
<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">export HOST_URL=https://opensign.yourdomain.com &amp;&amp; curl --remote-name-all https://raw.githubusercontent.com/OpenSignLabs/OpenSign/docker_beta/docker-compose.yml https://raw.githubusercontent.com/OpenSignLabs/OpenSign/docker_beta/Caddyfile https://raw.githubusercontent.com/OpenSignLabs/OpenSign/docker_beta/.env.local_dev &amp;&amp; mv .env.local_dev .env.prod &amp;&amp; docker compose up --force-recreate</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
<p>Command for Windows (Powershell)</p>
<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">$env:HOST_URL=&quot;https://opensign.yourdomain.com&quot;; Invoke-WebRequest -Uri https://raw.githubusercontent.com/OpenSignLabs/OpenSign/docker_beta/docker-compose.yml -OutFile docker-compose.yml; Invoke-WebRequest -Uri https://raw.githubusercontent.com/OpenSignLabs/OpenSign/docker_beta/Caddyfile -OutFile Caddyfile; Invoke-WebRequest -Uri https://raw.githubusercontent.com/OpenSignLabs/OpenSign/docker_beta/.env.local_dev -OutFile .env.local_dev; Rename-Item -Path .env.local_dev -NewName .env.prod; docker compose up --force-recreate</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
<p>Command for windows (CMD)</p>
<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">set HOST_URL=https://opensign.yourdomain.com &amp;&amp; curl -O https://raw.githubusercontent.com/OpenSignLabs/OpenSign/docker_beta/docker-compose.yml &amp;&amp; curl -O https://raw.githubusercontent.com/OpenSignLabs/OpenSign/docker_beta/Caddyfile &amp;&amp; curl -O https://raw.githubusercontent.com/OpenSignLabs/OpenSign/docker_beta/.env.local_dev &amp;&amp; rename .env.local_dev .env.prod &amp;&amp; docker compose up --force-recreate</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
<p>and Hit Enter start the containers automatically. Make sure that you replace the host URL with your subdomain from where OpenSign will be accessible. You need to point the subdomain to the server you are running these commands by adding the necessary A record to your DNS.</p>
<p><em>Note: If you wish to incorporate our latest features into your Docker container, follow the steps again after stopping existing containers.</em></p>
<h2 class="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<a href="#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>Add below Environment Varaibles to the &quot;.env.prod&quot; file that is automatically created in order to personalize your installation:</p>
<table><thead><tr><th>Environment Varibale</th><th>Value</th><th>Description</th></tr></thead><tbody><tr><td>PUBLIC_URL</td><td><a href="http://localhost:3001" target="_blank" rel="noopener noreferrer">http://localhost:3001</a></td><td>Set it to the URL form where the app home page will be accessed</td></tr><tr><td>APP_ID</td><td>opensign</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://mongo-container: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 &amp; value hardcoded in the source code in coming versions.</td></tr><tr><td>SERVER_URL</td><td><a href="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><a href="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>true</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>SMTP_ENABLE</td><td>false</td><td>to enable SMTP</td></tr><tr><td>SMTP_HOST</td><td>smtp.yourhost.com</td><td>Provide smtp host</td></tr><tr><td>SMTP_PORT</td><td>443</td><td>Provide smtp port number</td></tr><tr><td>SMTP_USER_EMAIL</td><td><a href="mailto:mailer@yourdomain.com" target="_blank" rel="noopener noreferrer">mailer@yourdomain.com</a></td><td>Provide user email of smtp</td></tr><tr><td>SMTP_PASS</td><td>password</td><td>Provide smtp password</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><a href="http://localhost:3001" target="_blank" rel="noopener noreferrer">http://localhost:3001</a></td><td>Set it to the URL form where the app home page will be accessed</td></tr><tr><td>APP_ID</td><td>opensign</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://mongo-container: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 &amp; value hardcoded in the source code in coming versions.</td></tr><tr><td>SERVER_URL</td><td><a href="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><a href="https://dospace.ams3.digitaloceanspaces.com" target="_blank" rel="noopener noreferrer">https://dospace.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>true</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>SMTP_ENABLE</td><td>false</td><td>to enable SMTP</td></tr><tr><td>SMTP_HOST</td><td>smtp.yourhost.com</td><td>Provide smtp host</td></tr><tr><td>SMTP_PORT</td><td>443</td><td>Provide smtp port number</td></tr><tr><td>SMTP_USER_EMAIL</td><td><a href="mailto:mailer@yourdomain.com" target="_blank" rel="noopener noreferrer">mailer@yourdomain.com</a></td><td>Provide user email of smtp</td></tr><tr><td>SMTP_PASS</td><td>password</td><td>Provide smtp password</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>
<h1>Steps to Generate Self Sign Certificate</h1>
<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain"># execute below command and use passphrase &#x27;opensign&#x27;</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">openssl genrsa -des3 -out ./local_dev.key 2048</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">openssl req -key ./local_dev.key -new -x509 -days 365 -out ./local_dev.crt</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">openssl pkcs12 -inkey ./local_dev.key -in ./local_dev.crt -export -out ./local_dev.pfx</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">openssl base64 -in ./local_dev.pfx -out ./base64_pfx</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
<h1>CORS Configuration</h1>