Cloudron makes it easy to run web apps like WordPress, Nextcloud, GitLab on your server. Find out more or install now.


Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Bookmarks
  • Search
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo

Cloudron Forum

Apps - Status | Demo | Docs | Install
  1. Cloudron Forum
  2. App Wishlist
  3. Dify.ai, a self-hosted prompt-management tool

Dify.ai, a self-hosted prompt-management tool

Scheduled Pinned Locked Moved App Wishlist
13 Posts 7 Posters 6.3k Views 8 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • U Offline
    U Offline
    umnz
    wrote on last edited by
    #3

    From a quick scan it isn't very clear from the pricing page whether the self hosted community edition is feature complete or has certain features missing. Has anyone found a price/feature/comparison page? Otherwise I agree this looks very solid.

    T 1 Reply Last reply
    0
    • U umnz

      From a quick scan it isn't very clear from the pricing page whether the self hosted community edition is feature complete or has certain features missing. Has anyone found a price/feature/comparison page? Otherwise I agree this looks very solid.

      T Offline
      T Offline
      taowang
      wrote on last edited by
      #4

      @umnz with the community self-hosted version, you can't modify their branding ("powered by dify" and logo) unless you obtain a license from them. If you just use dify as backend, you don't need to purchase license.

      U 1 Reply Last reply
      3
      • T taowang

        @umnz with the community self-hosted version, you can't modify their branding ("powered by dify" and logo) unless you obtain a license from them. If you just use dify as backend, you don't need to purchase license.

        U Offline
        U Offline
        umnz
        wrote on last edited by
        #5

        @taowang seems like a good candidate for Cloudron in that case!

        1 Reply Last reply
        0
        • L Offline
          L Offline
          LoudLemur
          wrote on last edited by
          #6

          via ai:

          "Importance of AI Prompt Management:

          Consistency: Ensures consistent outputs across multiple interactions or users.
          Efficiency: Saves time by reusing and refining effective prompts.
          Performance optimization: Helps in fine-tuning prompts for better results.
          Collaboration: Enables teams to share and improve prompts collectively.
          Version control: Tracks changes and improvements in prompts over time.
          Compliance: Helps maintain adherence to guidelines and ethical standards.

          Issues in Prompt Management:

          Versioning: Keeping track of different prompt versions and their effectiveness.
          Organization: Managing a large number of prompts across various projects or use cases.
          Sharing: Efficiently sharing prompts among team members or across departments.
          Testing: Systematically testing and comparing different prompt variations.
          Documentation: Maintaining clear records of prompt purposes, contexts, and performance.
          Security: Ensuring sensitive prompts are not exposed to unauthorized users.
          Scalability: Managing prompts as the number of AI applications and users grows.

          How dify.ai can help:

          Centralized repository: Provides a single location to store and organize all prompts.
          Version control: Tracks changes to prompts over time, allowing for easy rollbacks if needed.
          Collaboration features: Enables team members to work together on prompt development and refinement.
          Testing and optimization: Offers tools to systematically test and compare different prompt versions.
          Integration capabilities: Can potentially integrate with various AI models and platforms for seamless workflow.
          User management: Allows for access control and permission settings for different team members.
          Analytics: Provides insights into prompt performance and usage patterns.
          Templating: Offers reusable prompt templates to maintain consistency across similar use cases.
          API access: Likely provides API endpoints for programmatic access to prompts in applications.
          Documentation: Facilitates adding context, notes, and performance data to each prompt.
          "

          1 Reply Last reply
          0
          • T Offline
            T Offline
            taowang
            wrote on last edited by
            #7

            This app is extremely complicated. It includes at least 9 services....

            1 Reply Last reply
            0
            • Z Offline
              Z Offline
              zonzonzon
              wrote on last edited by
              #8

              vote for this app!

              timconsidineT 1 Reply Last reply
              0
              • Z zonzonzon

                vote for this app!

                timconsidineT Offline
                timconsidineT Offline
                timconsidine
                App Dev
                wrote on last edited by
                #9

                @zonzonzon er, you didn't vote

                Indie app dev, scratching my itches, lover of Cloudron PaaS

                1 Reply Last reply
                2
                • T Offline
                  T Offline
                  taowang
                  wrote on last edited by
                  #10

                  For folks who need to self host this app, I created a comprehensive tutorial.

                  Create a fresh server, update and upgrade the system, install docker and docker compose with this one command.

                  sudo apt-get update -y &&
                  sudo apt-get upgrade -y &&
                  sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common gnupg lsb-release &&
                  curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg &&
                  echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null &&
                  sudo apt-get update -y &&
                  sudo apt-get install -y docker-ce &&
                  sudo usermod -aG docker $USER &&
                  sudo curl -L https://github.com/docker/compose/releases/download/v2.26.1/docker-compose-`uname -s-uname -m` -o /usr/local/bin/docker-compose &&
                  sudo chmod +x /usr/local/bin/docker-compose && \

                  Clone the Repo

                  git clone https://github.com/langgenius/dify.git

                  Customize the .env file

                  cd dify/docker
                  cp .env.example .env

                  I only customized the following variables.
                  APP_WEB_URL=your_domain_name
                  NGINX_HTTPS_ENABLED=true
                  NGINX_SSL_CERT_FILENAME=cert.pem
                  NGINX_SSL_CERT_KEY_FILENAME=key.pem

                  Ctrl S to save, Ctrl X to exit the nano editor.
                  cd -

                  Create SSL Certificate

                  Create ssl certificate at Cloudflare (open SSL/TSL tab and open Original Server)

                  nano dify/docker/nginx/ssl/cert.pem
                  Copy and paste the Cloudflare certificate, then Ctrl S, Ctrl X

                  nano dify/docker/nginx/ssl/key.pem
                  Copy and paste the Cloudflare SSL key, then Ctrl S, Ctrl X

                  Deploy

                  cd dify/docker
                  docker compose up -d

                  Upgrade

                  cd dify/docker
                  docker compose down
                  git pull origin main
                  docker compose pull
                  docker compose up -d

                  Setting Up Automated Backups for Dify Using Restic and Cloudflare R2

                  Step 1: Install Restic

                  1. Connect to your server via SSH.
                  2. Update your package list and install Restic:
                    sudo apt update
                    sudo apt install restic
                    

                  Step 2: Prepare Your Cloudflare R2 Bucket

                  1. Create a new R2 bucket in your Cloudflare account if you haven't already.
                  2. Note down the following information from your Cloudflare R2 setup:
                    • Bucket name
                    • Access Key ID
                    • Secret Access Key
                    • R2 Endpoint URL

                  Step 3: Create the Backup Script

                  1. Create a new directory for the Restic script:

                    mkdir -p /root/restic
                    
                  2. Create and open the backup script using nano:

                    nano /root/restic/backup.sh
                    
                  3. Copy and paste the following content into the file:

                    #!/bin/bash
                    
                    # Set environment variables for Restic
                    export RESTIC_REPOSITORY="s3:YOUR_R2_ENDPOINT_URL/YOUR_BUCKET_NAME"
                    export AWS_ACCESS_KEY_ID="YOUR_ACCESS_KEY_ID"
                    export AWS_SECRET_ACCESS_KEY="YOUR_SECRET_ACCESS_KEY"
                    
                    # Set the backup source
                    BACKUP_SOURCE="/root/dify/docker/volumes"
                    
                    # Perform the backup
                    restic backup $BACKUP_SOURCE
                    
                    # Prune old snapshots (keep last 7 daily, last 4 weekly, and last 12 monthly backups)
                    restic forget --keep-daily 7 --keep-weekly 4 --keep-monthly 12 --prune
                    
                    # Check the repository for errors
                    restic check
                    
                  4. Replace the following placeholders with your actual Cloudflare R2 information:

                    • YOUR_R2_ENDPOINT_URL: Your Cloudflare R2 endpoint URL
                    • YOUR_BUCKET_NAME: Your R2 bucket name
                    • YOUR_ACCESS_KEY_ID: Your R2 Access Key ID
                    • YOUR_SECRET_ACCESS_KEY: Your R2 Secret Access Key
                  5. Save the file and exit nano:

                    • Press Ctrl + X
                    • When prompted to save, press Y
                    • Press Enter to confirm the file name
                  6. Make the script executable:

                    chmod +x /root/restic/backup.sh
                    
                  7. Secure the script (as it contains sensitive information):

                    chmod 700 /root/restic/backup.sh
                    

                  Step 4: Initialize the Restic Repository

                  1. Set the environment variables (replace with your actual R2 information):

                    export RESTIC_REPOSITORY="s3:YOUR_R2_ENDPOINT_URL/YOUR_BUCKET_NAME"
                    export AWS_ACCESS_KEY_ID="YOUR_ACCESS_KEY_ID"
                    export AWS_SECRET_ACCESS_KEY="YOUR_SECRET_ACCESS_KEY"
                    
                  2. Initialize the Restic repository:

                    restic init
                    

                  Step 5: Set Up Daily Backups

                  1. Open the crontab file:

                    crontab -e
                    
                  2. If prompted to select an editor, choose nano by entering the corresponding number.

                  3. Add the following line at the end of the file to run the backup daily at 3 AM:

                    0 3 * * * /root/restic/backup.sh > /root/restic/backup.log 2>&1
                    
                  4. Save the file and exit nano:

                    • Press Ctrl + X
                    • When prompted to save, press Y
                    • Press Enter to confirm

                  Verifying the Setup

                  To ensure everything is set up correctly:

                  1. Run the backup script manually:

                    /root/restic/backup.sh
                    
                  2. Check the Restic repository for snapshots:

                    restic snapshots
                    

                  Restoring from a Backup

                  To restore your data:

                  1. List available snapshots:

                    restic snapshots
                    
                  2. Restore the latest snapshot:

                    restic restore latest --target /path/to/restore
                    

                    Replace /path/to/restore with the directory where you want to restore the data.

                  Done.

                  1 Reply Last reply
                  6
                  • timconsidineT Offline
                    timconsidineT Offline
                    timconsidine
                    App Dev
                    wrote last edited by
                    #11

                    Started a packaging attempt ...

                    Indie app dev, scratching my itches, lover of Cloudron PaaS

                    1 Reply Last reply
                    3
                    • micmcM Offline
                      micmcM Offline
                      micmc
                      wrote last edited by
                      #12

                      That's a masterpiece 🙂

                      AI Intelligencia RED PILL Podcast
                      (coming soon...)

                      1 Reply Last reply
                      0
                      • timconsidineT Offline
                        timconsidineT Offline
                        timconsidine
                        App Dev
                        wrote last edited by
                        #13

                        V0.0.1 installed on my Cloudron
                        Couple issues to resolve.
                        But 🤞

                        Indie app dev, scratching my itches, lover of Cloudron PaaS

                        1 Reply Last reply
                        2
                        Reply
                        • Reply as topic
                        Log in to reply
                        • Oldest to Newest
                        • Newest to Oldest
                        • Most Votes


                        • Login

                        • Don't have an account? Register

                        • Login or register to search.
                        • First post
                          Last post
                        0
                        • Categories
                        • Recent
                        • Tags
                        • Popular
                        • Bookmarks
                        • Search