mirror of
https://git.mirrors.martin98.com/https://github.com/SigNoz/signoz
synced 2025-06-04 11:25:52 +08:00
96 lines
2.3 KiB
Markdown
96 lines
2.3 KiB
Markdown
# Development Guide
|
|
|
|
Welcome! This guide will help you set up your local development environment for SigNoz. Let's get you started! 🚀
|
|
|
|
## What do I need?
|
|
|
|
Before diving in, make sure you have these tools installed:
|
|
|
|
- **Git** - Our version control system
|
|
- Download from [git-scm.com](https://git-scm.com/)
|
|
|
|
- **Go** - Powers our backend
|
|
- Download from [go.dev/dl](https://go.dev/dl/)
|
|
- Check [go.mod](../../go.mod#L3) for the minimum version
|
|
|
|
- **GCC** - Required for CGO dependencies
|
|
- Download from [gcc.gnu.org](https://gcc.gnu.org/)
|
|
|
|
- **Node** - Powers our frontend
|
|
- Download from [nodejs.org](https://nodejs.org)
|
|
- Check [.nvmrc](../../frontend/.nvmrc) for the version
|
|
|
|
- **Yarn** - Our frontend package manager
|
|
- Follow the [installation guide](https://yarnpkg.com/getting-started/install)
|
|
|
|
- **Docker** - For running Clickhouse and Postgres locally
|
|
- Get it from [docs.docker.com/get-docker](https://docs.docker.com/get-docker/)
|
|
|
|
> 💡 **Tip**: Run `make help` to see all available commands with descriptions
|
|
|
|
## How do I get the code?
|
|
|
|
1. Open your terminal
|
|
2. Clone the repository:
|
|
```bash
|
|
git clone https://github.com/SigNoz/signoz.git
|
|
```
|
|
3. Navigate to the project:
|
|
```bash
|
|
cd signoz
|
|
```
|
|
|
|
## How do I run it locally?
|
|
|
|
SigNoz has three main components: Clickhouse, Backend, and Frontend. Let's set them up one by one.
|
|
|
|
### 1. Setting up Clickhouse
|
|
|
|
First, we need to get Clickhouse running:
|
|
|
|
```bash
|
|
make devenv-clickhouse
|
|
```
|
|
|
|
This command:
|
|
- Starts Clickhouse in a single-shard, single-replica cluster
|
|
- Sets up Zookeeper
|
|
- Runs the latest schema migrations
|
|
|
|
### 2. Starting the Backend
|
|
|
|
1. Run the backend server:
|
|
```bash
|
|
make go-run-community
|
|
```
|
|
|
|
2. Verify it's working:
|
|
```bash
|
|
curl http://localhost:8080/api/v1/health
|
|
```
|
|
|
|
You should see: `{"status":"ok"}`
|
|
|
|
> 💡 **Tip**: The API server runs at `http://localhost:8080/` by default
|
|
|
|
### 3. Setting up the Frontend
|
|
|
|
1. Install dependencies:
|
|
```bash
|
|
yarn install
|
|
```
|
|
|
|
2. Create a `.env` file in the `frontend` directory:
|
|
```env
|
|
FRONTEND_API_ENDPOINT=http://localhost:8080
|
|
```
|
|
|
|
3. Start the development server:
|
|
```bash
|
|
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! 🎉
|