docs: Links and make targets
This commit is contained in:
parent
ff31abe66c
commit
9bb17badad
|
|
@ -15,8 +15,9 @@ Please put a X in the boxes as evidence of reading through the checklist.
|
||||||
|
|
||||||
- [ ] I have forked the project, and raised this PR on a feature branch.
|
- [ ] I have forked the project, and raised this PR on a feature branch.
|
||||||
- [ ] I ran the `pre-commit` hooks, and my commit message was validated.
|
- [ ] I ran the `pre-commit` hooks, and my commit message was validated.
|
||||||
- [ ] `make daemon-compile` runs without any issues.
|
- [ ] `make -wC service compile` runs without any issues.
|
||||||
- [ ] `make daemon-codestyle` runs without any issues.
|
- [ ] `make -wC service codestyle` runs without any issues.
|
||||||
- [ ] `make daemon-unittests` runs without any issues.
|
- [ ] `make -wC service unittests` runs without any issues.
|
||||||
- [ ] `make webui-codestyle` runs without any issues.
|
- [ ] `make -wC webui codestyle` runs without any issues.
|
||||||
|
- [ ] `make -w it` runs without any issues.
|
||||||
- [ ] I understand and accept the [AGPL-3.0 license](LICENSE) and [code of conduct](CODE_OF_CONDUCT.md), and my contributions fall under these.
|
- [ ] I understand and accept the [AGPL-3.0 license](LICENSE) and [code of conduct](CODE_OF_CONDUCT.md), and my contributions fall under these.
|
||||||
|
|
|
||||||
|
|
@ -30,8 +30,8 @@ jobs:
|
||||||
- name: deps
|
- name: deps
|
||||||
run: make -w grpc
|
run: make -w grpc
|
||||||
|
|
||||||
- name: daemon
|
- name: service
|
||||||
run: make -w daemon-codestyle
|
run: make -wC service codestyle
|
||||||
|
|
||||||
- name: webui
|
- name: webui
|
||||||
run: make -w webui-codestyle
|
run: make -wC webui.dev codestyle
|
||||||
|
|
|
||||||
4
Makefile
4
Makefile
|
|
@ -48,9 +48,7 @@ devrun: compile
|
||||||
devcontainer: compile podman-image podman-container
|
devcontainer: compile podman-image podman-container
|
||||||
|
|
||||||
webui-codestyle:
|
webui-codestyle:
|
||||||
cd webui.dev && npm install
|
make -wC webui.dev codestyle
|
||||||
cd webui.dev && npx eslint main.js js/*
|
|
||||||
cd webui.dev && npx stylelint style.css
|
|
||||||
|
|
||||||
webui-dist:
|
webui-dist:
|
||||||
$(call delete-files,webui)
|
$(call delete-files,webui)
|
||||||
|
|
|
||||||
56
README.md
56
README.md
|
|
@ -15,6 +15,8 @@ OliveTin gives **safe** and **simple** access to predefined shell commands from
|
||||||
<img alt = "screenshot" src = "https://github.com/OliveTin/OliveTin/blob/main/var/marketing/screenshotDesktop.png" />
|
<img alt = "screenshot" src = "https://github.com/OliveTin/OliveTin/blob/main/var/marketing/screenshotDesktop.png" />
|
||||||
<a href = "#screenshots">More screenshots below</a>
|
<a href = "#screenshots">More screenshots below</a>
|
||||||
|
|
||||||
|
All documentation can be found at [docs.olivetin.app](https://docs.olivetin.app). This includes installation and usage guide, etc.
|
||||||
|
|
||||||
## Use cases
|
## Use cases
|
||||||
|
|
||||||
**Safely** give access to commands, for less technical people;
|
**Safely** give access to commands, for less technical people;
|
||||||
|
|
@ -68,56 +70,6 @@ Mobile screen size (responsive layout);
|
||||||
|
|
||||||
## Documentation
|
## Documentation
|
||||||
|
|
||||||
All documentation can be found at http://docs.olivetin.app . This includes installation and usage guide, etc.
|
All documentation can be found at [docs.olivetin.app](https://docs.olivetin.app). This includes installation and usage guide, etc.
|
||||||
|
|
||||||
### Quickstart reference for `config.yaml`
|
You can find instructions in the docs on how to install as a **Linux package**, **Linux Container**, on **FreeBSD**, *Windows**, **MacOS** and other platforms, too!
|
||||||
|
|
||||||
This is a quick example of `config.yaml` - but again, lots of documentation for how to write your `config.yaml` can be found at [the documentation site.](https://docs.olivetin.app)
|
|
||||||
|
|
||||||
* (Recommended) [Linux package install (.rpm/.deb)](https://docs.olivetin.app/install-linuxpackage.html) install instructions
|
|
||||||
* [Container (podman/docker)](https://docs.olivetin.app/install-container.html) install instructions
|
|
||||||
* [Docker compose](https://docs.olivetin.app/install-compose.html) install instructions
|
|
||||||
* [Helm on Kubernetes](https://docs.olivetin.app/install-helm.html) install instructions
|
|
||||||
* [Kubernetes (manual)](https://docs.olivetin.app/install-k8s.html) install instructions
|
|
||||||
* [.tar.gz (manual)](https://docs.olivetin.app/install-targz.html) install instructions
|
|
||||||
|
|
||||||
Put this `config.yaml` in `/etc/OliveTin/` if you're running a standard service, or mount it at `/config` if running in a container.
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
# Listen on all addresses available, port 1337
|
|
||||||
listenAddressSingleHTTPFrontend: 0.0.0.0:1337
|
|
||||||
|
|
||||||
# Choose from INFO (default), WARN and DEBUG
|
|
||||||
logLevel: "INFO"
|
|
||||||
|
|
||||||
# Actions (buttons) to show up on the WebUI:
|
|
||||||
actions:
|
|
||||||
# Docs: https://docs.olivetin.app/action-container-control.html
|
|
||||||
- title: Restart Plex
|
|
||||||
icon: restart
|
|
||||||
shell: docker restart plex
|
|
||||||
|
|
||||||
# This will send 1 ping
|
|
||||||
# Docs: https://docs.olivetin.app/action-ping.html
|
|
||||||
- title: Ping host
|
|
||||||
shell: ping {{ host }} -c {{ count }}
|
|
||||||
icon: ping
|
|
||||||
arguments:
|
|
||||||
- name: host
|
|
||||||
title: host
|
|
||||||
type: ascii_identifier
|
|
||||||
default: example.com
|
|
||||||
|
|
||||||
- name: count
|
|
||||||
title: Count
|
|
||||||
type: int
|
|
||||||
default: 1
|
|
||||||
|
|
||||||
# Restart http on host "webserver1"
|
|
||||||
# Docs: https://docs.olivetin.app/action-ssh.html
|
|
||||||
- title: restart httpd
|
|
||||||
icon: restart
|
|
||||||
shell: ssh root@webserver1 'service httpd restart'
|
|
||||||
```
|
|
||||||
|
|
||||||
A full example config can be found at in this repository - [config.yaml](https://github.com/OliveTin/OliveTin/blob/main/config.yaml).
|
|
||||||
|
|
|
||||||
37
config.yaml
37
config.yaml
|
|
@ -8,19 +8,19 @@ listenAddressSingleHTTPFrontend: 0.0.0.0:1337
|
||||||
# Choose from INFO (default), WARN and DEBUG
|
# Choose from INFO (default), WARN and DEBUG
|
||||||
logLevel: "INFO"
|
logLevel: "INFO"
|
||||||
|
|
||||||
# Checking for updates https://docs.olivetin.app/update-checks.html
|
# Checking for updates https://docs.olivetin.app/reference/updateChecks.html
|
||||||
checkForUpdates: false
|
checkForUpdates: false
|
||||||
|
|
||||||
# Actions are commands that are executed by OliveTin, and normally show up as
|
# Actions are commands that are executed by OliveTin, and normally show up as
|
||||||
# buttons on the WebUI.
|
# buttons on the WebUI.
|
||||||
#
|
#
|
||||||
# Docs: https://docs.olivetin.app/create-your-first-action.html
|
# Docs: https://docs.olivetin.app/action_execution/create_your_first.html
|
||||||
actions:
|
actions:
|
||||||
# This is the most simple action, it just runs the command and flashes the
|
# This is the most simple action, it just runs the command and flashes the
|
||||||
# button to indicate status.
|
# button to indicate status.
|
||||||
#
|
#
|
||||||
# If you are running OliveTin in a container remember to pass through the
|
# If you are running OliveTin in a container remember to pass through the
|
||||||
# docker socket! https://docs.olivetin.app/action-container-control.html
|
# docker socket! https://docs.olivetin.app/solutions/container-control-panel/index.html
|
||||||
- title: Ping the Internet
|
- title: Ping the Internet
|
||||||
shell: ping -c 3 1.1.1.1
|
shell: ping -c 3 1.1.1.1
|
||||||
icon: ping
|
icon: ping
|
||||||
|
|
@ -42,11 +42,16 @@ actions:
|
||||||
|
|
||||||
# This uses `popupOnStart: execution-button` to display a mini button that
|
# This uses `popupOnStart: execution-button` to display a mini button that
|
||||||
# links to the logs.
|
# links to the logs.
|
||||||
|
#
|
||||||
|
# You can also rate-limit actions too.
|
||||||
- title: date
|
- title: date
|
||||||
shell: date
|
shell: date
|
||||||
timeout: 6
|
timeout: 6
|
||||||
icon: clock
|
icon: clock
|
||||||
popupOnStart: execution-button
|
popupOnStart: execution-button
|
||||||
|
maxRate:
|
||||||
|
- limit: 3
|
||||||
|
duration: 5m
|
||||||
|
|
||||||
# You are not limited to operating system commands, and of course you can run
|
# You are not limited to operating system commands, and of course you can run
|
||||||
# your own scripts. Here `maxConcurrent` stops the script running multiple
|
# your own scripts. Here `maxConcurrent` stops the script running multiple
|
||||||
|
|
@ -63,7 +68,7 @@ actions:
|
||||||
# When you want to prompt users for input, that is when you should use
|
# When you want to prompt users for input, that is when you should use
|
||||||
# `arguments` - this presents a popup dialog and asks for argument values.
|
# `arguments` - this presents a popup dialog and asks for argument values.
|
||||||
#
|
#
|
||||||
# Docs: https://docs.olivetin.app/action-ping.html
|
# Docs: https://docs.olivetin.app/action_examples/ping.html
|
||||||
- title: Ping host
|
- title: Ping host
|
||||||
id: ping_host
|
id: ping_host
|
||||||
shell: ping {{ host }} -c {{ count }}
|
shell: ping {{ host }} -c {{ count }}
|
||||||
|
|
@ -88,7 +93,7 @@ actions:
|
||||||
# However, if you are running in a container you will need to do some setup,
|
# However, if you are running in a container you will need to do some setup,
|
||||||
# see the docs below.
|
# see the docs below.
|
||||||
#
|
#
|
||||||
# Docs: https://docs.olivetin.app/action-container-control.html
|
# Docs: https://docs.olivetin.app/solutions/container-control-panel/index.html
|
||||||
- title: Restart Docker Container
|
- title: Restart Docker Container
|
||||||
icon: restart
|
icon: restart
|
||||||
shell: docker restart {{ container }}
|
shell: docker restart {{ container }}
|
||||||
|
|
@ -103,7 +108,7 @@ actions:
|
||||||
# There is a special `confirmation` argument to help against accidental clicks
|
# There is a special `confirmation` argument to help against accidental clicks
|
||||||
# on "dangerous" actions.
|
# on "dangerous" actions.
|
||||||
#
|
#
|
||||||
# Docs: https://docs.olivetin.app/confirmation.html
|
# Docs: https://docs.olivetin.app/args/input_confirmation.html
|
||||||
- title: Delete old backups
|
- title: Delete old backups
|
||||||
icon: ashtonished
|
icon: ashtonished
|
||||||
shell: rm -rf /opt/oldBackups/
|
shell: rm -rf /opt/oldBackups/
|
||||||
|
|
@ -118,7 +123,7 @@ actions:
|
||||||
# This is an action that runs a script included with OliveTin, that will
|
# This is an action that runs a script included with OliveTin, that will
|
||||||
# download themes. You will still need to set theme "themeName" in your config.
|
# download themes. You will still need to set theme "themeName" in your config.
|
||||||
#
|
#
|
||||||
# Docs: https://docs.olivetin.app/themes.html
|
# Docs: https://docs.olivetin.app/reference/reference_themes_for_users.html
|
||||||
- title: Get OliveTin Theme
|
- title: Get OliveTin Theme
|
||||||
shell: olivetin-get-theme {{ themeGitRepo }} {{ themeFolderName }}
|
shell: olivetin-get-theme {{ themeGitRepo }} {{ themeFolderName }}
|
||||||
icon: theme
|
icon: theme
|
||||||
|
|
@ -136,8 +141,8 @@ actions:
|
||||||
# it, just use SSH! OliveTin includes a helper to make this easier, which is
|
# it, just use SSH! OliveTin includes a helper to make this easier, which is
|
||||||
# entirely optional. You can also setup SSH manually.
|
# entirely optional. You can also setup SSH manually.
|
||||||
#
|
#
|
||||||
# Docs: https://docs.olivetin.app/action-ssh-easy.html
|
# Docs: https://docs.olivetin.app/action_examples/ssh-easy.html
|
||||||
# Docs: https://docs.olivetin.app/action-ssh.html
|
# Docs: https://docs.olivetin.app/action_examples/ssh-manual.html
|
||||||
- title: "Setup easy SSH"
|
- title: "Setup easy SSH"
|
||||||
icon: ssh
|
icon: ssh
|
||||||
shell: olivetin-setup-easy-ssh
|
shell: olivetin-setup-easy-ssh
|
||||||
|
|
@ -146,8 +151,8 @@ actions:
|
||||||
# Here's how to use SSH with the "easy" config, to restart a service on
|
# Here's how to use SSH with the "easy" config, to restart a service on
|
||||||
# another server.
|
# another server.
|
||||||
#
|
#
|
||||||
# Docs: https://docs.olivetin.app/action-ssh-easy.html
|
# Docs: https://docs.olivetin.app/action_examples/ssh-easy.html
|
||||||
# Docs: https://docs.olivetin.app/action-service.html
|
# Docs: https://docs.olivetin.app/action_examples/systemd_service.html
|
||||||
- title: Restart httpd on server1
|
- title: Restart httpd on server1
|
||||||
id: restart_httpd
|
id: restart_httpd
|
||||||
icon: restart
|
icon: restart
|
||||||
|
|
@ -165,12 +170,12 @@ actions:
|
||||||
# can also just specify any HTML, this includes any unicode character,
|
# can also just specify any HTML, this includes any unicode character,
|
||||||
# or a <img = "..." /> link to a custom icon.
|
# or a <img = "..." /> link to a custom icon.
|
||||||
#
|
#
|
||||||
# Docs: https://docs.olivetin.app/icons.html
|
# Docs: https://docs.olivetin.app/action_customization/icons.html
|
||||||
#
|
#
|
||||||
# Lots of people use OliveTin to easily execute ansible-playbooks. You
|
# Lots of people use OliveTin to easily execute ansible-playbooks. You
|
||||||
# probably want a much longer timeout as well (so that ansible completes).
|
# probably want a much longer timeout as well (so that ansible completes).
|
||||||
#
|
#
|
||||||
# Docs: https://docs.olivetin.app/ansible-playbook.html
|
# Docs: https://docs.olivetin.app/action_examples/ansible.html
|
||||||
- title: "Run Automation Playbook"
|
- title: "Run Automation Playbook"
|
||||||
icon: '🤖'
|
icon: '🤖'
|
||||||
shell: ansible-playbook -i /etc/hosts /root/myRepo/myPlaybook.yaml
|
shell: ansible-playbook -i /etc/hosts /root/myRepo/myPlaybook.yaml
|
||||||
|
|
@ -237,13 +242,13 @@ actions:
|
||||||
# in your configuration as variables. For example; `container.status`,
|
# in your configuration as variables. For example; `container.status`,
|
||||||
# or `vm.hostname`.
|
# or `vm.hostname`.
|
||||||
#
|
#
|
||||||
# Docs: http://docs.olivetin.app/entities.html
|
# Docs: https://docs.olivetin.app/entities/intro.html
|
||||||
entities:
|
entities:
|
||||||
# YAML files are the default expected format, so you can use .yml or .yaml,
|
# YAML files are the default expected format, so you can use .yml or .yaml,
|
||||||
# or even .txt, as long as the file contains valid a valid yaml LIST, then it
|
# or even .txt, as long as the file contains valid a valid yaml LIST, then it
|
||||||
# will load properly.
|
# will load properly.
|
||||||
#
|
#
|
||||||
# Docs: https://docs.olivetin.app/entities.html
|
# Docs: https://docs.olivetin.app/entities/intro.html
|
||||||
- file: entities/servers.yaml
|
- file: entities/servers.yaml
|
||||||
name: server
|
name: server
|
||||||
|
|
||||||
|
|
@ -255,6 +260,8 @@ entities:
|
||||||
#
|
#
|
||||||
# The only way to properly use entities, are to use them with a `fieldset` on
|
# The only way to properly use entities, are to use them with a `fieldset` on
|
||||||
# a dashboard.
|
# a dashboard.
|
||||||
|
#
|
||||||
|
# Docs: https://docs.olivetin.app/dashboards/intro.html
|
||||||
dashboards:
|
dashboards:
|
||||||
# Top level items are dashboards.
|
# Top level items are dashboards.
|
||||||
- title: My Servers
|
- title: My Servers
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue