2.7 KiB
title
title |
---|
Docker Development Setup |
Docker Development Setup
You can also use docker to launch and manage a development server, in a similar fashion to managing a production server.
There are some key differences compared to the docker production setup:
- The docker image is built locally, rather than being downloaded from DockerHub
- The docker image points to the source code on your local machine, instead of cloning from GitHub
- The django webserver is used, instead of running behind Gunicorn
- The server will automatically reload when code changes are detected
The InvenTree docker image uses a multi-stage build process to allow both production and development setups from the same image. The key difference is that the production image is pre-built using InvenTree source code from GitHub, while the development image uses the source code from your local machine (allowing live code updates).
Docker Compose
A docker compose script for running a development server is provided at docker/docker-compose.dev.yml
:
Setup
Download Source Code
First download the source code from GitHub:
git clone git@github.com:inventree/InvenTree.git
cd inventree/docker
Edit docker-compose File
Now, edit the docker-compose.dev.yml
file (in the docker
subdirectory), ensuring that the src
volume points to the directory on your local machine where you have just cloned the source code.
Launch Development Server
Launch the development server with the following command:
docker-compose -f docker-compose.dev.yml up -d inventree-server
This launches the InvenTree server (in development mode) and also performs the following tasks:
- Creates an sqlite database
- Creates a
config.yaml
file - Creates a
secret_key.txt
file - Creates
inventree_media
directory for uploaded media files - Creates
inventree_static
directory for storing static files
!!! info "Wait for Install" The first time the server is launched, it will take a few minutes to install the required python packages.
Check that the server is running at http://localhost:8000
Create Superuser
Once the development server is running, create a superuser (admin) account:
docker-compose -f docker-compose.dev.yml run inventree-server bash
Inside the docker shell, run the following commands:
source ./inventree-docker-dev/bin/activate
invoke superuser
Start Background Worker
To launch the backround worker process:
docker-compose -f docker-compose.dev.yml up -d inventree-worker