1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
# 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
= 1000
# Attempt to colorize the logs, conflicts with "raw"
= false
# Show raw logs, default is to remove ansi formatting, conflicts with "color"
= false
# Show self (the oxker container) when running as a docker container
= false
# Show std_err in logs
= true
# Show a timestamp for every log entry
= true
# Don't draw gui - for debugging - mostly pointless
= true
# Docker host location. Will take priority over a DOCKER_HOST env.
# host = "/var/run/docker.sock"
# Display the container logs timestamp with a given timezone, if timezone is unknown, defaults to UTC
= "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/
= "%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
= false
# Show the logs section - this can be changed during operation with the log_section_toggle key
= true
# Use case-sensitive matching for 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
# 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
[]
# Clear any popup boxes, filter panel, or help panel
= ["c", "esc"]
# Cancel delete - clear also works here
= ["n"]
# Confirm Delete
= ["y"]
# Exec into the selected container
= ["e"]
# Enter filter mode
= ["/", "F1"]
# Enter log search mode
= ["#"]
# Quit at anytime
= ["q"]
# Save logs of selected container to file on disk
= ["s"]
# scroll down a list by one item
= ["down", "j"]
# scroll down to the end of a list
= ["end"]
# Modifier to scroll by 10 lines instead of one, used in conjunction with scroll_up/scroll_down
= ["control"]
# scroll up to the start of a list
= ["home"]
# scroll up a list by one item
= ["up", "k"]
# Horizontal scroll of the logs
= ["right"]
= ["left"]
# Select next panel
= ["tab"]
# Select previous panel
= ["backtab"]
# Sort the containers based on specific column
= ["1"]
= ["2"]
= ["3"]
= ["4"]
= ["5"]
= ["6"]
= ["7"]
= ["8"]
= ["9"]
# Reset the sorted containers
= ["0"]
# Toggle the help panel
= ["h"]
# Toggle mouse capture
= ["m"]
# Reduce the height of the logs list section
= ["-"]
= ["+"]
# Toggle visibility of the log section
= ["\\"]
# Toggle to inspect container screen
= ["i"]
# Force a complete clear & redraw of the screen
= ["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
# The single line bar at the uppermost of the display. Contains name/state/status headings etc
[]
# Background color of the entire line
= "magenta"
# Animated loading icon at the start of the bar
= "white"
# Text color
= "black"
# Text color of a selected header
= "gray"
# The borders around the selectable panels - Containers, Commands, Logs
[]
# Border when selected
= "lightcyan"
# Border when not selected
= "grey"
# The containers sections, in the future more color customization options should be made available in this section
[]
# 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
= "white"
# Background color of panel
= "reset"
# At the moment, this will only change the color of the name, id, and image columns
= "blue"
# Text color of the RX column
= "#FFE9C1"
# Text color of the TX column
= "#CD8C8C"
# The logs panel, will only be applied if color_logs is false
[]
# Background color of panel
= "reset"
# text color
= "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
[]
= "red"
= "red"
= "yellow"
= "lightred"
= "lightgreen"
= "green"
= "#FFB224"
= "red"
# The filter panel
[]
# Background color of panel
= "reset"
# color of text
= "gray"
# background color of the selected filter by item (Name/Image/Status/All)
= "gray"
# text color of the selected filter by item (Name/Image/Status/All)
= "black"
# Highlighted text color
= "magenta"
# The log search panel
[]
# Background color of panel
= "reset"
# color of text
= "gray"
# text color of the buttons text
= "black"
# Highlighted text color
= "magenta"
# The color the of Docker commands available for each container
[]
# Background color of panel
= "reset"
= "yellow"
= "magenta"
= "red"
= "gray"
= "blue"
= "green"
# The cpu chart
[]
# Background color of panel
= "reset"
# Border color
= "white"
# Chart title - only whilst container is running, paused & stopped colors not yet customizable - or could just use state color?
= "green"
# Maximum CPU percentage - again paused & stopped colors not yet customizable
= "#FFB224"
# Points on the chart - again paused & stopped colors not yet customizable
= "magenta"
# The charts y-axis
= "white"
# The memory chart
[]
# Background color of panel
= "reset"
# Border color
= "white"
# Chart title - only whilst container is running, paused & stopped will use colors.container_state
= "green"
# Maximum memory use - again paused & stopped will use colors.container_state
= "#FFB224"
# Points on the chart - again paused & stopped will use colors.container_state
= "cyan"
# The charts y-axis
= "white"
# The bandwidth chart
[]
# Background color of panel
= "reset"
# Border color
= "white"
# Maximum RX value - again paused & stopped colors not yet customizable
= "#FFE9C1"
# Maximum TX value - again paused & stopped colors not yet customizable
= "#CD8C8C"
# RX points on the chart - again paused & stopped colors not yet customizable
= "#FFE9C1"
# TX points on the chart - again paused & stopped colors not yet customizable
= "#CD8C8C"
# TX title color
= "#FFE9C1"
# RX title color
= "#CD8C8C"
# The charts y-axis
= "white"
# The ports chart
[]
# Background color of panel
= "reset"
# Border color
= "white"
# Chart title - only whilst container is running, paused & stopped will use colors.container_state
= "green"
# Private/Public/IP headings
= "yellow"
# Ports & IP listing text
= "white"
# The help popup
[]
# Background color
= "magenta"
# Text color
= "black"
# Highlighted text color
= "white"
# The info popup - used to display small messages - such as saving logs to disk, or change of mouse capture settings
[]
# Background color
= "blue"
# Text color
= "white"
# The delete popup - used to display a confirmation warning when about to delete a container
[]
# Background color
= "white"
# Text color
= "black"
# Highlighted text color
= "red"
# The error popup - hopefully you'll never have to see this
[]
# Background color
= "red"
# Text color
= "white"