https://github.com/omermecitoglu/buttler
automates CI/CD workflows using Docker and GitHub webhooks
https://github.com/omermecitoglu/buttler
automation cli continuous-delivery continuous-deployment continuous-integration docker github-webhooks
Last synced: 3 months ago
JSON representation
automates CI/CD workflows using Docker and GitHub webhooks
- Host: GitHub
- URL: https://github.com/omermecitoglu/buttler
- Owner: omermecitoglu
- License: mit
- Created: 2024-07-30T06:15:20.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2024-09-25T09:13:19.000Z (8 months ago)
- Last Synced: 2024-10-05T19:21:34.361Z (8 months ago)
- Topics: automation, cli, continuous-delivery, continuous-deployment, continuous-integration, docker, github-webhooks
- Language: TypeScript
- Homepage:
- Size: 1.41 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Buttler
[](https://www.npmjs.com/package/@omer-x/buttler)
[](https://www.npmjs.com/package/@omer-x/buttler)
[](https://codecov.io/gh/omermecitoglu/buttler)
[](https://opensource.org/licenses/MIT)
[](https://github.com/omermecitoglu/buttler/commits/main/)
[](https://github.com/omermecitoglu/buttler/issues)
[](https://github.com/omermecitoglu/buttler)## Table of Contents
- [Overview](#overview)
- [Features](#features)
- [Planned features](#planned-features)
- [Known bugs](#known-bugs)
- [Requirements](#requirements)
- [Installation](#installation)
- [Usage](#usage)
- [Screenshots](#screenshots)
- [Contributing](#contributing)
- [License](#license)## Overview
Buttler automates CI/CD workflows using Docker and GitHub webhooks
### Features
- Dark Mode ([see screenshots](#dark-mode))
- Mega.io integration to save database backups ([see screenshots](#settings))
- Hosting applications from a GitHub repository ([see screenshots](#custom-service))
- must have a `Dockerfile` in its root directory
- can be a private repo, but [ssh key](https://docs.github.com/en/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent) of the hosting machine must be added to [Deploy keys](https://docs.github.com/en/authentication/connecting-to-github-with-ssh/managing-deploy-keys)
- Creates a new build image automatically via [GitHub webhooks](https://docs.github.com/en/webhooks/about-webhooks) and deploys it
- Database services ([see screenshots](#database-service))
- Engines:
- [PostgreSQL](https://www.postgresql.org)
- [MySQL](https://www.mysql.com) *(not implemented yet)*
- [MongoDB](https://www.mongodb.com) *(not implemented yet)*
- [Redis](https://redis.io)
- can be linked to other services ([see screenshots](#linking-services))
- Services dashboard ([see screenshots](#list-of-services))
- Edit service page ([see screenshots](#edit-service-page))
- Manage service ports
- Manage environment variables
- Copy-paste env variables easily
- Service details page ([see screenshots](#service-details))
- Container logs ([see screenshots](#container-logs))
- List of build images ([see screenshots](#list-of-build-images))
- Button fir triggering a manual build for custom services ([see screenshots](#manual-build))
- Button for triggering a manual backup for database services ([see screenshots](#manual-backup))
- Linking services ([see screenshots](#linking-services))
- Creates private network between service containers
- Custom service inherits necessary env variables automatically for the database ([see screenshots](#Auto-env-inheritance))### Planned features
You can find the planned features [here](https://github.com/omermecitoglu/buttler/issues?q=is%3Aopen+is%3Aissue+label%3Aenhancement)
### Known bugs
You can see the known bugs [here](https://github.com/omermecitoglu/buttler/issues?q=is%3Aopen+is%3Aissue+label%3Abug)
## Requirements
To use `Buttler`, you'll need the following dependencies installed in your machine:
- [Node.js](https://nodejs.org) >= v19
- [NPM](https://www.npmjs.com)
- [Docker](https://www.docker.com)
- [SQLite](https://www.sqlite.org)## Installation
Install `Buttler` globally using npm:
```bash
npm i -g @omer-x/buttler
```## Usage
To launch the application
```bash
buttler start
```Then open your browser and navigate to:
```arduino
http://localhost:2083
```To terminate the application
```bash
buttler stop
```To relaunch the application
```bash
buttler restart
```## Screenshots
### Dark Mode

### Settings

### Custom service

### Database service

### List of services

### Edit service page


### Service details

### Manual Build

### List of build images

### Manual backup

### Container logs

### Linking services


### Auto env inheritance

## Contributing
Contributions are welcome! Please open an issue or submit a pull request for any feature requests or bug fixes.
## License
This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.