Skynet is a service integration and management system, specially optimized for personal and home-lab use. With plugin support, you can easily embed whatever software you want to satisfy your need.
Security is considered as TOP priority in Skynet, we will not consider features that conflict with our security policy. If you find vulnerabilities, please report ASAP.
We offer pre-built x86_64
and aarch64
docker images.
- Copy
docker-compose.yml
andconf.yml
to your folder. docker-compose up
- Visit
localhost:8080
.
We do not recommend this method, use at your own risk!
You can download pre-built libraries in our release page.
We offer linux-{x86_64,i686,aarch64}
, darwin-{x86_64,aarch64}
and windows-x86_64
binaries. You might build from source if your platform is not included.
- Download the release and extract.
- (Optional) Install redis on your machine.
vim conf.yml
to modify your config.touch data.db
or copy your existing database../skynet check
to verify your config../skynet run
to start up the server.- Visit
localhost:8080
.
make build_release
make output BUILD_TYPE=release
make static
You are ready to go with files in bin
:)
You must use the command line to initialize your root user:
skynet user init
Like linux, root user can ignore all built-in privilege checkers. Remember your initial randomized password, you can change it after login.
You may add more users in the web UI or use the command line for batch add:
skynet user add <USERNAME>
Note that no permission is allowed for these users.
You can find plugins in our organization repositories or other user shares.
Use our script to download all official plugins:
./get_offical_plugins.sh
!!Please note that all plugins have the same privilege as skynet, use trusted plugins ONLY!!
In other words, run untrusted plugin = RCE
See develop note.
Skynet provides pretty formatted or JSON formatted logs. You can get WARN
and ERROR
logs from stderr
and others from stdout
. Execute skynet run -h
for more details. We only guarantee the order of printed logs. Please do not rely on notifications in database (see below).
To avoid database deadlock and performance issues, notifications are written to database asynchronously. We do not guarantee the order and success of notifications.