# Build all services
VERSION=dev docker compose -f docker-compose.build.yaml build
# Build a specific service alone
VERSION=dev docker compose -f docker-compose.build.yaml build frontend
NOTE: First copy sample.*.env
files to *.env
and update as required.
# Up all services
VERSION=dev docker compose -f docker-compose.yaml up -d
# Up a specific service alone
VERSION=dev docker compose -f docker-compose.yaml up -d frontend
Now access frontend at http://frontend.unstract.localhost
Some services are kept optional and will not be built or started by default. Run them as follows.
# Build optional services also
VERSION=dev docker compose -f docker-compose.build.yaml --profile optional build
# Up optional services also
VERSION=dev docker compose -f docker-compose.yaml --profile optional up -d
For the following project structure:
scheduler
|- src
| |- unstract
| |- scheduler
| |- main.py
|- pdm.lock
|- pyproject.toml
Add the following in pyproject.toml
to detect package in src
:
[tool.pdm.build]
includes = ["src"]
package-dir = "src"
This will install the project to:
.venv/lib/python3.12/site-packages/unstract/scheduler/main.py
This will allow gunicorn
to refer the package directly as:
$ gunicorn "-c" "python:unstract.scheduler.config.gunicorn" "unstract.scheduler.main:app"