Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/ScoopInstaller/Excavator

🕳️ This container runs the updating services for all scoop manifest repos (deprecated)
https://github.com/ScoopInstaller/Excavator

bucket docker powershell scoop scoop-helper

Last synced: about 2 months ago
JSON representation

🕳️ This container runs the updating services for all scoop manifest repos (deprecated)

Awesome Lists containing this project

README

        

# Excavator 🕳️
[![](https://images.microbadger.com/badges/image/r15ch13/excavator.svg)](https://microbadger.com/images/r15ch13/excavator) [![](https://images.microbadger.com/badges/version/r15ch13/excavator.svg)](https://microbadger.com/images/r15ch13/excavator)

This image allows for automated updates of [Scoop](https://scoop.sh) buckets.

**Note:** This image is no longer necessary - automated updates are handled by GitHub Actions now. Read https://github.com/ScoopInstaller/Scoop/wiki/Buckets#using-template for more information.

## Usage
- Add `bin\bucket-updater.ps1` to your Bucket (see: [bucket-updater.ps1](#example-binbucket-updaterps1))
- Create `docker-compose.yml` on your Docker Host (see: [docker-compose.yml](#example-docker-composeyml))
- Run `docker-compose up`
- Add the generated public key to your GitHub account (see: ssh volume)

## Environment Variables
The following Environment Variables are required for pushing changes to GitHub.
```
BUCKET=/ # GitHub Repo (e.g. ScoopInstaller/Extras)
GIT_USERNAME= # For "git config user.name"
GIT_EMAIL= # For "git config user.email"

# Optional:
SNOWFLAKES=curl,brotli # Programs that should always be updated (comma separated)
CRONTAB=0 * * * * # Change cron execution times (default: every hour)
METHOD=push # push = pushs to $BUCKET (default) / request = pull-request to $UPSTREAM
UPSTREAM=/ # Upstream GitHub Repo for Pull-Request creating
SCOOP_DEBUG=true # Enables Scoop debug output
```
## Example `bin\bucket-updater.ps1`
```powershell
param(
# overwrite upstream param
[String]$upstream = "/:master"
)
if(!$env:SCOOP_HOME) { $env:SCOOP_HOME = resolve-path (split-path (split-path (scoop which scoop))) }
$autopr = "$env:SCOOP_HOME/bin/auto-pr.ps1"
$dir = "$psscriptroot/.." # checks the parent dir
iex -command "$autopr -dir $dir -upstream $upstream $($args |% { "$_ " })"
```

## Example `docker-compose.yml`
```yaml
version: "3"

services:
bucket:
image: r15ch13/excavator:latest
deploy:
mode: global # creates only one container
volumes:
- ssh:/root/.ssh
- logs:/root/log
environment:
GIT_USERNAME: "Max Muster"
GIT_EMAIL: "[email protected]"
BUCKET: "maxmuster/my-bucket"
volumes:
ssh:
logs:
```

## These Scoop buckets get automated updates
- [PHP Bucket](https://github.com/ScoopInstaller/PHP)
- [Java Bucket](https://github.com/ScoopInstaller/Java)
- [Games Bucket](https://github.com/Calinou/scoop-games) by [@Calinou](https://github.com/Calinou)

## Logs
Current logs can be found at [https://scoop.r15.ch](https://scoop.r15.ch/?sort=time&order=desc)

# License
[The MIT License (MIT)](https://r15ch13.mit-license.org/)