Files
OpenSign/assets/js/277a78f5.aa65e7ae.js
T

1 line
8.8 KiB
JavaScript

"use strict";(self.webpackChunkOpenSign_Docs=self.webpackChunkOpenSign_Docs||[]).push([[853],{26636:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>r,default:()=>h,frontMatter:()=>o,metadata:()=>c,toc:()=>a});var s=t(85893),i=t(11151);const o={sidebar_position:4,title:"Installation instructions"},r="INSTALLATION INSTRUCTIONS",c={id:"contribute/INSTALLATION",title:"Installation instructions",description:"You can use our app as a cloud version from OpenSignLabs",source:"@site/docs/contribute/INSTALLATION.md",sourceDirName:"contribute",slug:"/contribute/INSTALLATION",permalink:"/docs/contribute/INSTALLATION",draft:!1,unlisted:!1,editUrl:"https://github.com/opensignlabs/opensign/tree/feat-docs/docs/docs/contribute/INSTALLATION.md",tags:[],version:"current",sidebarPosition:4,frontMatter:{sidebar_position:4,title:"Installation instructions"},sidebar:"contributeSidebar",previous:{title:"Contributing to OpenSign",permalink:"/docs/contribute/intro"},next:{title:"Community at OpenSign\u2122",permalink:"/docs/contribute/COMMUNITY"}},l={},a=[{value:"Localhost(Frontend only)",id:"localhostfrontend-only",level:2},{value:"You will need to create an AWS S3 bucket or digital ocean space in order to store your uploaded documents",id:"you-will-need-to-create-an-aws-s3-bucket-or-digital-ocean-space-in-order-to-store-your-uploaded-documents",level:2},{value:"AWS S3 -",id:"aws-s3--",level:3},{value:"Localhost(Docker)",id:"localhostdocker",level:2}];function d(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,i.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.h1,{id:"installation-instructions",children:"INSTALLATION INSTRUCTIONS"}),"\n",(0,s.jsxs)(n.p,{children:["You can use our app as a cloud version from ",(0,s.jsx)(n.a,{href:"https://www.opensignlabs.com",children:"OpenSignLabs"})]}),"\n",(0,s.jsx)(n.p,{children:"or follow below instructions to install it on your own infrastructure."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Localhost(Frontend only)"}),"\n",(0,s.jsx)(n.li,{children:"Localhost(Docker)"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"localhostfrontend-only",children:"Localhost(Frontend only)"}),"\n",(0,s.jsx)(n.p,{children:"This is the easiest way to run the frontend application for development or testing purpose without the hassle of installing backend & DB. All the features including document upload, signing, email notifications will work seamlessly from staging backend."}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"Warning:"})," All data, including user accounts and documents, is stored in the staging backend. This data will be erased every time there is a merge to the main branch. As a result, you may need to recreate user accounts repeatedly. If you find that login attempts are failing, it is likely because the data has been cleared due to a recent merge."]}),"\n",(0,s.jsx)(n.p,{children:"Below are the steps to follow -"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.a,{href:"https://help.github.com/articles/cloning-a-repository/",children:"Clone the repository"})," to your local machine using below command -","\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{children:"git clone https://github.com/OpenSignLabs/OpenSign.git\n"})}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["Copy the .env.frontend_dev file to apps/OpenSign/.env using below command(on mac & linux). For windows use COPY command instead.","\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{children:"cp .env.frontend_dev apps/OpenSign/.env\n"})}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["Switch to OpenSign directory.","\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{children:"cd apps/OpenSign\n"})}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["Install NPM packages using","\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{children:"npm install\n"})}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["Run the project locally using","\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{children:"npm run start-dev\n"})}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["You should be able to access the application from ",(0,s.jsx)(n.a,{href:"http://localhost:3000",children:"http://localhost:3000"})," after this.\nCreate an account by signing-up and start contributing."]}),"\n",(0,s.jsx)(n.h2,{id:"you-will-need-to-create-an-aws-s3-bucket-or-digital-ocean-space-in-order-to-store-your-uploaded-documents",children:"You will need to create an AWS S3 bucket or digital ocean space in order to store your uploaded documents"}),"\n",(0,s.jsx)(n.h3,{id:"aws-s3--",children:"AWS S3 -"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Step 1 : Create a S3 bucket","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Login to ",(0,s.jsx)(n.a,{href:"https://aws.amazon.com/console/",children:"AWS console"})]}),"\n",(0,s.jsx)(n.li,{children:"Navigate to S3 under services"}),"\n",(0,s.jsx)(n.li,{children:'Hit "Create Bucket" button on upper right corner'}),"\n",(0,s.jsx)(n.li,{children:'Remove the check from "block all public access" checkbox(we need this in order to provide access to not-logged in users after OTP verification)'}),"\n",(0,s.jsx)(n.li,{children:"Set bucket versioning and tags as per your requirements"}),"\n",(0,s.jsx)(n.li,{children:'Hit "Create bucket" button'}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["Step 2 : Create IAM user and provide access to AWS bucket","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:'Search for "IAM" on the search bar in AWS console'}),"\n",(0,s.jsx)(n.li,{children:"On IAM dashboard, click the number of users(count) under IAM resources table"}),"\n",(0,s.jsx)(n.li,{children:'Hit "create user" button on the upper right corner of the page'}),"\n",(0,s.jsx)(n.li,{children:"Enter the user name & click next"}),"\n",(0,s.jsx)(n.li,{children:"Click create policy, search for S3 and provide the Read, Write & list permissions"}),"\n",(0,s.jsx)(n.li,{children:'Click next and click "Create user"'}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.li,{children:"Step 3 : Generate Credentials"}),"\n",(0,s.jsx)(n.li,{children:"Go to IAM/Users in AWS console"}),"\n",(0,s.jsx)(n.li,{children:"Hit the hyperlink for the user created in the previous step"}),"\n",(0,s.jsx)(n.li,{children:'Click the "Security credentials" tab'}),"\n",(0,s.jsx)(n.li,{children:'Scroll down to "Access keys" and hit "Create access key"'}),"\n",(0,s.jsx)(n.li,{children:'In the next step select "Application running outside AWS"'}),"\n",(0,s.jsx)(n.li,{children:'Add a description tag if needed & hit "Create access key"'}),"\n",(0,s.jsx)(n.li,{children:'In the next step you will see "Access key" and "Secret Access key". Copy both the values.'}),"\n",(0,s.jsx)(n.li,{children:'Set the value of "Access key" to "DO_ACCESS_KEY_ID" environment variable'}),"\n",(0,s.jsx)(n.li,{children:'Set the value of "Secret Access key" to "DO_SECRET_ACCESS_KEY" environment variable'}),"\n",(0,s.jsxs)(n.li,{children:["Step 3 : Copy bucket credentials","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:'Visit "Amazon S3 -> Buckets" in aws console'}),"\n",(0,s.jsx)(n.li,{children:"Click the bucket created in previous steps & visit the properties tab"}),"\n",(0,s.jsx)(n.li,{children:'Under "Bucket overview" you will find the value of AWS region(for ex. ap-south-1). Set that value to env variable "DO_REGION"'}),"\n",(0,s.jsx)(n.li,{children:'You can create the value for "DO_ENDPOINT" env variable by appending the region value to amazonaws.com (for ex. s3.ap-south-1.amazonaws.com)'}),"\n",(0,s.jsxs)(n.li,{children:['You can create the value for "DO_BASEURL" by adding the bucketname in front of the endpoint value(for ex. ',(0,s.jsx)(n.a,{href:"https://bucketname.s3.ap-south-1.amazonaws.com",children:"https://bucketname.s3.ap-south-1.amazonaws.com"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Visit below link if you face any issues while following the above instructions -"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://repost.aws/knowledge-center/create-access-key",children:"https://repost.aws/knowledge-center/create-access-key"})}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"localhostdocker",children:"Localhost(Docker)"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Please refer this documentation => ",(0,s.jsx)(n.a,{href:"https://docs.opensignlabs.com/docs/self-host/docker/run-locally",children:"click here"})]}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},11151:(e,n,t)=>{t.d(n,{Z:()=>c,a:()=>r});var s=t(67294);const i={},o=s.createContext(i);function r(e){const n=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),s.createElement(o.Provider,{value:n},e.children)}}}]);