Ubuntu 24.04 पर Dify को इंस्टॉल करें और HTTPS सक्षम करें

Ubuntu 24.04 पर Dify को इंस्टॉल करें और HTTPS सक्षम करें

3 min read

STEP1. सिस्टम आवश्यकताएं #

  • Ubuntu 24.04
  • Docker, Docker Compose
  • डोमेन (उदाहरण: test.bestnetllc.co.jp)
  • Let’s Encrypt SSL प्रमाणपत्र

STEP2. OS और Docker की इंस्टॉलेशन #

OS का अपडेट #

sudo apt-get update
sudo apt-get upgrade -y
sudo apt-get autoremove -y
sudo apt-get autoclean
sudo reboot

Docker और Docker Compose इंस्टॉल करें #

sudo apt-get update
sudo apt-get install -y 
  ca-certificates 
  curl 
  gnupg 
  lsb-release

curl -fsSL https://download.docker.com/linux/ubuntu/gpg 
  | sudo gpg --dearmor -o /usr/share/keyrings/docker.gpg

echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker.gpg] 
  
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt-get update sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker --version docker compose version

STEP3. SSL प्रमाणपत्र का प्रारंभिक जारी करना #

संग्रहण डायरेक्टरी बनाएं #

sudo mkdir -p /opt/certs/letsencrypt

अस्थायी रूप से Nginx बंद करें और प्रमाणपत्र जारी करें #

sudo docker run -it --rm 
  -p 80:80 
  -v /opt/certs/letsencrypt:/etc/letsencrypt 
  certbot/certbot certonly --standalone 
  -d test.bestnetllc.co.jp 
  -m test@bestnetllc.co.jp 
  --agree-tos 
  --no-eff-email

सफलता की पुष्टि करें:

ls /opt/certs/letsencrypt/live/test.bestnetllc.co.jp

STEP4. Dify की इंस्टॉलेशन और सेटिंग्स #

रिपॉजिटरी प्राप्त करें #

cd /home
mkdir dify && cd dify
git clone https://github.com/langgenius/dify.git
cd dify/docker

.env की सेटिंग्स #

nano .env

पर्यावरण चर का उदाहरण:

CERTBOT_EMAIL=test@bestnetllc.co.jp
CERTBOT_DOMAIN=test.bestnetllc.co.jp

NGINX_HTTPS_ENABLED=true
NGINX_SSL_PROTOCOLS="TLSv1.2 TLSv1.3"
NGINX_SSL_CERT_FILENAME=live/test.bestnetllc.co.jp/fullchain.pem
NGINX_SSL_CERT_KEY_FILENAME=live/test.bestnetllc.co.jp/privkey.pem

docker-compose.yaml की Nginx सेटिंग्स का उदाहरण #

services:
  nginx:
    image: nginx:latest
    restart: always
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - type: bind
        source: /opt/certs/letsencrypt
        target: /etc/letsencrypt
        read_only: true
      - ./nginx/nginx.conf.template:/etc/nginx/nginx.conf.template
      - ./nginx/conf.d:/etc/nginx/conf.d
    environment:
      NGINX_HTTPS_ENABLED: "true"
      NGINX_SSL_CERT_FILENAME: "live/test.bestnetllc.co.jp/fullchain.pem"
      NGINX_SSL_CERT_KEY_FILENAME: "live/test.bestnetllc.co.jp/privkey.pem"
      NGINX_SSL_PROTOCOLS: "TLSv1.2 TLSv1.3"

प्रारंभ और संचालन की पुष्टि #

docker compose up -d
docker compose logs -f nginx

ब्राउज़र में https://test.bestnetllc.co.jp पर एक्सेस करें

STEP5. SSL प्रमाणपत्र का स्वचालित नवीनीकरण सेटिंग #

नवीनीकरण स्क्रिप्ट बनाएं #

sudo nano /opt/certs/renew_cert.sh

स्क्रिप्ट सामग्री:

#!/bin/bash

cd /home/dify/docker
docker compose stop nginx

docker run --rm 
  -p 80:80 
  -v /opt/certs/letsencrypt:/etc/letsencrypt 
  certbot/certbot renew --standalone

docker compose start nginx
sudo chmod +x /opt/certs/renew_cert.sh

cron जॉब सेटिंग #

sudo crontab -e

निम्नलिखित जोड़ें (हर रविवार सुबह 3 बजे):

0 3 * * 0 /opt/certs/renew_cert.sh >> /var/log/letsencrypt_renew.log 2>&1

संचालन परीक्षण #

sudo /opt/certs/renew_cert.sh

STEP6. समस्या निवारण #

समस्या होने पर लॉग जांचें:

docker compose logs api -f
docker compose logs worker -f
docker compose logs web -f
docker compose logs nginx -f

Internal Server

Updated on 2026 वर्ष 6 माह 10 दिन

What are your feelings

  • Happy
  • Normal
  • Sad