I never got iDURAR working. These instructions worked, but the app never worked.
Install MongoDB using this guide.
Create a new DB user
mongosh
use admin
db.createUser({
user: "idurar",
pwd: passwordPrompt(),
roles: [
{ role: "readWrite", db: "idurar" }
]
})
exit
Install Node.js v20+ using this guide.
Clone the iDURAR repo into /opt/
git clone https://github.com/idurar/idurar-erp-crm.git /opt/idurar
Move into the backend directory
cd /opt/idurar/backend
Modify the .env
file to define the MongoDB URL
DATABASE = "mongodb://localhost:27017"
Run the backend installer
npm install
Run the setup script
npm run setup
Move into the frontend directory
cd /opt/idurar/frontend
Run the frontend installer
npm install
We'll create two new service files - one for the backend, one for the frontend
Backend:
bash -c "cat > /etc/systemd/system/idurar-backend.service" <<EOF
[Unit]
Description=iDURAR Backend
After=network.target
StartLimitIntervalSec=2
[Service]
Type=simple
Restart=on-falure
RestartSec=10
User=root
WorkingDirectory=/opt/idurar/backend
ExecStart=/usr/bin/npm run dev
[Install]
WantedBy=multi-user.target
EOF
Frontend:
bash -c "cat > /etc/systemd/system/idurar-frontend.service" <<EOF
[Unit]
Description=iDURAR Frontend
After=network.target
StartLimitIntervalSec=2
[Service]
Type=simple
Restart=on-falure
RestartSec=10
User=root
WorkingDirectory=/opt/idurar/frontend
ExecStart=/usr/bin/npm run dev
[Install]
WantedBy=multi-user.target
EOF
Reload systemd
systemctl daemon-reload
Enable and start both services
systemctl enable idurar-backend.service idurar-frontend.service
systemctl start idurar-backend.service idurar-frontend.service
This is an optional step. I'm using NGNIX to do TLS termination on the server itself.
Disable the default site config
rm /etc/nginx/sites-enabled/default
Use the following config
bash -c "cat > /etc/nginx/sites-available/idurar" <<EOF
server {
listen 443 http2 ssl;
server_name idurar.example.com;
ssl_certificate /etc/ssl/private/cert.pem;
ssl_certificate_key /etc/ssl/private/cert.key;
add_header Strict-Transport-Security "max-age=0;";
location / {
proxy_pass http://127.0.0.1:3000/;
proxy_set_header HOST $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
EOF
Enable the new NGINX config
ln -s /etc/nginx/sites-available/idurar /etc/nginx/sites-enabled/idurar