MyLineHub Omnichannel CRM + Autodialer – Setup & Deployment Guide Target OS: Ubuntu 24.04 LTS Deployment Type: Production / Self-Hosted Repository Type: Monorepo (Backend, Frontend, AI, Voice) YOUTUBE : https://www.youtube.com/@mylinehub-wq2mg?app=desktop LinkdIn : https://www.linkedin.com/in/anand-goel-a6a23719/ Visit https://mylinehub.com/?v1 for deails.
Overview MyLineHub is an open-source omnichannel CRM ecosystem designed to handle customer engagement across voice, email, web, and chat channels.
This document provides end-to-end deployment instructions for setting up the complete MyLineHub ecosystem on an Ubuntu 24.04 server.
Security Notice:
This repository does NOT ship production secrets. Passwords shown are examples only. Use environment variables or secure secret management in production. Repository Structure mylinehub-crm-frontend Angular frontend mylinehub-crm Spring Boot backend mylinehub-ai-email AI email service mylinehub-voicebridge Voice / WebRTC / SIP services
- Add User to sudoers (Optional) sudo nano /etc/sudoers
Add: username ALL=(ALL) NOPASSWD:ALL
-
Configure DNS (GoDaddy) Create an A record: app.mylinehub.com → SERVER_PUBLIC_IP
-
Firewall Setup (UFW) sudo apt install ufw sudo ufw enable sudo ufw allow 80 sudo ufw allow 443 sudo ufw allow 8080 sudo ufw allow 8081 sudo ufw allow 5432
-
Install PostgreSQL 16 sudo apt update sudo apt install postgresql-16
-
Configure PostgreSQL External Access Edit postgresql.conf: listen_addresses = '*'
Edit pg_hba.conf: host all all 0.0.0.0/0 md5
Restart: sudo systemctl restart postgresql
-
Install NGINX sudo apt update sudo apt install nginx sudo nginx -t sudo systemctl restart nginx
-
Install Java 17 sudo apt install openjdk-17-jdk
-
Install NodeJS & Angular curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash - sudo apt install -y nodejs npm install -g @angular/cli@11.2.5
-
SSL Configuration (Example) Use Let's Encrypt or custom certificates. Convert certs to PKCS12 and JKS as required for Spring Boot.
-
Spring Boot SSL (application.properties) server.ssl.enabled=true server.ssl.key-store=keystore.jks server.ssl.key-store-password=CHANGE_ME server.ssl.key-alias=mylinehub
-
Build Backend (Maven) mvn clean package -Dmaven.test.skip=true
-
Run Backend nohup java -jar crm.jar > crm-output.log 2> crm-error.log &
-
Swagger URLs http://localhost:8081/swagger-ui.html https://localhost:8080/swagger-ui.html
-
Build & Deploy Frontend ng build --prod Copy dist/ to /var/www/html and restart nginx
-
Logging (journalctl) journalctl -u mylinehub-backend.service journalctl -f -u mylinehub-backend.service
-
Kill Backend (If Needed) sudo kill -9 $(lsof -ti :8080)
Notes Replace placeholders before production use Restrict DB access in real environments Use systemd services for production deployments