mirror of
https://github.com/moghtech/komodo.git
synced 2026-05-04 23:09:34 -05:00
* inc version * Komodo interp in ui compose file * fix auto update when image doesn't specify tag by defaulting to latest * Pull image buttons don't need safety dialog * WIP crosscompile * rename * entrypoint * fix copy * remove example/* from workspace * add targets * multiarch pkg config * use specific COPY * update deps * multiarch build command * pre compile deps * cross compile * enable-linger * remove spammed log when server doesn't have docker * add multiarch.Dockerfile * fix casing * fix tag * try not let COPY fail * try * ARG TARGETPLATFORM * use /app for consistency * try * delete cross-compile approach * add multiarch core build * multiarch Deno * single arch multi arch * typeshare cli note * new typeshare * remove note about aarch64 image * test configs * fix config file headers * binaries dockerfile * update cargo build * docs * simple * just simple * use -p * add configurable binaries tag * add multi-arch * allow copy to fail * fix binary paths * frontend Dockerfiel * use dedicated static frontend build * auto retry getting instance state from aws * retry 5 times * cleanup * simplify binary build * try alpine and musl * install alpine deps * back to debian, try rustls * move fully to rustls * single arch builds using single binary image * default IMAGE_TAG * cleanup * try caching deps * single arch add frontend build * rustls::crypto::ring::default_provider() * back to simple * comment dockerfile * add select options prop, render checkboxes if present * add allowSelectedIf to enable / disable rows where necessary * rename allowSelectIf to isSelectable, allow false as global disable, disable checkboxes when not allowed * rename isSelectable to disableRow (it works the oppsite way lol) * selected resources hook, start deployment batch execute component * add deployment group actions * add deployment group actions * add default (empty) group actions for other resources * fix checkbox header styles * explicitly check if disableRow is passed (this prop is cursed) * don't disable row selection for deployments table * don't need id for groupactions * add group actions to resources page * fix row checkbox (prop not cursed, i dumb) * re-implement group action list using dropdown menu * only make group actions clickable when at least one row selected * add loading indicator * gap betwen new resource and group actions * refactor group actions * remove "Batch" from action labels * add group actions for relevant resources * fix hardcode * add selectOptions to relevant tables * select by name not id * expect selected to be names * add note re selection state init for future reference * multi select working nicely for all resources * configure server health check timeout * config message * refresh processes remove dead processes * simplify the build args * default timeout seconds 3 --------- Co-authored-by: kv <karamvir.singh98@gmail.com>
67 lines
2.7 KiB
Markdown
67 lines
2.7 KiB
Markdown
# Periphery setup script
|
||
|
||
These scripts will set up Komodo Periphery on your hosts, managed by systemd.
|
||
|
||
*Note*. This script can be **run multiple times without issue**, and it won't change existing config after the first run. Just run it again after a Komodo version release, and it will update the periphery version.
|
||
|
||
*Note*. The script can usually detect aarch64 system and use the periphery-aarch64 binary.
|
||
|
||
There's two ways to install periphery: `System` and `User`
|
||
|
||
## System (requires root)
|
||
|
||
Note. Run this after switching to root user (eg `sudo su -`).
|
||
|
||
```sh
|
||
curl -sSL https://raw.githubusercontent.com/mbecker20/komodo/main/scripts/setup-periphery.py | python3
|
||
```
|
||
|
||
Will install to paths:
|
||
- periphery (binary) -> `/usr/local/bin/periphery`
|
||
- periphery.service -> `/etc/systemd/system/periphery.service`
|
||
- periphery.config.toml -> `/etc/komodo/periphery.config.toml`
|
||
|
||
## User
|
||
|
||
*Note*. The user running periphery must be a member of the docker group, in order to use the docker cli without sudo.
|
||
|
||
```sh
|
||
curl -sSL https://raw.githubusercontent.com/mbecker20/komodo/main/scripts/setup-periphery.py | python3 - --user
|
||
```
|
||
|
||
Will install to paths:
|
||
- periphery (binary) -> `$HOME/.local/bin`
|
||
- periphery.service -> `$HOME/.config/systemd/user/periphery.service`
|
||
- periphery.config.toml -> `$HOME/.config/komodo/periphery.config.toml`
|
||
|
||
*Note*. Ensure the user running periphery has write permissions to the configured folders `repo_dir`, `stack_dir`, and `ssl_key_file` / `ssl_cert_file` parent folder.
|
||
This allows periphery to clone repos, write compose files, and generate ssl certs.
|
||
|
||
*Note*. To ensure periphery stays running when your user logs out, use `sudo loginctl enable-linger $USER`.
|
||
|
||
For example in `periphery.config.toml`, running under `ubuntu` user:
|
||
```toml
|
||
repo_dir = "/home/ubuntu/.komodo/repos"
|
||
stack_dir = "/home/ubuntu/.komodo/stacks"
|
||
|
||
ssl_enabled = true
|
||
ssl_key_file = "/home/ubuntu/.komodo/ssl/key.pem"
|
||
ssl_cert_file = "/home/ubuntu/.komodo/ssl/cert.pem"
|
||
```
|
||
|
||
For additional information on configuring the systemd service, see the systemd service file documentation here:
|
||
[https://www.freedesktop.org/software/systemd/man/latest/systemd.service.html](https://www.freedesktop.org/software/systemd/man/latest/systemd.service.html).
|
||
|
||
## Force Service File Recreation
|
||
|
||
Usually the installer will only create the systemd service files (`periphery.service`) if one doesn't already exist.
|
||
This means the user is free to customize it to fit their needs, such as changing the `User=` running the binary.
|
||
|
||
You can change this behavior by passing `--force-service-file`, which will restore the service file
|
||
to the current default.
|
||
|
||
Example:
|
||
|
||
```sh
|
||
curl -sSL https://raw.githubusercontent.com/mbecker20/komodo/main/scripts/setup-periphery.py | python3 - --force-service-file
|
||
``` |