mirror of
				https://github.com/langgenius/dify.git
				synced 2025-10-31 02:42:59 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			110 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			110 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| version: '3'
 | |
| services:
 | |
|   # The postgres database.
 | |
|   db:
 | |
|     image: postgres:15-alpine
 | |
|     restart: always
 | |
|     environment:
 | |
|       # The password for the default postgres user.
 | |
|       POSTGRES_PASSWORD: difyai123456
 | |
|       # The name of the default postgres database.
 | |
|       POSTGRES_DB: dify
 | |
|       # postgres data directory
 | |
|       PGDATA: /var/lib/postgresql/data/pgdata
 | |
|     volumes:
 | |
|       - ./volumes/db/data:/var/lib/postgresql/data
 | |
|     ports:
 | |
|       - "5432:5432"
 | |
| 
 | |
|   # The redis cache.
 | |
|   redis:
 | |
|     image: redis:6-alpine
 | |
|     restart: always
 | |
|     volumes:
 | |
|       # Mount the redis data directory to the container.
 | |
|       - ./volumes/redis/data:/data
 | |
|     # Set the redis password when startup redis server.
 | |
|     command: redis-server --requirepass difyai123456
 | |
|     ports:
 | |
|       - "6379:6379"
 | |
| 
 | |
|   # The Weaviate vector store.
 | |
|   weaviate:
 | |
|     image: semitechnologies/weaviate:1.19.0
 | |
|     restart: always
 | |
|     volumes:
 | |
|       # Mount the Weaviate data directory to the container.
 | |
|       - ./volumes/weaviate:/var/lib/weaviate
 | |
|     environment:
 | |
|       # The Weaviate configurations
 | |
|       # You can refer to the [Weaviate](https://weaviate.io/developers/weaviate/config-refs/env-vars) documentation for more information.
 | |
|       QUERY_DEFAULTS_LIMIT: 25
 | |
|       AUTHENTICATION_ANONYMOUS_ACCESS_ENABLED: 'false'
 | |
|       PERSISTENCE_DATA_PATH: '/var/lib/weaviate'
 | |
|       DEFAULT_VECTORIZER_MODULE: 'none'
 | |
|       CLUSTER_HOSTNAME: 'node1'
 | |
|       AUTHENTICATION_APIKEY_ENABLED: 'true'
 | |
|       AUTHENTICATION_APIKEY_ALLOWED_KEYS: 'WVF5YThaHlkYwhGUSmCRgsX3tD5ngdN8pkih'
 | |
|       AUTHENTICATION_APIKEY_USERS: 'hello@dify.ai'
 | |
|       AUTHORIZATION_ADMINLIST_ENABLED: 'true'
 | |
|       AUTHORIZATION_ADMINLIST_USERS: 'hello@dify.ai'
 | |
|     ports:
 | |
|       - "8080:8080"
 | |
| 
 | |
|   # The DifySandbox
 | |
|   sandbox:
 | |
|     image: langgenius/dify-sandbox:0.2.1
 | |
|     restart: always
 | |
|     environment:
 | |
|       # The DifySandbox configurations
 | |
|       # Make sure you are changing this key for your deployment with a strong key.
 | |
|       # You can generate a strong key using `openssl rand -base64 42`.
 | |
|       API_KEY: dify-sandbox
 | |
|       GIN_MODE: 'release'
 | |
|       WORKER_TIMEOUT: 15
 | |
|       ENABLE_NETWORK: 'true'
 | |
|       HTTP_PROXY: 'http://ssrf_proxy:3128'
 | |
|       HTTPS_PROXY: 'http://ssrf_proxy:3128'
 | |
|       SANDBOX_PORT: 8194
 | |
|     volumes:
 | |
|       - ./volumes/sandbox/dependencies:/dependencies
 | |
|     networks:
 | |
|       - ssrf_proxy_network
 | |
| 
 | |
|   # ssrf_proxy server
 | |
|   # for more information, please refer to
 | |
|   # https://docs.dify.ai/learn-more/faq/self-host-faq#id-18.-why-is-ssrf_proxy-needed
 | |
|   ssrf_proxy:
 | |
|     image: ubuntu/squid:latest
 | |
|     restart: always
 | |
|     ports:
 | |
|       - "3128:3128"
 | |
|       - "8194:8194"
 | |
|     volumes:
 | |
|       # pls clearly modify the squid.conf file to fit your network environment.
 | |
|       - ./volumes/ssrf_proxy/squid.conf:/etc/squid/squid.conf
 | |
|     networks:
 | |
|       - ssrf_proxy_network
 | |
|       - default
 | |
|   # Qdrant vector store.
 | |
|   # uncomment to use qdrant as vector store.
 | |
|   # (if uncommented, you need to comment out the weaviate service above,
 | |
|   # and set VECTOR_STORE to qdrant in the api & worker service.)
 | |
|   # qdrant:
 | |
|   #   image: qdrant/qdrant:1.7.3
 | |
|   #   restart: always
 | |
|   #   volumes:
 | |
|   #     - ./volumes/qdrant:/qdrant/storage
 | |
|   #   environment:
 | |
|   #     QDRANT_API_KEY: 'difyai123456'
 | |
|   #   ports:
 | |
|   #     - "6333:6333"
 | |
|   #     - "6334:6334"
 | |
| 
 | |
| 
 | |
| networks:
 | |
|   # create a network between sandbox, api and ssrf_proxy, and can not access outside.
 | |
|   ssrf_proxy_network:
 | |
|     driver: bridge
 | |
|     internal: true
 | 
