mirror of
				https://github.com/inventree/InvenTree.git
				synced 2025-11-04 07:05:41 +00:00 
			
		
		
		
	* Debian docker image - Swap from alpine to debian slim-trixie - Refactor Dockerfile - Optimize image size - Reduce @vitejs/plugin-react version * Remove commented-out lines * Ensure invoke is installed * Adjust Dockerfile * Actually build the python libs * Adjust dockerfile * Install git in dev image * Tweaks
		
			
				
	
	
		
			68 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			68 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
# Docker compose recipe for InvenTree development server
 | 
						|
# - Runs PostgreSQL as the database backend
 | 
						|
# - Uses built-in django webserver
 | 
						|
# - Runs the InvenTree background worker process
 | 
						|
# - Serves media and static content directly from Django webserver
 | 
						|
 | 
						|
# IMPORTANT NOTE:
 | 
						|
# The InvenTree development image does not clone source code from git.
 | 
						|
# Instead, it runs from source code on your local machine.
 | 
						|
# The django server will auto-detect any code changes and reload the server.
 | 
						|
 | 
						|
# If you have cloned the InvenTree git repo, and not made any changes to this file,
 | 
						|
# then the default setup in this file should work straight out of the box, without modification
 | 
						|
 | 
						|
services:
 | 
						|
 | 
						|
    # Database service
 | 
						|
    # Use PostgreSQL as the database backend
 | 
						|
    # Note: This can be changed to a different backend if required
 | 
						|
    inventree-dev-db:
 | 
						|
        image: postgres:17
 | 
						|
        expose:
 | 
						|
            - 5432/tcp
 | 
						|
        environment:
 | 
						|
            - PGDATA=/var/lib/postgresql/data/pgdb
 | 
						|
            - POSTGRES_USER=pguser
 | 
						|
            - POSTGRES_PASSWORD=pgpassword
 | 
						|
            - POSTGRES_DB=inventree
 | 
						|
        volumes:
 | 
						|
          # Map 'data' volume such that postgres database is stored externally
 | 
						|
          - ./data:/var/lib/postgresql/data:z
 | 
						|
        restart: unless-stopped
 | 
						|
 | 
						|
    # InvenTree web server service
 | 
						|
    # Runs the django built-in webserver application
 | 
						|
    inventree-dev-server:
 | 
						|
        depends_on:
 | 
						|
          - inventree-dev-db
 | 
						|
        build: &build_config
 | 
						|
            context: .
 | 
						|
            dockerfile: contrib/container/Dockerfile
 | 
						|
            target: dev
 | 
						|
        # Cache the built image to be used by the inventree-dev-worker process
 | 
						|
        image: inventree-dev-image
 | 
						|
        ports:
 | 
						|
            # Expose web server on port 8000
 | 
						|
            - 8000:8000
 | 
						|
        volumes:
 | 
						|
            # Mount local source directory to /home/inventree
 | 
						|
            - ./:/home/inventree:z
 | 
						|
        env_file:
 | 
						|
            - contrib/container/docker.dev.env
 | 
						|
        restart: unless-stopped
 | 
						|
 | 
						|
    # Background worker process handles long-running or periodic tasks
 | 
						|
    inventree-dev-worker:
 | 
						|
        image: inventree-dev-image
 | 
						|
        build: *build_config
 | 
						|
        command: invoke worker
 | 
						|
        depends_on:
 | 
						|
            - inventree-dev-server
 | 
						|
        volumes:
 | 
						|
            # Mount local source directory to /home/inventree
 | 
						|
            - ./:/home/inventree:z
 | 
						|
        env_file:
 | 
						|
            - contrib/container/docker.dev.env
 | 
						|
        restart: unless-stopped
 |