Deploy Linqra on AWS EC2 and configure SSL certificates for linqra.com
linqra.csr
and paste it into the provider’s CSR box.linqra.com.zip
.f8d48b14580110e.crt
f8d48b14580110e.pem
(identical to the .crt)gd_bundle-g2.crt
.crt
files to /tmp/
on your EC2 server.
Then move them to the target directory:
Note: The.pem
and.crt
files from your provider are often identical.
linqra.key
, linqrachained2025.crt
) to configure your web server for HTTPS on linqra.com.
sites-available
file to the sites-enabled
folder:
sites-available
file for Nginx configuration.Secret Name | Example Value |
---|---|
HOST_DNS_PROD | ec2-XX-XXX-XX-XXX.us-west-2.compute.amazonaws.com |
USERNAME_PROD | ubuntu |
TARGET_DIR_PROD | /var/www/linqra |
Secret Name | Example Value |
---|---|
AWS_KEY | BKIA2YCP4BIK8KAWUILY |
AWS_SEC | 0UraNVReMtYbiqOB0ZGKiUTFzHFTFg9AZayniFda |
Secret Name | Example Value |
---|---|
JWT_SECRET | 4a98d4c7b6e5f2a1d8c9b4a7e6f3d2c1b8a7e6f3d2c1b8a7e6f3d2c1b8a7e6f3d2c1b8a7e6f3d2c1b8a7e6f3d2c1b8a7e6f3d2c2 |
NODE_ENV | production |
VITE_WS_URL | wss://linqra.com/ws-linqra |
VITE_MONGODB_URI | mongodb://root:mongopw@localhost:27017 |
VITE_MONGODB_DB_NAME | Linqra |
VITE_API_GATEWAY_URL | https://linqra.com |
REACT_APP_KEYCLOAK_URL | https://linqra.com/keycloak |
REACT_APP_KEYCLOAK_REALM | Linqra |
REACT_APP_KEYCLOAK_CLIENT_ID | linqra-gateway-client |
VITE_API_KEY | lm_8e2093b6b9634dca9460f8d0cdfe38cb |
VITE_API_KEY_NAME | MyApiKey |
Tip:
Never commit your private keys or secrets to the repository. Always use GitHub Actions secrets for sensitive data.
ci.yml
workflow will automatically deploy all necessary files to your EC2 server whenever new code is merged into the master
branch. This ensures a secure and automated deployment process.
We’ll cover the Dockerization steps for your application in the next section.
ci.yml
)ci.yml
workflow file used for automated deployment.master
branch, this pipeline will automatically build and deploy your application to the EC2 server—no additional manual steps are required.
mongosh
prompt, run:
PRIMARY
and SECONDARY
members.
mongosh
shell, type:
curl
to create the first user and initialize the database:
Linqra
database was created:
Linqra
database listed.
Linqra
Linqra
https://linqra.com/keycloak
linqra-gateway-client
Linqra Gateway Client
Linqra Gateway Client
ON
https://linqra.com
https://linqra.com
https://linqra.com/callback
https://linqra.com
https://linqra.com
https://linqra.com
ON
OFF
Enabled
Enabled
Disabled
gateway_admin
Gateway admin role for the client id: linqra-gateway-client
gateway_admin_realm
Role to identify the belongings of the Linqra realm
service-account-linqra-gateway-client
gateway_admin
gateway_admin_realm
gateway.read
To read the gateway end points
Default
ON
ON
team.scope
Restricts access to specific teams
Default
ON
ON
teams
Token mapper
Hardcoded claim
teams
["67d0aeb17172416c411d419e"]
JSON
ON
ON
ON
gateway.read
client scopegateway_admin
gateway_admin_realm
linqra-gateway-client
settingsgateway.read
team.scope
https://linqra.com
instead of localhost URLs.