SyncX is an open source tool that simplifies the self-hosting of open source projects. It provides features like automated vulnerability scanning, built-in load balancing, and an intuitive web interface.
- Project Hosting: Host and serve open source projects
- Automated Vulnerability Scanning: Scan projects for security issues using Trivy
- Load Balancing: Distribute traffic across multiple instances
- Intuitive Interface: Web-based dashboard to manage projects
- Go 1.16 or higher
- Trivy (for vulnerability scanning)
-
Clone this repository:
git clone https://github.com/open-xyz/syncx.git cd syncx
-
Install dependencies:
go mod download
-
Build the application:
go build -o syncx cmd/main.go
-
Install Trivy (optional, required for vulnerability scanning):
# For Arch Linux/Manjaro sudo pacman -S trivy # For Ubuntu/Debian sudo apt-get install trivy # For macOS brew install trivy
Coming soon.
SyncX uses a YAML configuration file located at config/syncx.yaml
. You can specify a different location using the -config
flag when starting the application.
Example configuration:
server:
port: 8080
host: "0.0.0.0"
projects:
directory: "./projects"
database:
path: "./syncx.db"
balancer:
endpoints:
- "http://localhost:8081"
- "http://localhost:8082"
scanning:
auto_scan_on_add: true
-
Start the SyncX server:
./syncx
-
Access the web dashboard at
http://localhost:8080
-
Add a project by providing a name and Git repository URL
-
View, scan, and manage your projects through the dashboard
To run the application in development mode:
go run cmd/main.go
MIT License
Contributions are welcome! Please feel free to submit a Pull Request.