Skip to content

Commit

Permalink
refactor: Change README and update LICENSE to include myself
Browse files Browse the repository at this point in the history
This project is a fork of the Semaphore UI project and its purpose is
to allow users to automate tasks on a daily basis.

I will use this project as a simple infrastructure for my Linux IoT
devices but technically this can be used where any other timetable based
automation is needed.
  • Loading branch information
supercomputer7 committed Oct 16, 2024
1 parent 14b544c commit ff31502
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 71 deletions.
1 change: 1 addition & 0 deletions LICENSE
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ The MIT License (MIT)

Copyright (c) 2021 Denis Gukov
Copyright (c) 2014-2021 Castaway Labs LLC
Copyright (c) 2024 Liav A

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
81 changes: 10 additions & 71 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,92 +1,31 @@
# Semaphore UI
# A time table based automation

Modern UI for Ansible, Terraform, OpenTofu, PowerShell and other DevOps tools.
Modern UI for time table based automation, based on the wonderful [Semaphore UI](https://github.com/semaphoreui/semaphore), project.

[![telegram](https://img.shields.io/badge/discord_community-skyblue?style=for-the-badge&logo=discord)](https://discord.gg/5R6k7hNGcH)
[![youtube](https://img.shields.io/badge/youtube_channel-red?style=for-the-badge&logo=youtube)](https://www.youtube.com/@semaphoreui)
<!-- [![devcontainer](https://img.shields.io/badge/dev_container-gray?style=for-the-badge&logo=github)](https://codespaces.new/semaphoreui/semaphore) -->
<!-- [![docker](https://img.shields.io/badge/container_configurator-white?style=for-the-badge&logo=docker)](https://semaphoreui.com/install/docker/) -->
I modified the original project, specifically for managing Linux IoT devices.

![responsive-ui-phone1](https://user-images.githubusercontent.com/914224/134777345-8789d9e4-ff0d-439c-b80e-ddc56b74fcee.png)
## What is the purpose of this project?

If your project has grown and deploying from the terminal is no longer feasible, then Semaphore UI is the tool you need.

## Live Demo

Try the latest version of Semaphore at [https://cloud.semaphoreui.com](https://cloud.semaphoreui.com).


## What is Semaphore UI?

Semaphore UI is a modern web interface for managing popular DevOps tools.

Semaphore UI allows you to:
* Easily run Ansible playbooks, Terraform and OpenTofu code, as well as Bash and PowerShell scripts.
This project allows you to:
* Easily run local scripts as part of your daily automation tasks.
* Receive notifications about failed tasks.
* Control access to your deployment system.

## Key Concepts

1. **Projects** is a collection of related resources, configurations, and tasks. Each project allows you to organize and manage your automation efforts in one place, defining the scope of tasks such as deploying applications, running scripts, or orchestrating cloud resources. Projects help group resources, inventories, task templates, and environments for streamlined automation workflows.
2. **Task Templates** are reusable definitions of tasks that can be executed on demand or scheduled. A template specifies what actions should be performed, such as running Ansible playbooks, Terraform configurations, or other automation tasks. By using templates, you can standardize tasks and easily re-execute them with minimal effort, ensuring consistent results across different environments.
3. **Task** is a specific instance of a job or operation executed by Semaphore. It refers to running a predefined action (like an Ansible playbook or a script) using a task template. Tasks can be initiated manually or automatically through schedules and are tracked to give you detailed feedback on the execution, including success, failure, and logs.
4. **Schedules** allow you to automate task execution at specified times or intervals. This feature is useful for running periodic maintenance tasks, backups, or deployments without manual intervention. You can configure recurring schedules to ensure important automation tasks are performed regularly and on time.
5. **Inventory** is a collection of target hosts (servers, virtual machines, containers, etc.) on which tasks will be executed. The inventory includes details about the managed nodes such as IP addresses, SSH credentials, and grouping information. It allows for dynamic control over which environments and hosts your automation will interact with.
6. **Environment** refers to a configuration context that holds sensitive information such as environment variables and secrets used by tasks during execution. It separates sensitive data from task templates and allows you to switch between different setups while running the same task template across different environments securely.

## Getting Started

You can install Semaphore using the following methods:
* Docker
* SaaS ([Semaphore Cloud](https://cloud.semaphoreui.com))
* Deploy a VM from a marketplace (AWS, DigitalOcean, etc.)
* Snap
* Binary file
* Debian or RPM package

### Docker

The most popular way to install Semaphore is via Docker.

```
docker run -p 3000:3000 --name semaphore \
-e SEMAPHORE_DB_DIALECT=bolt \
-e SEMAPHORE_ADMIN=admin \
-e SEMAPHORE_ADMIN_PASSWORD=changeme \
-e SEMAPHORE_ADMIN_NAME=Admin \
-e SEMAPHORE_ADMIN_EMAIL=admin@localhost \
-d semaphoreui/semaphore:latest
```
You can install this software by compiling it using the documentation which is provided
by the Semaphore UI project.

We recommend using the [Container Configurator](https://semaphoreui.com/install/docker/) to get the ideal Docker configuration for Semaphore.

### SaaS

We offer a SaaS solution for using Semaphore UI without installation. Check it out at [Semaphore Cloud](https://cloud.semaphoreui.com).

### Deploy VM from Marketplace

Supported cloud providers:
* [Semaphore Run](https://cloud.semaphore.run/servers/new/semaphore)
* [AWS](https://aws.amazon.com/marketplace/pp/prodview-5noeat2jipwca)
* [Yandex Cloud](https://yandex.cloud/en-ru/marketplace/products/fastlix/semaphore)
* DigitalOcean (coming soon)

### Other Installation Methods

For more installation options, visit our [Installation page](https://semaphoreui.com/install).

## Documentation
## Documentation (from the Semaphore UI project)

* [User Guide](https://docs.semaphoreui.com)
* [API Reference](https://semaphoreui.com/api-docs)

## Contribution
* [Contribution Guide](https://github.com/semaphoreui/semaphore/blob/develop/CONTRIBUTING.md)
* [Dev Container](https://codespaces.new/semaphoreui/semaphore) (default user `admin` / `changeme`)

## License
MIT © [Denis Gukov](https://github.com/fiftin)

[![patreon](https://img.shields.io/badge/become_a_patreon-teal?style=for-the-badge&logo=patreon)](https://www.patreon.com/semaphoreui)
[![ko-fi](https://img.shields.io/badge/buy_me_a_coffee-pink?style=for-the-badge&logo=kofi)](https://ko-fi.com/fiftin)
This project is licensed under the [MIT license](https://github.com/supercomputer7/timetable-automation/LICENSE).

0 comments on commit ff31502

Please sign in to comment.