diff --git a/AI.md b/AI.md deleted file mode 100644 index 6d6cd2c..0000000 --- a/AI.md +++ /dev/null @@ -1,36 +0,0 @@ -# OliveTin's AI Policy - -## Runtime: - -- [x] The project does not include any AI functionality at runtime. -- [x] No data, usage, or similar is sent to, or analyized by AI. - -## Development - Autonomy level - -OliveTin development uses up to **Level 2 of 5 (pair programmer)** on the [AI Levels of Autonomy in Software Engineering](https://blog.jread.com/posts/ai-levels-of-autonomy-in-software-engineering/) scale: AI may generate suggestions and non-trivial changes, but humans review and decide what lands in the project. - -## Development - Contributions - -- [x] The project **does accept** contributions that were written with AI help. **However**: - - The contribution must be attributed to a human username who takes responsibility for the code as if they wrote it themselves. - - AI often generates very unmaintainable code as it gets longer - loads of duplication, very little function re-use amd very poor at following style guides / idiomatic design. All code contributions (AI or not) are scrutinized hard for **maintainability** and **clean merging**. Please follow the CONTRIBUTORS guide. - - AI that helps with short tab completion is generally fine. - - AI that writes lots of new code across lots of files, or makes lots of superfluous changes is generally less likely to be accepted. - - Vibe coding is generally not a suitable way to contribute to this project. -- [x] Contributors should declare when AI has been used to help write contributions in the pull request body message. -- [x] The project uses AI as an **optional** part of the PR process (coderabbitai). Please raise any concerns about usage within the PR. - - [x] Suggestions from coderabbitai can be accepted verbaitem, but ideally it should be the PR author that uses coderabbitai as a guide, who then re-writes the contribution. -- [x] Maintainers are the only agents permitted to accept merges. - -## Development - Build process - -- [x] Linters, code review tools, and others which are enabled by AI are allowed, but cannot be added as part of the standard build process. - -## Community - -- [x] Only project admins are allowed to run bots in the community discord server (at the time of writing, the current bot, Japella, is not AI-enabled). -- [x] Support is currently not provided by AI. - -## Training - -- [x] You may use the OliveTin code base, documentation and repositories to train AI, but obviously usernames and personally identifiable information may not be stored. diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md deleted file mode 100644 index 80913e9..0000000 --- a/CODE_OF_CONDUCT.md +++ /dev/null @@ -1,128 +0,0 @@ -# Contributor Covenant Code of Conduct - -## Our Pledge - -We as members, contributors, and leaders pledge to make participation in our -community a harassment-free experience for everyone, regardless of age, body -size, visible or invisible disability, ethnicity, sex characteristics, gender -identity and expression, level of experience, education, socio-economic status, -nationality, personal appearance, race, religion, or sexual identity -and orientation. - -We pledge to act and interact in ways that contribute to an open, welcoming, -diverse, inclusive, and healthy community. - -## Our Standards - -Examples of behavior that contributes to a positive environment for our -community include: - -* Demonstrating empathy and kindness toward other people -* Being respectful of differing opinions, viewpoints, and experiences -* Giving and gracefully accepting constructive feedback -* Accepting responsibility and apologizing to those affected by our mistakes, - and learning from the experience -* Focusing on what is best not just for us as individuals, but for the - overall community - -Examples of unacceptable behavior include: - -* The use of sexualized language or imagery, and sexual attention or - advances of any kind -* Trolling, insulting or derogatory comments, and personal or political attacks -* Public or private harassment -* Publishing others' private information, such as a physical or email - address, without their explicit permission -* Other conduct which could reasonably be considered inappropriate in a - professional setting - -## Enforcement Responsibilities - -Community leaders are responsible for clarifying and enforcing our standards of -acceptable behavior and will take appropriate and fair corrective action in -response to any behavior that they deem inappropriate, threatening, offensive, -or harmful. - -Community leaders have the right and responsibility to remove, edit, or reject -comments, commits, code, wiki edits, issues, and other contributions that are -not aligned to this Code of Conduct, and will communicate reasons for moderation -decisions when appropriate. - -## Scope - -This Code of Conduct applies within all community spaces, and also applies when -an individual is officially representing the community in public spaces. -Examples of representing our community include using an official e-mail address, -posting via an official social media account, or acting as an appointed -representative at an online or offline event. - -## Enforcement - -Instances of abusive, harassing, or otherwise unacceptable behavior may be -reported to the community leaders responsible for enforcement at -contact@jread.com, or via Discord. -All complaints will be reviewed and investigated promptly and fairly. - -All community leaders are obligated to respect the privacy and security of the -reporter of any incident. - -## Enforcement Guidelines - -Community leaders will follow these Community Impact Guidelines in determining -the consequences for any action they deem in violation of this Code of Conduct: - -### 1. Correction - -**Community Impact**: Use of inappropriate language or other behavior deemed -unprofessional or unwelcome in the community. - -**Consequence**: A private, written warning from community leaders, providing -clarity around the nature of the violation and an explanation of why the -behavior was inappropriate. A public apology may be requested. - -### 2. Warning - -**Community Impact**: A violation through a single incident or series -of actions. - -**Consequence**: A warning with consequences for continued behavior. No -interaction with the people involved, including unsolicited interaction with -those enforcing the Code of Conduct, for a specified period of time. This -includes avoiding interactions in community spaces as well as external channels -like social media. Violating these terms may lead to a temporary or -permanent ban. - -### 3. Temporary Ban - -**Community Impact**: A serious violation of community standards, including -sustained inappropriate behavior. - -**Consequence**: A temporary ban from any sort of interaction or public -communication with the community for a specified period of time. No public or -private interaction with the people involved, including unsolicited interaction -with those enforcing the Code of Conduct, is allowed during this period. -Violating these terms may lead to a permanent ban. - -### 4. Permanent Ban - -**Community Impact**: Demonstrating a pattern of violation of community -standards, including sustained inappropriate behavior, harassment of an -individual, or aggression toward or disparagement of classes of individuals. - -**Consequence**: A permanent ban from any sort of public interaction within -the community. - -## Attribution - -This Code of Conduct is adapted from the [Contributor Covenant][homepage], -version 2.0, available at -https://www.contributor-covenant.org/version/2/0/code_of_conduct.html. - -Community Impact Guidelines were inspired by [Mozilla's code of conduct -enforcement ladder](https://github.com/mozilla/diversity). - -[homepage]: https://www.contributor-covenant.org - -For answers to common questions about this code of conduct, see the FAQ at -https://www.contributor-covenant.org/faq. Translations are available at -https://www.contributor-covenant.org/translations. diff --git a/Dockerfile.singlearch b/Dockerfile.singlearch index 4c8d4d9..84c0fe6 100644 --- a/Dockerfile.singlearch +++ b/Dockerfile.singlearch @@ -1,8 +1,5 @@ FROM --platform=linux/amd64 debian:13-slim -LABEL org.opencontainers.image.source https://github.com/OliveTin/OliveTin -LABEL org.opencontainers.image.title OliveTin - RUN mkdir -p /config /config/entities/ /var/www/olivetin \ && apt-get update \ && apt-get install -y --no-install-recommends \ @@ -14,6 +11,9 @@ RUN mkdir -p /config /config/entities/ /var/www/olivetin \ jq \ openssh-client \ passwd \ + unzip \ + tar \ + gzip \ && install -m 0755 -d /etc/apt/keyrings \ && curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc \ && chmod a+r /etc/apt/keyrings/docker.asc \ @@ -26,10 +26,6 @@ RUN useradd --system --create-home olivetin -u 1000 EXPOSE 1337/tcp -COPY config.yaml /config -COPY var/entities/* /config/entities/ -COPY examples/backupScript.sh /opt/backupScript.sh -RUN chmod 755 /opt/backupScript.sh VOLUME /config COPY OliveTin /usr/bin/OliveTin diff --git a/Makefile b/Makefile index 1a3c195..e14b44b 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ define delete-files - python -c "import shutil;shutil.rmtree('$(1)', ignore_errors=True)" + python3 -c "import shutil;shutil.rmtree('$(1)', ignore_errors=True)" endef service: diff --git a/README.md b/README.md index 1c7c510..e8ac762 100644 --- a/README.md +++ b/README.md @@ -1,96 +1,31 @@ -
-
-More screenshots below
+Тег локальной сборки:
-All documentation can be found at [docs.olivetin.app](https://docs.olivetin.app). This includes installation and usage guide, etc.
+```text
+docker.med-logic.ru/olivetin:latest
+```
-The AsciiDoc sources for that site live in this repository under [`docs/`](docs/) (Antora component). The [docs.olivetin.app](https://github.com/OliveTin/docs.olivetin.app) repository contains the Antora playbook, theme supplemental files, and the workflow that publishes GitHub Pages.
+Сборка:
-## Use cases
+```bash
+task build
+```
-**Safely** give access to commands, for less technical people;
+Dockerfile: `Dockerfile.singlearch`.
-* 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;
+Проект распространяется на условиях **GNU Affero General Public License v3.0** (AGPL-3.0).
-* 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 }}`
+Полный текст: [LICENSE](LICENSE).
-[Join the community on Discord](https://discord.gg/jhYWWpNJ3v) to talk with other users about use cases, or to ask for support in getting started.
-
-## YouTube demo video
-
-[](https://www.youtube.com/watch?v=UBgOfNrzId4)
-
-## 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;
-
-
-
-
-
-
-
-