Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/titpetric/task-ui
Task UI - a web based runner for Taskfile.yml
https://github.com/titpetric/task-ui
automation deployments deploys docker golang make makefile task taskfile terminal websocket
Last synced: 17 days ago
JSON representation
Task UI - a web based runner for Taskfile.yml
- Host: GitHub
- URL: https://github.com/titpetric/task-ui
- Owner: titpetric
- License: apache-2.0
- Created: 2023-07-01T18:44:29.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-06-15T09:26:45.000Z (5 months ago)
- Last Synced: 2024-10-16T08:17:46.111Z (28 days ago)
- Topics: automation, deployments, deploys, docker, golang, make, makefile, task, taskfile, terminal, websocket
- Language: Go
- Homepage:
- Size: 233 KB
- Stars: 52
- Watchers: 6
- Forks: 6
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# Task UI
Run your Taskfile.yml from the browser.
![](https://raw.githubusercontent.com/titpetric/task-ui/main/.github/assets/task-ui.png)
Start the docker image with `task docker:run`.
Task UI is meant for Docker environments. A generic Dockerfile exists, which
bundles typical dependencies like `task`, `ttyrec`, `docker`, `docker compose`.To use, start by navigating to the
[docker](https://github.com/titpetric/task-ui/tree/main/docker)
subfolder. It contains a Taskfile, with the typical commands to build and
run task-ui from a docker image. For examples with Taskfiles you could
run, look into the folder
[examples](https://github.com/titpetric/task-ui/tree/main/examples).The layout is somewhat responsive, supporting mobile.
# Running
To set up your project to run with Task UI, it's recommended you use the
example docker compose setup here:```yaml
services:
runner:
image: titpetric/task-ui
restart: always
build: .
command:
- --history-enable
ports:
- 3000:3000
volumes:
- $PWD/app:/app
- /var/run/docker.sock:/var/run/docker.sock:ro
```In particular, you should mount your `/app` folder which contains your
`Taskfile.yml`, `docker-compose.yml` and other files. Task UI will run
with what you provide it with.- If you don't want history, remove the `command` flags.
- If you don't want to use docker, remove the volume for `docker.sock`.The image provides an `id_ecdsa` key to use for ssh hops. The recommended
way to deploy is to provide your own `docker/root/.ssh` folder with
the ssh keys. You can regenerate the ssh key with `task docker:gen`.# Development
task: Available tasks for this project:
* build: Build task-ui
* fix: Fix code
* install: Install task-ui locally
* run: Run task-ui
* test: Test task-ui
* docker:build: Build task-ui docker image
* docker:gen: Generate ssh key for docker image
* docker:push: Push task-ui to registry
* docker:run: Run task-ui in docker env## task: build
Build task-ui
dependencies:
- fixcommands:
- CGO_ENABLED=0 go build .## task: test
Test task-ui
dependencies:
- fixcommands:
- CGO_ENABLED=1 go test -race -count=1 -cover ./...
- CGO_ENABLED=0 go test -count=1 -cover ./...## task: run
Run task-ui
dependencies:
- buildcommands:
- ./task-ui --history-enable## task: install
Install task-ui locally
dependencies:
- fixcommands:
- go install .## task: fix
Fix code
dependencies:
- deps:goimportscommands:
- goimports -w .
- go fmt ./...
- go vet .
- go mod tidy
- ./README.md.sh > README.md