Skip to content

Latest commit

 

History

History
120 lines (84 loc) · 3.14 KB

installer.md

File metadata and controls

120 lines (84 loc) · 3.14 KB
tags
lxc
proxmox

📥 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

!!! example ""

:material-console-network: Default Port: `3000`

!!! code ""

```shell
curl -s https://i.jpillora.com/installer! | bash
```

⚙️ Config

!!! abstract "Install location"

```shell
/usr/local/bin/installer
```

!!! abstract "/etc/systemd/system/installer.service"

=== "Manual"

    ```ini
    [Unit]
    Description=Quickly install pre-compiled binaries from Github releases

    [Service]
    Type=simple
    ExecStart=/usr/local/bin/installer
    Restart=on-failure
    ExecReload=/bin/kill -USR1 $MAINPID
    StandardOutput=append:/var/log/installer.log
    StandardError=inherit

    [Install]
    WantedBy=multi-user.target
    ```

📝 Usage

!!! code "install user/repo from github"

```shell
curl https://i.jpillora.com/<user>/<repo>@<release>! | bash
```

!!! code "search web for github repo query"

```shell
curl https://i.jpillora.com/<query>! | bash
```

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 relevant user when repo not found)
  • repo Github repository belonging to user (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 or homebrew
    • type is normally detected via User-Agent header
    • type=homebrew is not working at the moment
  • ?insecure=1 Force curl/wget to skip certificate checks
  • ?as= Force the binary to be named as this parameter value

💡 Examples

:simple-traefikproxy: Traefik

??? abstract "homelab/pve/traefik/conf.d/installer.yaml"

```yaml
--8<-- "traefik/conf.d/installer.yaml"
```

:simple-task: Task List

!!! example ""

```yaml
--8<-- "installer/task-list.txt"
```

🔗 References