Welcome! This guide will help you set up your local development environment for SigNoz. Let's get you started! 🚀
Before diving in, make sure you have these tools installed:
-
Git - Our version control system
- Download from git-scm.com
-
Go - Powers our backend
-
GCC - Required for CGO dependencies
- Download from gcc.gnu.org
-
Node - Powers our frontend
- Download from nodejs.org
- Check .nvmrc for the version
-
Yarn - Our frontend package manager
- Follow the installation guide
-
Docker - For running Clickhouse and Postgres locally
- Get it from docs.docker.com/get-docker
💡 Tip: Run
make help
to see all available commands with descriptions
- Open your terminal
- Clone the repository:
git clone https://github.com/SigNoz/signoz.git
- Navigate to the project:
cd signoz
SigNoz has three main components: Clickhouse, Backend, and Frontend. Let's set them up one by one.
First, we need to get Clickhouse running:
make devenv-clickhouse
This command:
- Starts Clickhouse in a single-shard, single-replica cluster
- Sets up Zookeeper
- Runs the latest schema migrations
-
Run the backend server:
make go-run-community
-
Verify it's working:
curl http://localhost:8080/api/v1/health
You should see:
{"status":"ok"}
💡 Tip: The API server runs at
http://localhost:8080/
by default
-
Install dependencies:
yarn install
-
Create a
.env
file in thefrontend
directory:FRONTEND_API_ENDPOINT=http://localhost:8080
-
Start the development server:
yarn dev
💡 Tip:
yarn dev
will automatically rebuild when you make changes to the code
Now you're all set to start developing! Happy coding! 🎉