Files
oxkerclone/example_config/example.config.toml
T
Jack Wills c190f0206c feat: horizontally scroll across log
By default, use left and right arrow keys to horizontally scroll over the lines of logs, also has various refactors to reduced to size of the vec of logs sent to the ui renderer
2025-08-14 23:20:44 +00:00

277 lines
8.1 KiB
TOML

# oxker config file
# oxker will also read .jsonc and .json files which use the same key/value structure & format as this file
# Every key is optional, with defaults that oxker will choose if missing or invalid
# The `--config-file` cli argument can be used to load configuration files from any readable location
# Docker update interval in ms, minimum effectively 1000
docker_interval = 1000
# Attempt to colorize the logs, conflicts with "raw"
color_logs = false
# Show raw logs, default is to remove ansi formatting, conflicts with "color"
raw_logs = false
# Show self (the oxker container) when running as a docker container
show_self = false
# Show std_err in logs
show_std_err = true
# Show a timestamp for every log entry
show_timestamp = true
# Don't draw gui - for debugging - mostly pointless
gui = true
# Docker host location
host = "/var/run/docker.sock"
# Display the container logs timestamp with a given timezone, if timezone is unknown, defaults to UTC
timezone = "Etc/UTC"
# Display the timestamp in a custom format, if given option is invalid, it will default to %Y-%m-%dT%H:%M:%S.%8f -> 2025-02-18T12:34:56.012345678Z
# *Should* accept any valid strftime string up to 32 chars, see https://strftime.org/
timestamp_format = "%Y-%m-%dT%H:%M:%S.%8f"
# Directory for saving exported logs, defaults to `$HOME`, this is automatically *correctly* calculated for Linux, Mac, and Windows
# save_dir = "$HOME"
# Force use of docker cli when execing into containers, honestly mostly pointless
use_cli = false
# Show the logs section - this can be changed during operation with the log_section_toggle key
show_logs = true
#################
# Custom Keymap #
#################
# Available keys are;
# 1) a-z and A-Z
# 2) 0-9
# WARNING if using the \ key, it needs to be escaped, e.g. log_section_toggle = ["\\"]
# 3) / \ , . # ' [ ] ; = -
# 3) F1-F12
# 4) backspace, tab, backtab, delete, end, esc, home, insert, pagedown, pageup, left, right, up, down
# Each definition can have two keys associated with it
# If any key clashes are found, oxker will revert to it's default keymap
[keymap]
# Clear any popup boxes, filter panel, or help panel
clear = ["c", "esc"]
# Cancel delete - clear also works here
delete_deny = ["n"]
# Confirm Delete
delete_confirm = ["y"]
# Exec into the selected container
exec = ["e"]
# Enter filter mode
filter_mode = ["/", "F1"]
# Quit at anytime
quit = ["q"]
# Save logs of selected container to file on disk
save_logs = ["s"]
# scroll down a list by many
scroll_down_many = ["pagedown"]
# scroll down a list by one item
scroll_down_one = ["down", "j"]
# scroll down to the end of a list
scroll_end = ["end"]
# scroll up to the start of a list
scroll_start = ["home"]
# scroll up a list by many
scroll_up_many = ["pageup"]
# scroll up a list by one item
scroll_up_one = ["up", "k"]
# Horizontal scroll of the logs
log_scroll_forward = ["right"]
log_scroll_back = ["left"]
# Select next panel
select_next_panel = ["tab"]
# Select previous panel
select_previous_panel = ["backtab"]
# Sort the containers based on specific column
sort_by_name = ["1"]
sort_by_state = ["2"]
sort_by_status = ["3"]
sort_by_cpu = ["4"]
sort_by_memory = ["5"]
sort_by_id = ["6"]
sort_by_image = ["7"]
sort_by_rx = ["8"]
sort_by_tx = ["9"]
# Reset the sorted containers
sort_reset = ["0"]
# Toggle the help panel
toggle_help = ["h"]
# Toggle mouse capture
toggle_mouse_capture = ["m"]
# Reduce the height of the logs list section
log_section_height_decrease = ["-"]
# Increase the height of the logs list section
log_section_height_increase = ["+"]
# Toggle visibility of the log section
log_section_toggle = ["\\"]
#################
# Custom Colors #
#################
# Colors be listed as either;
# 1) named ANSI: 'red', case insensitive, see https://en.wikipedia.org/wiki/ANSI_escape_code#Colors
# 2) Hex values: '#FF0000', case insensitive
# 3) 'reset' for transparency
# Some background/foreground combinations don't work, I *think* this is an issue/feature of ratatui - but I may have just made a mistake somewhere
# The single line bar at the uppermost of the display. Contains name/state/status headings etc
[colors.headers_bar]
# Background color of the entire line
background = "magenta"
# Animated loading icon at the start of the bar
loading_spinner = "white"
# Text color
text = "black"
# Text color of a selected header
text_selected = "gray"
# The borders around the selectable panels - Containers, Commands, Logs
[colors.borders]
# Border when selected
selected = "lightcyan"
# Border when not selected
unselected = "grey"
# The containers sections, in the future more color customization options should be made available in this section
[colors.containers]
# The icon use to illustrate which container is currently selected - at the moment the TUI library, ratatui, doesn't seem allow changing the color of the highlight symbol
icon = "white"
# Background color of panel
background = "reset"
# At the moment, this will only change the color of the name, id, and image columns
text = "blue"
# Text color of the RX column
text_rx = "#FFE9C1"
# Text color of the TX column
text_tx = "#CD8C8C"
# The logs panel, will only be applied if color_logs is false
[colors.logs]
# Background color of panel
background = "reset"
# text color
text = "reset"
# Each state of a container has a color, which is used in multiple places, i.e. chart titles, state/status/cpu/memory columns in the container section
[colors.container_state]
dead = "red"
exited = "red"
paused = "yellow"
removing = "lightred"
restarting = "lightgreen"
running_healthy = "green"
running_unhealthy = "#FFB224"
unknown = "red"
# The filter panel
[colors.filter]
# Background color of panel
background = "reset"
# color of text
text = "gray"
# background color of the selected filter by item (Name/Image/Status/All)
selected_filter_background = "gray"
# text color of the selected filter by item (Name/Image/Status/All)
selected_filter_text = "black"
# Highlighted text color
highlight = "magenta"
# The color the of Docker commands available for each container
[colors.commands]
# Background color of panel
background = "reset"
pause = "yellow"
restart = "magenta"
stop = "red"
delete = "gray"
resume = "blue"
start = "green"
# The cpu chart
[colors.chart_cpu]
# Background color of panel
background = "reset"
# Border color
border = "white"
# Chart title - only whilst container is running, paused & stopped colors not yet customizable - or could just use state color?
title = "green"
# Maximum CPU percentage - again paused & stopped colors not yet customizable
max = "#FFB224"
# Points on the chart - again paused & stopped colors not yet customizable
points = "magenta"
# The charts y-axis
y_axis = "white"
# The memory chart
[colors.chart_memory]
# Background color of panel
background = "reset"
# Border color
border = "white"
# Chart title - only whilst container is running, paused & stopped will use colors.container_state
title = "green"
# Maximum memory use - again paused & stopped will use colors.container_state
max = "#FFB224"
# Points on the chart - again paused & stopped will use colors.container_state
points = "cyan"
# The charts y-axis
y_axis = "white"
# The ports chart
[colors.chart_ports]
# Background color of panel
background = "reset"
# Border color
border = "white"
# Chart title - only whilst container is running, paused & stopped will use colors.container_state
title = "green"
# Private/Public/IP headings
headings = "yellow"
# Ports & IP listing text
text = "white"
# The help popup
[colors.popup_help]
# Background color
background = "magenta"
# Text color
text = "black"
# Highlighted text color
text_highlight = "white"
# The info popup - used to display small messages - such as saving logs to disk, or change of mouse capture settings
[colors.popup_info]
# Background color
background = "blue"
# Text color
text = "white"
# The delete popup - used to display a confirmation warning when about to delete a container
[colors.popup_delete]
# Background color
background = "white"
# Text color
text = "black"
# Highlighted text color
text_highlight = "red"
# The error popup - hopefully you'll never have to see this
[colors.popup_error]
# Background color
background = "red"
# Text color
text = "white"