Prerequisites
Ensure that you have the following installed on your machine:
- Go (version 1.16 or above)
- Node.js (version 14 or above)
- Python (version 3.7 or above)
- Docker (latest version)
- A suitable shell environment
Step 1: Clone the Repository
Clone the Helix repository using Git:
git clone https://github.com/helixml/helix.git
cd helix
Step 2: Build the Project
Building the Go Component
Navigate to the relevant Go directory and build the module. Ensure you do not use -mod=vendor
.
cd go/src
go build -o helix github.com/helixml/helix
Building the TypeScript Component
If there are TypeScript files, typically they will be under a client
or frontend
directory. Navigate there and install the required packages using npm.
cd client
npm install
npm run build
Building the Python Component
If there are Python dependencies, usually specified in a requirements.txt
file, ensure you install them.
cd python
pip install -r requirements.txt
Step 3: Setting up Environment Variables
You may need to set environment variables for your development environment. Create a .env
file in the root of your project and specify the necessary variables.
# Example .env file
export DATABASE_URL="your_database_url"
export API_KEY="your_api_key"
Step 4: Running Docker Containers
If the project utilizes Docker, you can build and run the required Docker images. Create or edit your Dockerfile
if needed and run the following command to build and start the containers:
docker-compose up --build
Step 5: Starting the Application
After the build processes are completed, you can start the Helix application. Depending on your setup, the command may vary. If a main executable file was created in Go, you can run:
./helix
If there are included scripts, you might find an npm start
or similar command as well.
cd client
npm start
or
cd python
python app.py
Conclusion
By following these steps, you should be able to successfully build and start the Helix project. Refer to the respective parts of the project documentation for additional options regarding configurations and environment settings.
Information obtained from the Helix project repository.