mirror of
https://github.com/AlchemillaHQ/Sylve.git
synced 2026-06-14 00:46:34 +03:00
72 lines
2.6 KiB
Markdown
72 lines
2.6 KiB
Markdown
# Sylve
|
|
|
|
<a href="https://discord.gg/bJB826JvXK"><img src="https://img.shields.io/discord/1075365732143071232" alt="Discord"></a>
|
|
<a href="https://sylve-ci.alchemilla.io"><img src="https://sylve-ci.alchemilla.io/job/Sylve%20Build/badge/icon"></a>
|
|
<a href="https://sylve-ci.alchemilla.io"><img src="https://sylve-ci.alchemilla.io/job/Sylve%20Test/badge/icon?subject=Tests"></a>
|
|
|
|
> [!WARNING]
|
|
> This project is still in development so expect breaking changes!
|
|
|
|
https://github.com/user-attachments/assets/bf727ef4-4316-4084-a61f-cb8ec978e43d
|
|
|
|
Sylve aims to be a lightweight, open-source virtualization platform for FreeBSD, leveraging Bhyve for VMs and Jails for containerization, with deep ZFS integration. It seeks to provide a streamlined, Proxmox-like experience tailored for FreeBSD environments. It's backend is written in Go and the frontend is written in Svelte (with Kit).
|
|
|
|
# Requirements
|
|
|
|
These only apply to the development version of Sylve, the production version will be a single binary.
|
|
|
|
- Go >= 1.24
|
|
- Node.js (v20.18.2)
|
|
- NPM (v10.9.2)
|
|
|
|
## Dependencies
|
|
|
|
Running Sylve is pretty easy, but sylve depends on some packages that you can install using `pkg` or the corresponding port to that package. Here's a list of what you'd need:
|
|
|
|
| Dep | Min. version | Vendored | Optional | Purpose |
|
|
| ------------- | ------------ | -------- | -------- | ------------------------------------------------ |
|
|
| smartmontools | 7.4_2 | No | No | Disk health monitoring |
|
|
| tmux | 3.2 | No | No | Terminal multiplexer, used for the (web) console |
|
|
| libvirt | 11.1.0 | No | No | Virtualization API, used for Bhyve |
|
|
|
|
We also need to enable some services in order to run Sylve, you can drop these into `/etc/rc.conf` if you don't have it already:
|
|
|
|
```sh
|
|
ntpd_enable="YES" # Optional
|
|
ntpd_sync_on_start="YES" # Optional
|
|
smartd_enable="YES"
|
|
zfs_enable="YES"
|
|
linux_enable="YES"
|
|
libvirtd_enable="YES"
|
|
vmm_load="YES"
|
|
if_bridge_load="YES"
|
|
nmdm_load="YES"
|
|
```
|
|
|
|
# Installation
|
|
|
|
## From source
|
|
|
|
```sh
|
|
git clone https://github.com/AlchemillaHQ/Sylve.git
|
|
cd Sylve
|
|
./scripts/check_deps.sh # Optional, but recommended
|
|
make
|
|
```
|
|
|
|
# Usage
|
|
|
|
```sh
|
|
cd bin/
|
|
cp -rf ../config.json.example config.json # Edit the config.json file to your liking
|
|
./sylve
|
|
```
|
|
|
|
# Contributing
|
|
|
|
Please read [CONTRIBUTING.md](docs/CONTRIBUTING.md) for details on our contributing guidelines.
|
|
|
|
# License
|
|
|
|
This project is licensed under the BSD 2-Clause License - see the [LICENSE](LICENSE) file for details.
|