- Added TRUENAS_APPS.md with complete documentation of all 13 Docker containers - Documented container health status, networking, storage mounts, and configurations - Included disaster recovery export (truenas-apps-export-20251216-143515) with: - Individual container configs and metadata - Docker images, networks, volumes, and compose projects - App configuration and mount point listings - Updated README.md to reference TRUENAS_APPS.md in documentation index - Updated scribe.md timestamp This establishes comprehensive documentation for TrueNAS Scale Docker infrastructure including Plex, *arr stack (Sonarr/Radarr/Bazarr/Prowlarr), Deluge, Gluetun VPN, FlareSolverr, Dockge, and Beszel monitoring agent. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
373 lines
15 KiB
JSON
373 lines
15 KiB
JSON
[
|
|
{
|
|
"Id": "45f46edd892329eeb388a1aee9bccc1c4dfcb2846c8bf6359a4d596a03fa3de8",
|
|
"Created": "2025-12-13T03:11:22.027889022Z",
|
|
"Path": "/usr/bin/dumb-init",
|
|
"Args": [
|
|
"--",
|
|
"tsx",
|
|
"./backend/index.ts"
|
|
],
|
|
"State": {
|
|
"Status": "running",
|
|
"Running": true,
|
|
"Paused": false,
|
|
"Restarting": false,
|
|
"OOMKilled": false,
|
|
"Dead": false,
|
|
"Pid": 1804130,
|
|
"ExitCode": 0,
|
|
"Error": "",
|
|
"StartedAt": "2025-12-13T03:11:22.767025136Z",
|
|
"FinishedAt": "0001-01-01T00:00:00Z",
|
|
"Health": {
|
|
"Status": "healthy",
|
|
"FailingStreak": 0,
|
|
"Log": [
|
|
{
|
|
"Start": "2025-12-16T14:38:58.555267424-08:00",
|
|
"End": "2025-12-16T14:39:10.734379643-08:00",
|
|
"ExitCode": 0,
|
|
"Output": "2025/12/16 22:39:04 Checking http://127.0.0.1:31014\n2025/12/16 22:39:10 Health Check OK [Res Code: 200]\n"
|
|
},
|
|
{
|
|
"Start": "2025-12-16T14:39:40.829325405-08:00",
|
|
"End": "2025-12-16T14:39:45.867748467-08:00",
|
|
"ExitCode": 0,
|
|
"Output": "2025/12/16 22:39:42 Checking http://127.0.0.1:31014\n2025/12/16 22:39:45 Health Check OK [Res Code: 200]\n"
|
|
},
|
|
{
|
|
"Start": "2025-12-16T14:40:15.919365556-08:00",
|
|
"End": "2025-12-16T14:40:17.207591819-08:00",
|
|
"ExitCode": 0,
|
|
"Output": "2025/12/16 22:40:16 Checking http://127.0.0.1:31014\n2025/12/16 22:40:17 Health Check OK [Res Code: 200]\n"
|
|
},
|
|
{
|
|
"Start": "2025-12-16T14:40:47.208944738-08:00",
|
|
"End": "2025-12-16T14:40:49.806284907-08:00",
|
|
"ExitCode": 0,
|
|
"Output": "2025/12/16 22:40:48 Checking http://127.0.0.1:31014\n2025/12/16 22:40:49 Health Check OK [Res Code: 200]\n"
|
|
},
|
|
{
|
|
"Start": "2025-12-16T14:41:20.055210695-08:00",
|
|
"End": "2025-12-16T14:41:23.037258219-08:00",
|
|
"ExitCode": 0,
|
|
"Output": "2025/12/16 22:41:22 Checking http://127.0.0.1:31014\n2025/12/16 22:41:22 Health Check OK [Res Code: 200]\n"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"Image": "sha256:e85d511b2a8b883da8a1ac2fde39ecddacdc011734e9f89a14b7798d82d5a0d3",
|
|
"ResolvConfPath": "/mnt/.ix-apps/docker/containers/45f46edd892329eeb388a1aee9bccc1c4dfcb2846c8bf6359a4d596a03fa3de8/resolv.conf",
|
|
"HostnamePath": "/mnt/.ix-apps/docker/containers/45f46edd892329eeb388a1aee9bccc1c4dfcb2846c8bf6359a4d596a03fa3de8/hostname",
|
|
"HostsPath": "/mnt/.ix-apps/docker/containers/45f46edd892329eeb388a1aee9bccc1c4dfcb2846c8bf6359a4d596a03fa3de8/hosts",
|
|
"LogPath": "/mnt/.ix-apps/docker/containers/45f46edd892329eeb388a1aee9bccc1c4dfcb2846c8bf6359a4d596a03fa3de8/45f46edd892329eeb388a1aee9bccc1c4dfcb2846c8bf6359a4d596a03fa3de8-json.log",
|
|
"Name": "/ix-dockge-dockge-1",
|
|
"RestartCount": 0,
|
|
"Driver": "overlay2",
|
|
"Platform": "linux",
|
|
"MountLabel": "",
|
|
"ProcessLabel": "",
|
|
"AppArmorProfile": "docker-default",
|
|
"ExecIDs": null,
|
|
"HostConfig": {
|
|
"Binds": null,
|
|
"ContainerIDFile": "",
|
|
"LogConfig": {
|
|
"Type": "json-file",
|
|
"Config": {}
|
|
},
|
|
"NetworkMode": "ix-dockge_default",
|
|
"PortBindings": {
|
|
"31014/tcp": [
|
|
{
|
|
"HostIp": "",
|
|
"HostPort": "31014"
|
|
}
|
|
]
|
|
},
|
|
"RestartPolicy": {
|
|
"Name": "unless-stopped",
|
|
"MaximumRetryCount": 0
|
|
},
|
|
"AutoRemove": false,
|
|
"VolumeDriver": "",
|
|
"VolumesFrom": null,
|
|
"ConsoleSize": [
|
|
0,
|
|
0
|
|
],
|
|
"CapAdd": [
|
|
"CHOWN",
|
|
"DAC_OVERRIDE",
|
|
"FOWNER",
|
|
"KILL",
|
|
"SETFCAP",
|
|
"SETGID",
|
|
"SETPCAP",
|
|
"SETUID"
|
|
],
|
|
"CapDrop": [
|
|
"ALL"
|
|
],
|
|
"CgroupnsMode": "private",
|
|
"Dns": null,
|
|
"DnsOptions": null,
|
|
"DnsSearch": null,
|
|
"ExtraHosts": [],
|
|
"GroupAdd": [
|
|
"568",
|
|
"999"
|
|
],
|
|
"IpcMode": "private",
|
|
"Cgroup": "",
|
|
"Links": null,
|
|
"OomScoreAdj": 0,
|
|
"PidMode": "",
|
|
"Privileged": false,
|
|
"PublishAllPorts": false,
|
|
"ReadonlyRootfs": false,
|
|
"SecurityOpt": [
|
|
"no-new-privileges=true"
|
|
],
|
|
"UTSMode": "",
|
|
"UsernsMode": "",
|
|
"ShmSize": 67108864,
|
|
"Runtime": "runc",
|
|
"Isolation": "",
|
|
"CpuShares": 0,
|
|
"Memory": 2147483648,
|
|
"NanoCpus": 2000000000,
|
|
"CgroupParent": "",
|
|
"BlkioWeight": 0,
|
|
"BlkioWeightDevice": null,
|
|
"BlkioDeviceReadBps": null,
|
|
"BlkioDeviceWriteBps": null,
|
|
"BlkioDeviceReadIOps": null,
|
|
"BlkioDeviceWriteIOps": null,
|
|
"CpuPeriod": 0,
|
|
"CpuQuota": 0,
|
|
"CpuRealtimePeriod": 0,
|
|
"CpuRealtimeRuntime": 0,
|
|
"CpusetCpus": "",
|
|
"CpusetMems": "",
|
|
"Devices": null,
|
|
"DeviceCgroupRules": null,
|
|
"DeviceRequests": null,
|
|
"MemoryReservation": 0,
|
|
"MemorySwap": 4294967296,
|
|
"MemorySwappiness": null,
|
|
"OomKillDisable": null,
|
|
"PidsLimit": null,
|
|
"Ulimits": null,
|
|
"CpuCount": 0,
|
|
"CpuPercent": 0,
|
|
"IOMaximumIOps": 0,
|
|
"IOMaximumBandwidth": 0,
|
|
"Mounts": [
|
|
{
|
|
"Type": "bind",
|
|
"Source": "/mnt/.ix-apps/app_mounts/dockge/data",
|
|
"Target": "/app/data",
|
|
"BindOptions": {
|
|
"Propagation": "rprivate"
|
|
}
|
|
},
|
|
{
|
|
"Type": "bind",
|
|
"Source": "/mnt/.ix-apps/app_mounts/dockge/stacks",
|
|
"Target": "/mnt/.ix-apps/app_mounts/dockge/stacks",
|
|
"BindOptions": {
|
|
"Propagation": "rprivate"
|
|
}
|
|
},
|
|
{
|
|
"Type": "bind",
|
|
"Source": "/var/run/docker.sock",
|
|
"Target": "/var/run/docker.sock",
|
|
"BindOptions": {
|
|
"Propagation": "rprivate"
|
|
}
|
|
}
|
|
],
|
|
"MaskedPaths": [
|
|
"/proc/asound",
|
|
"/proc/acpi",
|
|
"/proc/kcore",
|
|
"/proc/keys",
|
|
"/proc/latency_stats",
|
|
"/proc/timer_list",
|
|
"/proc/timer_stats",
|
|
"/proc/sched_debug",
|
|
"/proc/scsi",
|
|
"/sys/firmware",
|
|
"/sys/devices/virtual/powercap"
|
|
],
|
|
"ReadonlyPaths": [
|
|
"/proc/bus",
|
|
"/proc/fs",
|
|
"/proc/irq",
|
|
"/proc/sys",
|
|
"/proc/sysrq-trigger"
|
|
]
|
|
},
|
|
"GraphDriver": {
|
|
"Data": {
|
|
"LowerDir": "/mnt/.ix-apps/docker/overlay2/a102609f0cc90498aed422e0740bfc0e697f2a558ef0e5bc807e0552e1ded48d-init/diff:/mnt/.ix-apps/docker/overlay2/c36dcef7eb2a059ae6ce1252324ab7b5d4d09d2ebcc3d7d96f2e8376be43f6af/diff:/mnt/.ix-apps/docker/overlay2/207eafe7378174a9cdb72be7286196bfbb10d2b6f9c4aa97bf41d911014a31f2/diff:/mnt/.ix-apps/docker/overlay2/2a6f5694a15ead5822e9e80d4ed904ac3a865bb346bc2a8b5dab9856b1bf4939/diff:/mnt/.ix-apps/docker/overlay2/a4f87c9cf46077106143fdbb1ee4b23d34a26bc982dd4756186cf0059223fe1d/diff:/mnt/.ix-apps/docker/overlay2/0c15b9eef43e2388b6bb8b72050291dd64cf9098e0672ccd5c5baccb0083e822/diff:/mnt/.ix-apps/docker/overlay2/4affd0ce44d8229a7008e830b400850e7ca808d8d77cccb24ffe01ab6f2aa260/diff:/mnt/.ix-apps/docker/overlay2/b1f09e3f4dfb74fdaf4edd76cf3017d75c7421e0035d3526ccf62a121227f191/diff:/mnt/.ix-apps/docker/overlay2/60aba600d05d15d256a5e48c9182b1d23ad57be9d72a4e4238eea50cfdeabc4e/diff:/mnt/.ix-apps/docker/overlay2/46467ae29992496dbd6a1be55aec49de83dc13fbd30075527df7a755e413dee0/diff:/mnt/.ix-apps/docker/overlay2/d38972633c64f20fcc30ee91ba0a2a7e29e4b20ab3f09d9a258200f20eaeab36/diff:/mnt/.ix-apps/docker/overlay2/52f8abdac3da22b951264e9e8c07743bf7120c1f94e487a83cc6445801c786fe/diff",
|
|
"MergedDir": "/mnt/.ix-apps/docker/overlay2/a102609f0cc90498aed422e0740bfc0e697f2a558ef0e5bc807e0552e1ded48d/merged",
|
|
"UpperDir": "/mnt/.ix-apps/docker/overlay2/a102609f0cc90498aed422e0740bfc0e697f2a558ef0e5bc807e0552e1ded48d/diff",
|
|
"WorkDir": "/mnt/.ix-apps/docker/overlay2/a102609f0cc90498aed422e0740bfc0e697f2a558ef0e5bc807e0552e1ded48d/work"
|
|
},
|
|
"Name": "overlay2"
|
|
},
|
|
"Mounts": [
|
|
{
|
|
"Type": "bind",
|
|
"Source": "/mnt/.ix-apps/app_mounts/dockge/data",
|
|
"Destination": "/app/data",
|
|
"Mode": "",
|
|
"RW": true,
|
|
"Propagation": "rprivate"
|
|
},
|
|
{
|
|
"Type": "bind",
|
|
"Source": "/mnt/.ix-apps/app_mounts/dockge/stacks",
|
|
"Destination": "/mnt/.ix-apps/app_mounts/dockge/stacks",
|
|
"Mode": "",
|
|
"RW": true,
|
|
"Propagation": "rprivate"
|
|
},
|
|
{
|
|
"Type": "bind",
|
|
"Source": "/var/run/docker.sock",
|
|
"Destination": "/var/run/docker.sock",
|
|
"Mode": "",
|
|
"RW": true,
|
|
"Propagation": "rprivate"
|
|
}
|
|
],
|
|
"Config": {
|
|
"Hostname": "45f46edd8923",
|
|
"Domainname": "",
|
|
"User": "0:0",
|
|
"AttachStdin": false,
|
|
"AttachStdout": true,
|
|
"AttachStderr": true,
|
|
"ExposedPorts": {
|
|
"31014/tcp": {},
|
|
"5001/tcp": {}
|
|
},
|
|
"Tty": false,
|
|
"OpenStdin": false,
|
|
"StdinOnce": false,
|
|
"Env": [
|
|
"NODE_ENV=production",
|
|
"NVIDIA_VISIBLE_DEVICES=void",
|
|
"TZ=Etc/UTC",
|
|
"UMASK=002",
|
|
"UMASK_SET=002",
|
|
"DOCKGE_DATA_DIR=/app/data",
|
|
"DOCKGE_PORT=31014",
|
|
"DOCKGE_STACKS_DIR=/mnt/.ix-apps/app_mounts/dockge/stacks",
|
|
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
|
|
"NODE_VERSION=22.14.0",
|
|
"YARN_VERSION=1.22.22",
|
|
"UV_USE_IO_URING=0"
|
|
],
|
|
"Cmd": [
|
|
"tsx",
|
|
"./backend/index.ts"
|
|
],
|
|
"Healthcheck": {
|
|
"Test": [
|
|
"CMD-SHELL",
|
|
"/app/extra/healthcheck"
|
|
],
|
|
"Interval": 30000000000,
|
|
"Timeout": 5000000000,
|
|
"StartPeriod": 15000000000,
|
|
"StartInterval": 2000000000,
|
|
"Retries": 5
|
|
},
|
|
"Image": "louislam/dockge:1.5.0",
|
|
"Volumes": {
|
|
"/app/data": {}
|
|
},
|
|
"WorkingDir": "/app",
|
|
"Entrypoint": [
|
|
"/usr/bin/dumb-init",
|
|
"--"
|
|
],
|
|
"OnBuild": null,
|
|
"Labels": {
|
|
"com.docker.compose.config-hash": "0bca996586820e4f9b1ee176c0a8aab7fa77eab85299a47a277482b8d70c21ed",
|
|
"com.docker.compose.container-number": "1",
|
|
"com.docker.compose.depends_on": "",
|
|
"com.docker.compose.image": "sha256:e85d511b2a8b883da8a1ac2fde39ecddacdc011734e9f89a14b7798d82d5a0d3",
|
|
"com.docker.compose.oneoff": "False",
|
|
"com.docker.compose.project": "ix-dockge",
|
|
"com.docker.compose.project.config_files": "/mnt/.ix-apps/app_configs/dockge/versions/1.2.14/templates/rendered/docker-compose.yaml",
|
|
"com.docker.compose.project.working_dir": "/mnt/.ix-apps/app_configs/dockge/versions/1.2.14/templates/rendered",
|
|
"com.docker.compose.service": "dockge",
|
|
"com.docker.compose.version": "2.32.3"
|
|
}
|
|
},
|
|
"NetworkSettings": {
|
|
"Bridge": "",
|
|
"SandboxID": "2a9400eda27d3e7983da5aefea250d9ae38c16bd39325ae314c13201b2450065",
|
|
"SandboxKey": "/var/run/docker/netns/2a9400eda27d",
|
|
"Ports": {
|
|
"31014/tcp": [
|
|
{
|
|
"HostIp": "0.0.0.0",
|
|
"HostPort": "31014"
|
|
},
|
|
{
|
|
"HostIp": "::",
|
|
"HostPort": "31014"
|
|
}
|
|
],
|
|
"5001/tcp": null
|
|
},
|
|
"HairpinMode": false,
|
|
"LinkLocalIPv6Address": "",
|
|
"LinkLocalIPv6PrefixLen": 0,
|
|
"SecondaryIPAddresses": null,
|
|
"SecondaryIPv6Addresses": null,
|
|
"EndpointID": "",
|
|
"Gateway": "",
|
|
"GlobalIPv6Address": "",
|
|
"GlobalIPv6PrefixLen": 0,
|
|
"IPAddress": "",
|
|
"IPPrefixLen": 0,
|
|
"IPv6Gateway": "",
|
|
"MacAddress": "",
|
|
"Networks": {
|
|
"ix-dockge_default": {
|
|
"IPAMConfig": null,
|
|
"Links": null,
|
|
"Aliases": [
|
|
"ix-dockge-dockge-1",
|
|
"dockge"
|
|
],
|
|
"MacAddress": "02:42:ac:10:02:02",
|
|
"DriverOpts": null,
|
|
"NetworkID": "739809fb93c9d322132f39f363afda57c6bb81cbdbb95300ad0a6164bc663fc2",
|
|
"EndpointID": "8ce1275238502a38ac6b16f87899748548dd211bfdad641ba50dd86bf09f4089",
|
|
"Gateway": "172.16.2.1",
|
|
"IPAddress": "172.16.2.2",
|
|
"IPPrefixLen": 24,
|
|
"IPv6Gateway": "fdd0:0:0:2::1",
|
|
"GlobalIPv6Address": "fdd0:0:0:2::2",
|
|
"GlobalIPv6PrefixLen": 64,
|
|
"DNSNames": [
|
|
"ix-dockge-dockge-1",
|
|
"dockge",
|
|
"45f46edd8923"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|