Note: Linux is required for developing on bare metal. This is a work in progress. Not everything will function as expected.
sudo modprobe nbd nbds_max=64sudo sysctl -w vm.nr_hugepages=2048enable huge pages
make download-public-kernelsdownload linux kernelsmake download-public-firecrackersdownload firecracker versions
make local-infraruns clickhouse, grafana, loki, memcached, mimir, otel, postgres, redis, tempo
make -C packages/db migrate-localinitialize the databasemake -C packages/envd build-debugcreate the envd that will be embedded in templatesmake -C packages/local-dev seed-databasegenerate user, team, and token for local development
These commands will launch each service in the foreground, and will need multiple terminal windows.
make -C packages/api run-localrun the api locallymake -C packages/orchestrator build-debug && sudo make -C packages/orchestrator run-localrun the orchestrator and template-manager locally.make -C packages/client-proxy run-localrun the client-proxy locally.
make -C packages/shared/scripts local-build-base-templateinstructs orchestrator to create the 'base' template
- grafana: http://localhost:53000
- postgres: postgres:postgres@127.0.0.1:5432
- clickhouse (http): http://localhost:8123
- clickhouse (native): clickhouse:clickhouse@127.0.0.1:9000
- redis: localhost:6379
- otel collector (grpc): localhost:4317
- otel collector (http): localhost:4318
- vector: localhost:30006
- e2b api: http://localhost:3000
- e2b client proxy: http://localhost:3002
- e2b orchestrator: http://localhost:5008
E2B_API_KEY=e2b_53ae1fed82754c17ad8077fbc8bcdd90
E2B_ACCESS_TOKEN=sk_e2b_89215020937a4c989cde33d7bc647715
E2B_API_URL=http://localhost:3000
E2B_SANDBOX_URL=http://localhost:3002