Skip to content

Latest commit

History

History
94 lines (67 loc) 路 1.68 KB

File metadata and controls

94 lines (67 loc) 路 1.68 KB

馃殌 Quick Start - Docker Deployment (30 mins)

Prerequisites

  • Server rented (Pardaz, Rayanserver, etc.)
  • Domain registered (yourdomain.ir)
  • SSH access to server
  • Project in git repo

On Your Computer (5 mins)

# 1. Generate JWT secret
node -e "console.log(require('crypto').randomBytes(48).toString('hex'))"
# Copy the output

# 2. Copy environment template
cp .env.docker .env.prod

# 3. Edit and save values
nano .env.prod
# Paste JWT_SECRET, set MONGO_ROOT_PASSWORD, DOMAIN

On Your Server (25 mins)

# 1. SSH in
ssh user@your-server-ip

# 2. Install Docker (2 mins)
curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker $USER
exit
ssh user@your-server-ip

# 3. Clone project
cd /opt
git clone https://github.com/your-repo/bodybuilding.git
cd bodybuilding

# 4. Copy .env.prod from your computer
scp ~/.env.prod user@your-server-ip:/opt/bodybuilding/

# 5. Create SSL folder
mkdir -p ssl

# 6. Get SSL certificate (3 mins)
sudo apt install certbot -y
sudo certbot certonly --standalone -d yourdomain.ir

# 7. Copy certs
sudo cp /etc/letsencrypt/live/yourdomain.ir/fullchain.pem ssl/cert.pem
sudo cp /etc/letsencrypt/live/yourdomain.ir/privkey.pem ssl/key.pem
sudo chown $USER:$USER ssl/*.pem

# 8. Deploy! (5 mins)
chmod +x deploy-docker.sh
./deploy-docker.sh

Verify It Works

# Check all services up
docker-compose -f docker-compose.prod.yml ps

# View logs
docker-compose -f docker-compose.prod.yml logs app

# Test in browser
# Go to: https://yourdomain.ir

Update & Redeploy Later

cd /opt/bodybuilding
git pull
./deploy-docker.sh

Done! 馃帀


Issues? Check DOCKER_DEPLOYMENT.md troubleshooting section.