Fără Descriere

jamesread fd3c6087f0 working directory for buf 1 an în urmă
.github fd3c6087f0 working directory for buf 1 an în urmă
integration-tests ff31abe66c refactor: Project directories (#541) 1 an în urmă
proto 902d4ed819 build: Switch to buf2 1 an în urmă
service 8865331da2 feat: enable JWT auth from a header (#547) 1 an în urmă
var b4c886d5d3 refactor: systemd file does not need to be in root dir (#538) 1 an în urmă
webui.dev 709d6ac2ad feature: Allow rendering output as HTML (#544) 1 an în urmă
.dockerignore 286fa43e95 Less junk in the docker image 5 ani în urmă
.gitignore ff31abe66c refactor: Project directories (#541) 1 an în urmă
.goreleaser.yml 8d4e335dda fix: Invalid path to systemd file 1 an în urmă
.pre-commit-config.yaml 6b9c6c8b9c refactor: Switch to conventional scripts, rather than custom script (#535) 1 an în urmă
CODE_OF_CONDUCT.md 35562e5667 Create CODE_OF_CONDUCT.md 5 ani în urmă
CONTRIBUTING.adoc 2981fc4c1f doc: Point pull request template to contributors guide (#549) 1 an în urmă
Dockerfile 486253b253 feature: Docker ce (#536) 1 an în urmă
Dockerfile.arm64 486253b253 feature: Docker ce (#536) 1 an în urmă
Dockerfile.armv7 482ef0e5e8 feature: Helper scripts for ssh, themes, etc (#349) 2 ani în urmă
LICENSE f21b38d7a6 Create LICENSE 5 ani în urmă
Makefile 9bb17badad docs: Links and make targets 1 an în urmă
README.md 44a9de080c docs: Windows was not bold. 1 an în urmă
SECURITY.md 11dad79794 fmt: Added pre-commit, fixed a few lint errors, npn updated webui 2 ani în urmă
config.yaml 9bb17badad docs: Links and make targets 1 an în urmă

README.md

OliveTin

project logo

OliveTin gives safe and simple access to predefined shell commands from a web interface.

Maturity Badge Discord Awesome CII Best Practices

Go Report Card Build Snapshot

screenshot More screenshots below

All documentation can be found at docs.olivetin.app. This includes installation and usage guide, etc.

Use cases

Safely give access to commands, for less technical people;

  • eg: Give your family a button to podman restart plex
  • eg: Give junior admins a simple web form with dropdowns, to start your custom script. backupScript.sh --folder {{ customerName }}
  • eg: Enable SSH access to the server for the next 20 mins firewall-cmd --add-service ssh --timeout 20m

Simplify complex commands, make them accessible and repeatable;

  • eg: Expose complex commands on touchscreen tablets stuck on walls around your house. wake-on-lan aa:bb:cc:11:22:33
  • eg: Run long-lived commands on your servers from your cell phone. dnf update -y
  • eg: Define complex commands with lots of preset arguments, and turn a few arguments into dropdown select boxes. docker rm {{ container }} && docker create {{ container }} && docker start {{ container }}

Join the community on Discord to talk with other users about use cases, or to ask for support in getting started.

YouTube demo video

YouTube demo video

Features

  • Responsive, touch-friendly UI - great for tablets and mobile
  • Super simple config in YAML - because if it's not YAML now-a-days, it's not "cloud native" :-)
  • Dark mode - for those of you that roll that way.
  • Accessible - passes all the accessibility checks in Firefox, and issues with accessibility are taken seriously.
  • Container - available for quickly testing and getting it up and running, great for the selfhosted community.
  • Integrate with anything - OliveTin just runs Linux shell commands, so theoretially you could integrate with a bunch of stuff just by using curl, ping, etc. However, writing your own shell scripts is a great way to extend OliveTin.
  • Lightweight on resources - uses only a few MB of RAM and barely any CPU. Written in Go, with a web interface written as a modern, responsive, Single Page App that uses the REST/gRPC API.
  • Good amount of unit tests and style checks - helps potential contributors be consistent, and helps with maintainability.

Screenshots

Desktop web browser;

screenshot

Desktop web browser (dark mode);

screenshot

Mobile screen size (responsive layout);

screenshot

Documentation

All documentation can be found at docs.olivetin.app. This includes installation and usage guide, etc.

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!