https://github.com/infinitybotlist/sysmanage-web
https://github.com/infinitybotlist/sysmanage-web
Last synced: 4 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/infinitybotlist/sysmanage-web
- Owner: InfinityBotList
- License: mit
- Created: 2023-04-10T07:06:10.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2024-05-15T17:10:08.000Z (about 2 years ago)
- Last Synced: 2025-01-13T22:45:49.066Z (over 1 year ago)
- Language: Go
- Size: 1.55 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Sysmanage-web
Simple system management framework for small-medium hosts/setups
**See the ``example`` directory as a example on how to use sysmanage-web library to configure a proper executable**
# Getting started
## Automatic
0. Run ``pip3 install -r projbuilder/requirements.txt``
1. Run ``projbuilder/build.py``
## Manual
1. Copy the contents of the ``example`` directory out to a seperate folder (``sysmanage`` etc.)
2. Run ``git init`` and ``go mod tidy`` to download any deps needed
3. Run ``npm i`` in ``frontend``.
4. Personalize it to your preferences, and build using ``make``
Allows management of our systems, though it can be used by anyone.
Core plugins included by default are ``nginx``, ``systemd``, ``persist``, ``frontend`` and ``actions``.
This should be running under ``deployproxy`` or some other authentication proxy/system for additional security. If you wish to setup a different authentication proxy or do not want deployproxy auth checks, such as when performing initial bootstrapping, you can set ``dp_disable`` in ``config.yaml``.
# Plugins
## Systemd
Systemd integration for ``sysmanage`` to allow easy system management
1. Create ``data/servicegen/server.tmpl``. Add your systemd service template here. *Example:*
```toml
[Service]
Type=simple
ExecStart={{.Command}}
User={{.User}}
Group={{.Group}}
WorkingDirectory={{.Directory}}
ExecReload=/bin/kill -s HUP $MAINPID
KillMode=mixed
TimeoutStopSec=5
PrivateTmp=true
RestartSec=1
Restart=always
[Install]
WantedBy=multi-user.target
[Unit]
PartOf={{.Target}}.target
Description="{{.Description}}"
After={{.After}}.service
```
2. Create ``data/servicegen/target.tmpl``. Add your systemd target here. *Example:*
```toml
[Unit]
Description={{.Description}}
# This collection of apps should be started at boot time.
[Install]
WantedBy=multi-user.target
```
3. Create ``data/services/_meta.yaml`` with content of ``target:`` (include the ending colon).
## Wafflepaw
Wafflepaw is a simple monitoring and alert system. It can also integrate with Instatus (Metrics, Incidents) as well as with Discord. Wafflepaw should be ran from a secondary server if possible
**Wafflepaw is still a work in progress and is not ready for use**