{ // Example JSONC config file // This needs to be renamed to "config.jsonc" ("config.json" will also work, even if the file is actually a jsonc) in order for oxker to automatically load // oxker will also read .toml 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. Will take priority over a DOCKER_HOST env. // "host": "/var/run/docker.sock", // 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.01234567 // *Should* accept any valid strftime string up to 32 chars, see https://strftime.org/ "timestamp_format": "%Y-%m-%dT%H:%M:%S.%8f", // Display the container logs timestamp with a given timezone, if timezone is unknown, defaults to UTC "timezone": "Etc/UTC", // 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, // Use case-sensitive matching for logs "log_search_case_sensitive": 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 // WARNING "scroll_many" only accepts control, alt, shift, with no secondary option // 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" ], // Enter log search mode "log_search_mode": [ "#" ], // Quit at anytime "quit": [ "q" ], // Save logs of selected container to file on disk "save_logs": [ "s" ], // Scroll down a list by one item "scroll_down": [ "down", "j" ], // Scroll down to the end of a list "scroll_end": [ "end" ], // Modifier to scroll by 10 lines instead of one, used in conjunction with scroll_up/scroll_down "scroll_many": [ "control" ], // Scroll up to the start of a list "scroll_start": [ "home" ], // Scroll up a list by one item "scroll_up": [ "up", "k" ], // Horizontal scroll of the logs "scroll_forward": [ "right" ], "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": [ "\\" ], // Toggle to inspect container screen "inspect": [ "i" ], // Force a complete clear & redraw of the screen "force_redraw": [ "f" ] }, //////////////////// // 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 "colors": { // The single line bar at the uppermost of the display. Contains name/state/status headings etc "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 "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 "containers": { // The icon use to illustrate which container is currently selected "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" }, // 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 "container_state": { "dead": "red", "exited": "red", "paused": "yellow", "removing": "lightred", "restarting": "lightgreen", "running_healthy": "green", "running_unhealthy": "#FFB224", "unknown": "red" }, // The color the of Docker commands available for each container "commands": { // Background color of panel "background": "reset", "pause": "yellow", "restart": "magenta", "stop": "red", "delete": "gray", "resume": "blue", "start": "green" }, // The cpu chart "chart_cpu": { // Background color of panel "background": "reset", // Border color "border": "white", // Chart title "title": "green", // Maximum CPU percentage "max": "#FFB224", // Points on the chart "points": "magenta", // The charts y-axis "y_axis": "white" }, // The memory chart "chart_memory": { // Background color of panel "background": "reset", // Border color "border": "white", // Chart title "title": "green", // Maximum memory use "max": "#FFB224", // Points on the chart "points": "cyan", // The charts y-axis "y_axis": "white" }, // The ports chart "chart_ports": { // Background color of panel "background": "reset", // Border color "border": "white", // Chart title "title": "green", // Private/Public/IP headings "headings": "yellow", // Ports & IP listing text "text": "white" }, // The bandwidth chart "chart_bandwidth": { //Background color of panel "background": "reset", // Border color "border": "white", // Maximum RX value - again paused & stopped colors not yet customizable "max_rx": "#FFE9C1", // # Maximum TX value - again paused & stopped colors not yet customizable "max_tx": "#CD8C8C", // RX points on the chart - again paused & stopped colors not yet customizable "points_rx": "#FFE9C1", // TX points on the chart - again paused & stopped colors not yet customizable "points_tx": "#CD8C8C", // RX title color "title_rx": "#FFE9C1", // TX title color "title_tx": "#CD8C8C", // The charts y-axis "y_axis": "white" }, // The filter panel "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 log search panel "log_search": { // Background color of panel "background": "reset", // color of text "text": "gray", // text color of the buttons text "button_text": "black", // Highlighted text color "highlight": "magenta" }, // The logs panel, will only be applied if color_logs is false "logs": { // Background color of panel "background": "reset", // text color "text": "reset" }, // The help popup "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 "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 "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 "popup_error": { // Background color "background": "red", // Text color "text": "white" } } }