Bez popisu

jamesread bbff2f4ba1 fix: synchronize watcher and execution log state před 1 dnem
.github 688022b450 docs: Fix config casing (fix #1097) před 1 dnem
docs 688022b450 docs: Fix config casing (fix #1097) před 1 dnem
examples d4dbc172d2 chore: include demo backup script, make it flakey před 2 měsíci
frontend 8c08a55dd8 chore: dep update před 1 dnem
integration-tests e9e8a29b3f chore: standardize test names před 1 dnem
lang 8c08a55dd8 chore: dep update před 1 dnem
proto 5741c8ea2c feat: Alpha support for search (behind feature gate) před 1 měsícem
scripts 25b80e1460 fmt: Code style and linter před 1 měsícem
service bbff2f4ba1 fix: synchronize watcher and execution log state před 1 dnem
specs 9344b6c62c fix: security policy change for alpha features and few auth fixes před 1 měsícem
var 23221aa687 fix: Migrate much of the UI to modern picocrank, cleanup some dead code, improve tests před 2 dny
.dockerignore 286fa43e95 Less junk in the docker image před 5 roky
.gitignore 5b1a29db7f docs: Standardize on "Server Diagnostics", update many screenshots před 2 měsíci
.goreleaser.yml 33f489dfb0 chore: Windows build split před 1 měsícem
.pre-commit-config.yaml ec6e796b86 chore: frontend unit tests před 1 měsícem
.releaserc.yaml b749b797f8 fix: Build MSI in goreleaser build před 2 měsíci
AGENTS.md 23221aa687 fix: Migrate much of the UI to modern picocrank, cleanup some dead code, improve tests před 2 dny
AI.md 8f059778ce docs: OliveTin now uses up to Level 2 of 5 AI autonomy. před 1 měsícem
CODE_OF_CONDUCT.md 35562e5667 Create CODE_OF_CONDUCT.md před 5 roky
CONTRIBUTING.adoc 23221aa687 fix: Migrate much of the UI to modern picocrank, cleanup some dead code, improve tests před 2 dny
Dockerfile.multiarches d4dbc172d2 chore: include demo backup script, make it flakey před 2 měsíci
Dockerfile.singlearch d4dbc172d2 chore: include demo backup script, make it flakey před 2 měsíci
LICENSE f21b38d7a6 Create LICENSE před 5 roky
Makefile 55e39ed29d chore: default target = phony před 1 dnem
README.md 8f059778ce docs: OliveTin now uses up to Level 2 of 5 AI autonomy. před 1 měsícem
SECURITY.md 9344b6c62c fix: security policy change for alpha features and few auth fixes před 1 měsícem
config.yaml 1739f1e127 chore: removed warnings from default config před 1 měsícem
local-antora-playbook-ci.yml c132eacc00 docs: add Antora site sources under docs/ with CI smoke build před 4 měsíci
local-antora-playbook.yml c132eacc00 docs: add Antora site sources under docs/ with CI smoke build před 4 měsíci

README.md

project logo

OliveTin

OliveTin gives **safe** and **simple** access to predefined shell commands from a web interface. [![Maturity Badge](https://img.shields.io/badge/maturity-Production-brightgreen)](#none) [![Discord](https://img.shields.io/discord/846737624960860180?label=Discord%20Server)](https://discord.gg/jhYWWpNJ3v) [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d2/media/badge.svg)](https://github.com/awesome-selfhosted/awesome-selfhosted#automation) [![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/5050/badge)](https://bestpractices.coreinfrastructure.org/projects/5050) [![Go Report Card](https://goreportcard.com/badge/github.com/Olivetin/OliveTin)](https://goreportcard.com/report/github.com/OliveTin/OliveTin) [![AI Autonomy Level](https://img.shields.io/badge/AI%20Autonomy-Level%202%20of%205%20(pair--programmer)-blue)](https://blog.jread.com/posts/ai-levels-of-autonomy-in-software-engineering/) [OliveTin 2k to 3k upgrade guide](https://docs.olivetin.app/upgrade/2k3k.html)

screenshot More screenshots below

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

The AsciiDoc sources for that site live in this repository under docs/ (Antora component). The docs.olivetin.app repository contains the Antora playbook, theme supplemental files, and the workflow that publishes GitHub Pages.

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 theoretically 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/Connect RPC 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

No-Nonsense Software Principles

OliveTin follows these principles:

  • Open Source & Free Software: following the Open Source Definition and the Free Software Definition. All code and assets are available under the AGPL-3.0 License.
  • Independent: No company owns the code or is responsible for the projects' governance.
  • Inclusive: No "core", "pro", "premium" or "enterprise" version. The only version is the one you can download and run, and it has all the features.
  • Invisible: No usage tracking, no user tracking, no ads, and no telemetry.
  • Internal: No internet connection required for any functionality.

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!

Donations & Sponsorship

OliveTin does not accept monetary donations or sponsorship. See Donations & Sponsorship for the full explanation.