Skip to content

Quickstart frappe and Jaeger for local development

Revant Nandgaonkar edited this page Apr 16, 2025 · 3 revisions

Clone frappe_docker locally

pnpm dlx degit frappe/frappe_docker frappe-utils
cd frappe-utils
rm -rf $(ls -A | grep -Ev "development|devcontainer-example")
mv devcontainer-example .devcontainer
mv development/vscode-example development/.vscode
code .

Edit .devcontainer/docker-compose.yml and add jaeger

services:
# ...
  all-in-one:
    container_name: jaeger
    environment:
      - COLLECTOR_ZIPKIN_HOST_PORT=:9411
    ports:
      - 16686:16686
    image: jaegertracing/all-in-one:1.68.0

Re-open in VS Code Devcontainer and execute:

echo '[{"url":"https://gitlab.com/castlecraft/frappe_utils","branch":"main"}]' > apps-example.json
./installer.py
cd frappe-bench

Start bench

bench start
# login with admin and then stop bench, helps in building assets.
sed -i s'/web/# web/g' ./Procfile
bench start

Start gunicorn in another terminal

OTEL_EXPORTER_OTLP_TRACES_INSECURE=true OTEL_EXPORTER_OTLP_ENDPOINT=jaeger:4317 OTEL_RESOURCE_ATTRIBUTES=service.name=frappe-bench-gunicorn /workspace/development/frappe-bench/env/bin/opentelemetry-instrument \
    /workspace/development/frappe-bench/env/bin/gunicorn \
    --chdir=/workspace/development/frappe-bench/sites \
    --bind=0.0.0.0:8000 \
    --threads=4 \
    --workers=2 \
    --log-level=debug \
    --worker-class=gthread \
    --worker-tmp-dir=/dev/shm \
    --timeout=120 \
    --preload \
    frappe_utils.app

Clone this wiki locally