Installer¶
Installer is used to quickly install pre-compiled binaries from Github releases.
For setup apps that have are not supported by apt package manager, such as task, this method is used to install and update them. It makes it easier to install and update the apps without having to manually download them or install a another package system in the container, such as npm, pip, or homebrew.
Installation¶
Default Port: 3000
Config¶
/etc/systemd/system/installer.service
Usage¶
Or you can use wget -qO- url | bash
Path API
user
Github user (defaults to @jpillora, customisable if you host your own, searches the web to pick most relevantuser
whenrepo
not found)repo
Github repository belonging touser
(required)release
Github release name (defaults to the latest release)!
When provided, downloads binary directly into/usr/local/bin/
(defaults to working directory)
Query Params
?type=
Force the return type to be one of:script
orhomebrew
type
is normally detected viaUser-Agent
headertype=homebrew
is not working at the moment
?insecure=1
Forcecurl
/wget
to skip certificate checks?as=
Force the binary to be named as this parameter value
Examples¶
- https://i.jpillora.com/serve
- https://i.jpillora.com/cloud-torrent
- https://i.jpillora.com/yudai/[email protected]
- https://i.jpillora.com/mholt/caddy
- https://i.jpillora.com/caddy
- https://i.jpillora.com/rclone
-
https://i.jpillora.com/ripgrep?as=rg
$ curl -s i.jpillora.com/mholt/caddy! | bash Downloading mholt/caddy v0.8.2 (https://github.com/mholt/caddy/releases/download/v0.8.2/caddy_darwin_amd64.zip) ######################################################################## 100.0% Downloaded to /usr/local/bin/caddy $ caddy --version Caddy 0.8.2
Traefik¶
homelab/pve/traefik/conf.d/installer.yaml
---
http:
#region routers
routers:
installer:
entryPoints:
- "websecure"
rule: "Host(`installer.l.nicholaswilde.io`)"
middlewares:
- default-headers@file
- https-redirectscheme@file
tls: {}
service: installer
#endregion
#region services
services:
installer:
loadBalancer:
servers:
- url: "http://192.168.2.26:3000"
passHostHeader: true
#endregion
Task List¶
task: Available tasks for this project:
* decrypt: Decrypt .env using SOPS
* enable: Enable service
* encrypt: Encrypt .env using SOPS
* export: Export the task list
* init: Init
* mklinks: Make client symlinks
* restart: Resart service
* start: Start service
* status: Service status
* stop: Stop service
* up: Tun Docker compose in the foreground.
* up-d: Run Docker compose in the background.
* update: Update running containers
* upgrade: upgrade