Prepare your Ubuntu/Debian VPS for LogisticsX deployment.
- Ubuntu 22.04+ LTS or Debian 12+
- Root or sudo access
- SSH access configured
sudo apt update && sudo apt upgrade -ysudo adduser logistics
sudo usermod -aG sudo logistics
su - logisticscurl -fsSL https://get.docker.com | sudo sh
sudo usermod -aG docker $USER
newgrp docker
# Verify
docker --version
docker compose versionsudo apt install nginx -y
sudo systemctl enable nginxsudo apt install certbot python3-certbot-nginx -ysudo ufw allow OpenSSH
sudo ufw allow 'Nginx Full'
sudo ufw enablegit clone https://github.com/suxrobgm/logistics-app.git
cd logistics-app/src/Aspire/Logistics.Aspire.AppHost/aspire-output
# Configure environment
cp .env.example .env
nano .env # Edit with your production values
# Deploy
docker compose up -dCopy the nginx configuration:
sudo cp logistics.conf /etc/nginx/sites-available/logistics
sudo ln -s /etc/nginx/sites-available/logistics /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginxsudo certbot --nginx -d api.yourdomain.com
sudo certbot --nginx -d id.yourdomain.com
sudo certbot --nginx -d admin.yourdomain.com
sudo certbot --nginx -d office.yourdomain.com-
Disable password SSH:
sudo sed -i 's/#PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config sudo systemctl restart sshd -
Install Fail2ban:
sudo apt install fail2ban -y sudo systemctl enable fail2ban -
Enable automatic updates:
sudo apt install unattended-upgrades -y sudo dpkg-reconfigure -plow unattended-upgrades
- Docker Compose Deployment - Service configuration details
- Environment Variables - Configuration reference