Build and Deploy Steps
A. Running Locally without Docker
Clone repository
# Fork and Clone the Repository
git clone git@github.com:PSMRI/ubi-wallet-backend.git
cd ubi-wallet-backend
# Check out the main branch
git checkout main
Install Dependencies
# Install dependencies
npm install
Optional - Set up Git hooks
# Set up Git hooks (Husky)
npm run prepare
git config core.hooksPath .husky/_
chmod +x .husky/pre-commit
chmod +x .husky/commit-msg
Create / Update .env
Ensure you have created and updated .env
with required variables
Running in Dev Mode
npm run start:dev
The backend will be available at: 👉 http://localhost:3018
Running in Production Mode
npm run build
npm run start:prod
B. Running with Docker
Create / Update .env
Ensure you have created and updated .env
with required variables
Build Docker Image Run Steps
Using Dockerfile from the repo code, you can generate an image
# Build the Docker Image
docker build -t wallet-backend .
Example .env for docker
The docker-compose.yml
requires a separate file .env
# SERVER CONFIGURATION
PORT=3018
NODE_ENV=development
# WALLET PROVIDER CONFIGURATION
WALLET_PROVIDER=dhiway
# DHIWAY WALLET API CONFIGURATION
DHIWAY_API_BASE=https://dhiway-api-url.example.in
DHIWAY_API_KEY=your-dhiway-api-key-here
DHIWAY_VC_ISSUER_INSTANCE_URI=https://vc-issuer.example.in
DHIWAY_VC_ISSUER_GET_VC_BASE_URI=https://vc-issuer.example.in/vc
DHIWAY_WATCHER_EMAIL=watcher@example.in
# WALLET SERVICE CONFIGURATION
WALLET_SERVICE_BASE_URL=http://localhost:3018
# DATABASE CONFIGURATION
DB_HOST=localhost
DB_PORT=5432
DB_USERNAME=postgres
DB_PASSWORD=secure-password-here
DB_DATABASE=wallet_db
# CORS CONFIGURATION
ALLOWED_ORIGINS=http://localhost:3000,https://app.example.in
# SECURITY CONFIGURATION
HOUSEKEEPING_SECRET_KEY=your-super-secret-housekeeping-key-here
Use Image in docker-compose
Use generated images in docker-compose.yml
# Run the Container
docker-compose up -d
More about docker-compose
The docker-compose.yml located in the root of the repository provisions the following services as well:
Postgres (port
5432
)
Verify Services
Database:
localhost:5432
Last updated