From ea19c7d80d1d4253f2db13221b2dbca519efa97b Mon Sep 17 00:00:00 2001 From: admin Date: Mon, 4 May 2026 00:09:26 +0800 Subject: [PATCH] Add full server configuration backup --- README.md | 44 + Caddyfile => caddy/Caddyfile | 0 docker/docker-inspect.json | 1700 +++++++++++++++++++ docker/docker-ps.txt | 8 + docker/run-commands.md | 78 + prometheus.yml => prometheus/prometheus.yml | 0 scripts/backup-server-config.sh | 22 + system/disk-usage.txt | 9 + system/listening-ports.txt | 24 + system/memory-usage.txt | 3 + system/os-release.txt | 5 + 11 files changed, 1893 insertions(+) create mode 100644 README.md rename Caddyfile => caddy/Caddyfile (100%) create mode 100644 docker/docker-inspect.json create mode 100644 docker/docker-ps.txt create mode 100644 docker/run-commands.md rename prometheus.yml => prometheus/prometheus.yml (100%) create mode 100755 scripts/backup-server-config.sh create mode 100644 system/disk-usage.txt create mode 100644 system/listening-ports.txt create mode 100644 system/memory-usage.txt create mode 100644 system/os-release.txt diff --git a/README.md b/README.md new file mode 100644 index 0000000..cf7dfc5 --- /dev/null +++ b/README.md @@ -0,0 +1,44 @@ +# Oracle Ubuntu Personal Cloud Server Config + +## Server + +- Hostname: oracle-ubuntu-pan +- Public IP: 161.118.195.251 +- Main domain: b510.duckdns.org + +## Services + +| Service | URL | Local Port | Data Directory | +|---|---|---|---| +| File Browser | https://b510.duckdns.org | 127.0.0.1:8080 | /data/cloud, /opt/filebrowser | +| Uptime Kuma | https://status-b510.duckdns.org | 127.0.0.1:3001 | /opt/uptime-kuma | +| Memos | https://memos-b510.duckdns.org | 127.0.0.1:5230 | /opt/memos | +| Grafana | https://grafana-b510.duckdns.org | 127.0.0.1:3000 | /opt/grafana | +| Prometheus | local only | 127.0.0.1:9090 | /opt/prometheus | +| Node Exporter | local only | 127.0.0.1:9100 | Docker container | +| Gitea | https://git-b510.duckdns.org | 127.0.0.1:3002 | /opt/gitea | + +## Important Paths + +- Caddy config: /etc/caddy/Caddyfile +- Cloud files: /data/cloud +- Server backup: /data/cloud/server-backup +- Prometheus config: /opt/prometheus/prometheus.yml + +## Common Commands + +```bash +docker ps +docker logs filebrowser --tail 50 +docker logs uptime-kuma --tail 50 +docker logs memos --tail 50 +docker logs prometheus --tail 50 +docker logs grafana --tail 50 +docker logs gitea --tail 50 + +sudo systemctl status caddy --no-pager -l +sudo journalctl -u caddy --no-pager -n 50 + +# Restart Core Services +docker restart filebrowser uptime-kuma memos prometheus node-exporter grafana gitea +sudo systemctl restart caddy diff --git a/Caddyfile b/caddy/Caddyfile similarity index 100% rename from Caddyfile rename to caddy/Caddyfile diff --git a/docker/docker-inspect.json b/docker/docker-inspect.json new file mode 100644 index 0000000..0fee227 --- /dev/null +++ b/docker/docker-inspect.json @@ -0,0 +1,1700 @@ +[ + { + "Id": "3e0928340f9fb1c0eed74753bec2a62871301e5061769cc205b67af3e4d50be7", + "Created": "2026-05-03T13:59:46.16435175Z", + "Path": "tini", + "Args": [ + "--", + "/init.sh", + "--database", + "/database/filebrowser.db", + "--config", + "/config/settings.json" + ], + "State": { + "Status": "running", + "Running": true, + "Paused": false, + "Restarting": false, + "OOMKilled": false, + "Dead": false, + "Pid": 23350, + "ExitCode": 0, + "Error": "", + "StartedAt": "2026-05-03T14:00:55.178095088Z", + "FinishedAt": "2026-05-03T14:00:41.775510854Z", + "Health": { + "Status": "healthy", + "FailingStreak": 0, + "Log": [ + { + "Start": "2026-05-04T00:04:17.386500934+08:00", + "End": "2026-05-04T00:04:17.432216086+08:00", + "ExitCode": 0, + "Output": "" + }, + { + "Start": "2026-05-04T00:04:22.432947699+08:00", + "End": "2026-05-04T00:04:22.475326112+08:00", + "ExitCode": 0, + "Output": "" + }, + { + "Start": "2026-05-04T00:04:27.476800532+08:00", + "End": "2026-05-04T00:04:27.521260016+08:00", + "ExitCode": 0, + "Output": "" + }, + { + "Start": "2026-05-04T00:04:32.522269116+08:00", + "End": "2026-05-04T00:04:32.565613024+08:00", + "ExitCode": 0, + "Output": "" + }, + { + "Start": "2026-05-04T00:04:37.567920848+08:00", + "End": "2026-05-04T00:04:37.611716331+08:00", + "ExitCode": 0, + "Output": "" + } + ] + } + }, + "Image": "sha256:4dce87308b9f9cfbcf8d0a284fc9565d2b515530a6bae2d920b388161e093f26", + "ResolvConfPath": "/var/lib/docker/containers/3e0928340f9fb1c0eed74753bec2a62871301e5061769cc205b67af3e4d50be7/resolv.conf", + "HostnamePath": "/var/lib/docker/containers/3e0928340f9fb1c0eed74753bec2a62871301e5061769cc205b67af3e4d50be7/hostname", + "HostsPath": "/var/lib/docker/containers/3e0928340f9fb1c0eed74753bec2a62871301e5061769cc205b67af3e4d50be7/hosts", + "LogPath": "/var/lib/docker/containers/3e0928340f9fb1c0eed74753bec2a62871301e5061769cc205b67af3e4d50be7/3e0928340f9fb1c0eed74753bec2a62871301e5061769cc205b67af3e4d50be7-json.log", + "Name": "/filebrowser", + "RestartCount": 0, + "Driver": "overlayfs", + "Platform": "linux", + "MountLabel": "", + "ProcessLabel": "", + "AppArmorProfile": "docker-default", + "ExecIDs": null, + "HostConfig": { + "Binds": [ + "/data/cloud:/srv", + "/opt/filebrowser/database:/database", + "/opt/filebrowser/config:/config" + ], + "ContainerIDFile": "", + "LogConfig": { + "Type": "json-file", + "Config": {} + }, + "NetworkMode": "bridge", + "PortBindings": { + "80/tcp": [ + { + "HostIp": "127.0.0.1", + "HostPort": "8080" + } + ] + }, + "RestartPolicy": { + "Name": "unless-stopped", + "MaximumRetryCount": 0 + }, + "AutoRemove": false, + "VolumeDriver": "", + "VolumesFrom": null, + "ConsoleSize": [ + 25, + 94 + ], + "CapAdd": null, + "CapDrop": null, + "CgroupnsMode": "private", + "Dns": null, + "DnsOptions": [], + "DnsSearch": [], + "ExtraHosts": null, + "GroupAdd": null, + "IpcMode": "private", + "Cgroup": "", + "Links": null, + "OomScoreAdj": 0, + "PidMode": "", + "Privileged": false, + "PublishAllPorts": false, + "ReadonlyRootfs": false, + "SecurityOpt": null, + "UTSMode": "", + "UsernsMode": "", + "ShmSize": 67108864, + "Runtime": "runc", + "Isolation": "", + "CpuShares": 0, + "Memory": 0, + "NanoCpus": 0, + "CgroupParent": "", + "BlkioWeight": 0, + "BlkioWeightDevice": [], + "BlkioDeviceReadBps": [], + "BlkioDeviceWriteBps": [], + "BlkioDeviceReadIOps": [], + "BlkioDeviceWriteIOps": [], + "CpuPeriod": 0, + "CpuQuota": 0, + "CpuRealtimePeriod": 0, + "CpuRealtimeRuntime": 0, + "CpusetCpus": "", + "CpusetMems": "", + "Devices": [], + "DeviceCgroupRules": null, + "DeviceRequests": null, + "MemoryReservation": 0, + "MemorySwap": 0, + "MemorySwappiness": null, + "OomKillDisable": null, + "PidsLimit": null, + "Ulimits": [], + "CpuCount": 0, + "CpuPercent": 0, + "IOMaximumIOps": 0, + "IOMaximumBandwidth": 0, + "MaskedPaths": [ + "/proc/acpi", + "/proc/asound", + "/proc/interrupts", + "/proc/kcore", + "/proc/keys", + "/proc/latency_stats", + "/proc/sched_debug", + "/proc/scsi", + "/proc/timer_list", + "/proc/timer_stats", + "/sys/devices/virtual/powercap", + "/sys/firmware" + ], + "ReadonlyPaths": [ + "/proc/bus", + "/proc/fs", + "/proc/irq", + "/proc/sys", + "/proc/sysrq-trigger" + ] + }, + "Storage": { + "RootFS": { + "Snapshot": { + "Name": "overlayfs" + } + } + }, + "Mounts": [ + { + "Type": "bind", + "Source": "/data/cloud", + "Destination": "/srv", + "Mode": "", + "RW": true, + "Propagation": "rprivate" + }, + { + "Type": "bind", + "Source": "/opt/filebrowser/database", + "Destination": "/database", + "Mode": "", + "RW": true, + "Propagation": "rprivate" + }, + { + "Type": "bind", + "Source": "/opt/filebrowser/config", + "Destination": "/config", + "Mode": "", + "RW": true, + "Propagation": "rprivate" + } + ], + "Config": { + "Hostname": "3e0928340f9f", + "Domainname": "", + "User": "1001:1001", + "AttachStdin": false, + "AttachStdout": false, + "AttachStderr": false, + "ExposedPorts": { + "80/tcp": {} + }, + "Tty": false, + "OpenStdin": false, + "StdinOnce": false, + "Env": [ + "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", + "UID=1000", + "GID=1000" + ], + "Cmd": [ + "--database", + "/database/filebrowser.db", + "--config", + "/config/settings.json" + ], + "Healthcheck": { + "Test": [ + "CMD-SHELL", + "/healthcheck.sh" + ], + "Interval": 5000000000, + "Timeout": 3000000000, + "StartPeriod": 2000000000 + }, + "Image": "filebrowser/filebrowser", + "Volumes": { + "/config": {}, + "/database": {}, + "/srv": {} + }, + "WorkingDir": "", + "Entrypoint": [ + "tini", + "--", + "/init.sh" + ], + "Labels": { + "org.opencontainers.image.created": "2026-04-11T05:59:28Z", + "org.opencontainers.image.name": "filebrowser", + "org.opencontainers.image.revision": "7970c26cbcb8c7dc8abf12f95fe2b97d6c89d577", + "org.opencontainers.image.source": "https://github.com/filebrowser/filebrowser", + "org.opencontainers.image.version": "2.63.2" + } + }, + "NetworkSettings": { + "SandboxID": "321777a43a660141f74ef0e60259ad4079696026a3a6390abf5ab5d3d964d3d8", + "SandboxKey": "/var/run/docker/netns/321777a43a66", + "Ports": { + "80/tcp": [ + { + "HostIp": "127.0.0.1", + "HostPort": "8080" + } + ] + }, + "Networks": { + "bridge": { + "IPAMConfig": null, + "Links": null, + "Aliases": null, + "DriverOpts": null, + "GwPriority": 0, + "NetworkID": "a3f00a7736c485d162975d047f751907ce4a0489308b4efd7aac4ad19c97cba5", + "EndpointID": "845201cc18a788e8b351bd07bb805fc2df554584bbcda6cb78215165486c09e4", + "Gateway": "172.17.0.1", + "IPAddress": "172.17.0.2", + "MacAddress": "86:b7:4f:1f:60:17", + "IPPrefixLen": 16, + "IPv6Gateway": "", + "GlobalIPv6Address": "", + "GlobalIPv6PrefixLen": 0, + "DNSNames": null + } + } + }, + "ImageManifestDescriptor": { + "mediaType": "application/vnd.docker.distribution.manifest.v2+json", + "digest": "sha256:11cab038d4b80a44b98554004639be25229d176deee25f610c477f7296ac4524", + "size": 2818, + "platform": { + "architecture": "amd64", + "os": "linux" + } + } + }, + { + "Id": "b04259eecf4f51ec60695d7507af4f1e4fe81d2ef2334626933b93edd797aef2", + "Created": "2026-05-03T15:02:17.240379662Z", + "Path": "/usr/bin/dumb-init", + "Args": [ + "--", + "extra/entrypoint.sh", + "node", + "server/server.js" + ], + "State": { + "Status": "running", + "Running": true, + "Paused": false, + "Restarting": false, + "OOMKilled": false, + "Dead": false, + "Pid": 67094, + "ExitCode": 0, + "Error": "", + "StartedAt": "2026-05-03T15:02:21.91470227Z", + "FinishedAt": "0001-01-01T00:00:00Z", + "Health": { + "Status": "healthy", + "FailingStreak": 0, + "Log": [ + { + "Start": "2026-05-04T00:00:29.282078252+08:00", + "End": "2026-05-04T00:00:29.318925764+08:00", + "ExitCode": 0, + "Output": "2026/05/03 16:00:29 Checking http://127.0.0.1:3001\n2026/05/03 16:00:29 Health Check OK [Res Code: 200]\n" + }, + { + "Start": "2026-05-04T00:01:29.319942328+08:00", + "End": "2026-05-04T00:01:29.355761302+08:00", + "ExitCode": 0, + "Output": "2026/05/03 16:01:29 Checking http://127.0.0.1:3001\n2026/05/03 16:01:29 Health Check OK [Res Code: 200]\n" + }, + { + "Start": "2026-05-04T00:02:29.358491237+08:00", + "End": "2026-05-04T00:02:29.39562258+08:00", + "ExitCode": 0, + "Output": "2026/05/03 16:02:29 Checking http://127.0.0.1:3001\n2026/05/03 16:02:29 Health Check OK [Res Code: 200]\n" + }, + { + "Start": "2026-05-04T00:03:29.398028866+08:00", + "End": "2026-05-04T00:03:29.435111115+08:00", + "ExitCode": 0, + "Output": "2026/05/03 16:03:29 Checking http://127.0.0.1:3001\n2026/05/03 16:03:29 Health Check OK [Res Code: 200]\n" + }, + { + "Start": "2026-05-04T00:04:29.436613227+08:00", + "End": "2026-05-04T00:04:29.471856721+08:00", + "ExitCode": 0, + "Output": "2026/05/03 16:04:29 Checking http://127.0.0.1:3001\n2026/05/03 16:04:29 Health Check OK [Res Code: 200]\n" + } + ] + } + }, + "Image": "sha256:3d632903e6af34139a37f18055c4f1bfd9b7205ae1138f1e5e8940ddc1d176f9", + "ResolvConfPath": "/var/lib/docker/containers/b04259eecf4f51ec60695d7507af4f1e4fe81d2ef2334626933b93edd797aef2/resolv.conf", + "HostnamePath": "/var/lib/docker/containers/b04259eecf4f51ec60695d7507af4f1e4fe81d2ef2334626933b93edd797aef2/hostname", + "HostsPath": "/var/lib/docker/containers/b04259eecf4f51ec60695d7507af4f1e4fe81d2ef2334626933b93edd797aef2/hosts", + "LogPath": "/var/lib/docker/containers/b04259eecf4f51ec60695d7507af4f1e4fe81d2ef2334626933b93edd797aef2/b04259eecf4f51ec60695d7507af4f1e4fe81d2ef2334626933b93edd797aef2-json.log", + "Name": "/uptime-kuma", + "RestartCount": 0, + "Driver": "overlayfs", + "Platform": "linux", + "MountLabel": "", + "ProcessLabel": "", + "AppArmorProfile": "docker-default", + "ExecIDs": null, + "HostConfig": { + "Binds": [ + "/opt/uptime-kuma:/app/data" + ], + "ContainerIDFile": "", + "LogConfig": { + "Type": "json-file", + "Config": {} + }, + "NetworkMode": "bridge", + "PortBindings": { + "3001/tcp": [ + { + "HostIp": "127.0.0.1", + "HostPort": "3001" + } + ] + }, + "RestartPolicy": { + "Name": "unless-stopped", + "MaximumRetryCount": 0 + }, + "AutoRemove": false, + "VolumeDriver": "", + "VolumesFrom": null, + "ConsoleSize": [ + 25, + 156 + ], + "CapAdd": null, + "CapDrop": null, + "CgroupnsMode": "private", + "Dns": null, + "DnsOptions": [], + "DnsSearch": [], + "ExtraHosts": null, + "GroupAdd": null, + "IpcMode": "private", + "Cgroup": "", + "Links": null, + "OomScoreAdj": 0, + "PidMode": "", + "Privileged": false, + "PublishAllPorts": false, + "ReadonlyRootfs": false, + "SecurityOpt": null, + "UTSMode": "", + "UsernsMode": "", + "ShmSize": 67108864, + "Runtime": "runc", + "Isolation": "", + "CpuShares": 0, + "Memory": 0, + "NanoCpus": 0, + "CgroupParent": "", + "BlkioWeight": 0, + "BlkioWeightDevice": [], + "BlkioDeviceReadBps": [], + "BlkioDeviceWriteBps": [], + "BlkioDeviceReadIOps": [], + "BlkioDeviceWriteIOps": [], + "CpuPeriod": 0, + "CpuQuota": 0, + "CpuRealtimePeriod": 0, + "CpuRealtimeRuntime": 0, + "CpusetCpus": "", + "CpusetMems": "", + "Devices": [], + "DeviceCgroupRules": null, + "DeviceRequests": null, + "MemoryReservation": 0, + "MemorySwap": 0, + "MemorySwappiness": null, + "OomKillDisable": null, + "PidsLimit": null, + "Ulimits": [], + "CpuCount": 0, + "CpuPercent": 0, + "IOMaximumIOps": 0, + "IOMaximumBandwidth": 0, + "MaskedPaths": [ + "/proc/acpi", + "/proc/asound", + "/proc/interrupts", + "/proc/kcore", + "/proc/keys", + "/proc/latency_stats", + "/proc/sched_debug", + "/proc/scsi", + "/proc/timer_list", + "/proc/timer_stats", + "/sys/devices/virtual/powercap", + "/sys/firmware" + ], + "ReadonlyPaths": [ + "/proc/bus", + "/proc/fs", + "/proc/irq", + "/proc/sys", + "/proc/sysrq-trigger" + ] + }, + "Storage": { + "RootFS": { + "Snapshot": { + "Name": "overlayfs" + } + } + }, + "Mounts": [ + { + "Type": "bind", + "Source": "/opt/uptime-kuma", + "Destination": "/app/data", + "Mode": "", + "RW": true, + "Propagation": "rprivate" + } + ], + "Config": { + "Hostname": "b04259eecf4f", + "Domainname": "", + "User": "", + "AttachStdin": false, + "AttachStdout": false, + "AttachStderr": false, + "ExposedPorts": { + "3001/tcp": {} + }, + "Tty": false, + "OpenStdin": false, + "StdinOnce": false, + "Env": [ + "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", + "NODE_VERSION=18.20.3", + "YARN_VERSION=1.22.19", + "UPTIME_KUMA_IS_CONTAINER=1" + ], + "Cmd": [ + "node", + "server/server.js" + ], + "Healthcheck": { + "Test": [ + "CMD-SHELL", + "extra/healthcheck" + ], + "Interval": 60000000000, + "Timeout": 30000000000, + "StartPeriod": 180000000000, + "Retries": 5 + }, + "Image": "louislam/uptime-kuma:1", + "Volumes": { + "/app/data": {} + }, + "WorkingDir": "/app", + "Entrypoint": [ + "/usr/bin/dumb-init", + "--", + "extra/entrypoint.sh" + ], + "Labels": {} + }, + "NetworkSettings": { + "SandboxID": "c14099a6b461a336e4d6654d52a977d8306b4bd610a82103e178d59eaf1857e1", + "SandboxKey": "/var/run/docker/netns/c14099a6b461", + "Ports": { + "3001/tcp": [ + { + "HostIp": "127.0.0.1", + "HostPort": "3001" + } + ] + }, + "Networks": { + "bridge": { + "IPAMConfig": null, + "Links": null, + "Aliases": null, + "DriverOpts": null, + "GwPriority": 0, + "NetworkID": "a3f00a7736c485d162975d047f751907ce4a0489308b4efd7aac4ad19c97cba5", + "EndpointID": "55890d247b9cedd95d2f9896365372dc1b6efc55257ada8bd78ca952449fc534", + "Gateway": "172.17.0.1", + "IPAddress": "172.17.0.3", + "MacAddress": "d2:7a:d1:8f:30:d4", + "IPPrefixLen": 16, + "IPv6Gateway": "", + "GlobalIPv6Address": "", + "GlobalIPv6PrefixLen": 0, + "DNSNames": null + } + } + }, + "ImageManifestDescriptor": { + "mediaType": "application/vnd.oci.image.manifest.v1+json", + "digest": "sha256:0f6c88f1e5f98146dcc2ca8408d2982e2d25db968be14ff718e10a59c9a84938", + "size": 2762, + "platform": { + "architecture": "amd64", + "os": "linux" + } + } + }, + { + "Id": "5a027e9f068819b7e30f265ecda031c984a443cf95c3403c51d6878cd3b3bf67", + "Created": "2026-05-03T15:13:38.23858055Z", + "Path": "/usr/local/memos/entrypoint.sh", + "Args": [ + "/usr/local/memos/memos" + ], + "State": { + "Status": "running", + "Running": true, + "Paused": false, + "Restarting": false, + "OOMKilled": false, + "Dead": false, + "Pid": 75233, + "ExitCode": 0, + "Error": "", + "StartedAt": "2026-05-03T15:13:38.854090148Z", + "FinishedAt": "0001-01-01T00:00:00Z" + }, + "Image": "sha256:06066de94333c091ee67c2ad5dec5f15bf5f35b31498c90092f9915dd05e9f92", + "ResolvConfPath": "/var/lib/docker/containers/5a027e9f068819b7e30f265ecda031c984a443cf95c3403c51d6878cd3b3bf67/resolv.conf", + "HostnamePath": "/var/lib/docker/containers/5a027e9f068819b7e30f265ecda031c984a443cf95c3403c51d6878cd3b3bf67/hostname", + "HostsPath": "/var/lib/docker/containers/5a027e9f068819b7e30f265ecda031c984a443cf95c3403c51d6878cd3b3bf67/hosts", + "LogPath": "/var/lib/docker/containers/5a027e9f068819b7e30f265ecda031c984a443cf95c3403c51d6878cd3b3bf67/5a027e9f068819b7e30f265ecda031c984a443cf95c3403c51d6878cd3b3bf67-json.log", + "Name": "/memos", + "RestartCount": 0, + "Driver": "overlayfs", + "Platform": "linux", + "MountLabel": "", + "ProcessLabel": "", + "AppArmorProfile": "docker-default", + "ExecIDs": null, + "HostConfig": { + "Binds": [ + "/opt/memos:/var/opt/memos" + ], + "ContainerIDFile": "", + "LogConfig": { + "Type": "json-file", + "Config": {} + }, + "NetworkMode": "bridge", + "PortBindings": { + "5230/tcp": [ + { + "HostIp": "127.0.0.1", + "HostPort": "5230" + } + ] + }, + "RestartPolicy": { + "Name": "unless-stopped", + "MaximumRetryCount": 0 + }, + "AutoRemove": false, + "VolumeDriver": "", + "VolumesFrom": null, + "ConsoleSize": [ + 25, + 77 + ], + "CapAdd": null, + "CapDrop": null, + "CgroupnsMode": "private", + "Dns": null, + "DnsOptions": [], + "DnsSearch": [], + "ExtraHosts": null, + "GroupAdd": null, + "IpcMode": "private", + "Cgroup": "", + "Links": null, + "OomScoreAdj": 0, + "PidMode": "", + "Privileged": false, + "PublishAllPorts": false, + "ReadonlyRootfs": false, + "SecurityOpt": null, + "UTSMode": "", + "UsernsMode": "", + "ShmSize": 67108864, + "Runtime": "runc", + "Isolation": "", + "CpuShares": 0, + "Memory": 0, + "NanoCpus": 0, + "CgroupParent": "", + "BlkioWeight": 0, + "BlkioWeightDevice": [], + "BlkioDeviceReadBps": [], + "BlkioDeviceWriteBps": [], + "BlkioDeviceReadIOps": [], + "BlkioDeviceWriteIOps": [], + "CpuPeriod": 0, + "CpuQuota": 0, + "CpuRealtimePeriod": 0, + "CpuRealtimeRuntime": 0, + "CpusetCpus": "", + "CpusetMems": "", + "Devices": [], + "DeviceCgroupRules": null, + "DeviceRequests": null, + "MemoryReservation": 0, + "MemorySwap": 0, + "MemorySwappiness": null, + "OomKillDisable": null, + "PidsLimit": null, + "Ulimits": [], + "CpuCount": 0, + "CpuPercent": 0, + "IOMaximumIOps": 0, + "IOMaximumBandwidth": 0, + "MaskedPaths": [ + "/proc/acpi", + "/proc/asound", + "/proc/interrupts", + "/proc/kcore", + "/proc/keys", + "/proc/latency_stats", + "/proc/sched_debug", + "/proc/scsi", + "/proc/timer_list", + "/proc/timer_stats", + "/sys/devices/virtual/powercap", + "/sys/firmware" + ], + "ReadonlyPaths": [ + "/proc/bus", + "/proc/fs", + "/proc/irq", + "/proc/sys", + "/proc/sysrq-trigger" + ] + }, + "Storage": { + "RootFS": { + "Snapshot": { + "Name": "overlayfs" + } + } + }, + "Mounts": [ + { + "Type": "bind", + "Source": "/opt/memos", + "Destination": "/var/opt/memos", + "Mode": "", + "RW": true, + "Propagation": "rprivate" + } + ], + "Config": { + "Hostname": "5a027e9f0688", + "Domainname": "", + "User": "root", + "AttachStdin": false, + "AttachStdout": false, + "AttachStderr": false, + "ExposedPorts": { + "5230/tcp": {} + }, + "Tty": false, + "OpenStdin": false, + "StdinOnce": false, + "Env": [ + "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", + "TZ=UTC", + "MEMOS_PORT=5230" + ], + "Cmd": null, + "Image": "neosmemo/memos:stable", + "Volumes": { + "/var/opt/memos": {} + }, + "WorkingDir": "/var/opt/memos", + "Entrypoint": [ + "/usr/local/memos/entrypoint.sh", + "/usr/local/memos/memos" + ], + "Labels": {} + }, + "NetworkSettings": { + "SandboxID": "8d12f35ed5cd845b056c2c2a14443daad66547c3e4de79d127640d5bd8ec8b38", + "SandboxKey": "/var/run/docker/netns/8d12f35ed5cd", + "Ports": { + "5230/tcp": [ + { + "HostIp": "127.0.0.1", + "HostPort": "5230" + } + ] + }, + "Networks": { + "bridge": { + "IPAMConfig": null, + "Links": null, + "Aliases": null, + "DriverOpts": null, + "GwPriority": 0, + "NetworkID": "a3f00a7736c485d162975d047f751907ce4a0489308b4efd7aac4ad19c97cba5", + "EndpointID": "e87a2032053f13aa20f4fcbfbeb701f5ce697307fc9ecfb4813d2561117e075c", + "Gateway": "172.17.0.1", + "IPAddress": "172.17.0.4", + "MacAddress": "6e:02:81:66:4c:74", + "IPPrefixLen": 16, + "IPv6Gateway": "", + "GlobalIPv6Address": "", + "GlobalIPv6PrefixLen": 0, + "DNSNames": null + } + } + }, + "ImageManifestDescriptor": { + "mediaType": "application/vnd.oci.image.manifest.v1+json", + "digest": "sha256:a9c224bfee66f1738ff2a28949f7001111a81b533004070860ed43dc77206600", + "size": 1240, + "platform": { + "architecture": "amd64", + "os": "linux" + } + } + }, + { + "Id": "d3a5d143216cd290622138299c69b865e975d694115f062ae40a8c13a2269b10", + "Created": "2026-05-03T15:27:20.517729582Z", + "Path": "/bin/prometheus", + "Args": [ + "--config.file=/etc/prometheus/prometheus.yml", + "--storage.tsdb.path=/prometheus" + ], + "State": { + "Status": "running", + "Running": true, + "Paused": false, + "Restarting": false, + "OOMKilled": false, + "Dead": false, + "Pid": 86054, + "ExitCode": 0, + "Error": "", + "StartedAt": "2026-05-03T15:27:20.564145038Z", + "FinishedAt": "0001-01-01T00:00:00Z" + }, + "Image": "sha256:e4254400b85610324913f0dc4acf92603d9984e7519414c5a12811aa6146acc3", + "ResolvConfPath": "/var/lib/docker/containers/d3a5d143216cd290622138299c69b865e975d694115f062ae40a8c13a2269b10/resolv.conf", + "HostnamePath": "/var/lib/docker/containers/d3a5d143216cd290622138299c69b865e975d694115f062ae40a8c13a2269b10/hostname", + "HostsPath": "/var/lib/docker/containers/d3a5d143216cd290622138299c69b865e975d694115f062ae40a8c13a2269b10/hosts", + "LogPath": "/var/lib/docker/containers/d3a5d143216cd290622138299c69b865e975d694115f062ae40a8c13a2269b10/d3a5d143216cd290622138299c69b865e975d694115f062ae40a8c13a2269b10-json.log", + "Name": "/prometheus", + "RestartCount": 0, + "Driver": "overlayfs", + "Platform": "linux", + "MountLabel": "", + "ProcessLabel": "", + "AppArmorProfile": "docker-default", + "ExecIDs": null, + "HostConfig": { + "Binds": [ + "/opt/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml:ro", + "/opt/prometheus/data:/prometheus" + ], + "ContainerIDFile": "", + "LogConfig": { + "Type": "json-file", + "Config": {} + }, + "NetworkMode": "host", + "PortBindings": {}, + "RestartPolicy": { + "Name": "unless-stopped", + "MaximumRetryCount": 0 + }, + "AutoRemove": false, + "VolumeDriver": "", + "VolumesFrom": null, + "ConsoleSize": [ + 25, + 208 + ], + "CapAdd": null, + "CapDrop": null, + "CgroupnsMode": "private", + "Dns": null, + "DnsOptions": [], + "DnsSearch": [], + "ExtraHosts": null, + "GroupAdd": null, + "IpcMode": "private", + "Cgroup": "", + "Links": null, + "OomScoreAdj": 0, + "PidMode": "", + "Privileged": false, + "PublishAllPorts": false, + "ReadonlyRootfs": false, + "SecurityOpt": null, + "UTSMode": "", + "UsernsMode": "", + "ShmSize": 67108864, + "Runtime": "runc", + "Isolation": "", + "CpuShares": 0, + "Memory": 0, + "NanoCpus": 0, + "CgroupParent": "", + "BlkioWeight": 0, + "BlkioWeightDevice": [], + "BlkioDeviceReadBps": [], + "BlkioDeviceWriteBps": [], + "BlkioDeviceReadIOps": [], + "BlkioDeviceWriteIOps": [], + "CpuPeriod": 0, + "CpuQuota": 0, + "CpuRealtimePeriod": 0, + "CpuRealtimeRuntime": 0, + "CpusetCpus": "", + "CpusetMems": "", + "Devices": [], + "DeviceCgroupRules": null, + "DeviceRequests": null, + "MemoryReservation": 0, + "MemorySwap": 0, + "MemorySwappiness": null, + "OomKillDisable": null, + "PidsLimit": null, + "Ulimits": [], + "CpuCount": 0, + "CpuPercent": 0, + "IOMaximumIOps": 0, + "IOMaximumBandwidth": 0, + "MaskedPaths": [ + "/proc/acpi", + "/proc/asound", + "/proc/interrupts", + "/proc/kcore", + "/proc/keys", + "/proc/latency_stats", + "/proc/sched_debug", + "/proc/scsi", + "/proc/timer_list", + "/proc/timer_stats", + "/sys/devices/virtual/powercap", + "/sys/firmware" + ], + "ReadonlyPaths": [ + "/proc/bus", + "/proc/fs", + "/proc/irq", + "/proc/sys", + "/proc/sysrq-trigger" + ] + }, + "Storage": { + "RootFS": { + "Snapshot": { + "Name": "overlayfs" + } + } + }, + "Mounts": [ + { + "Type": "bind", + "Source": "/opt/prometheus/prometheus.yml", + "Destination": "/etc/prometheus/prometheus.yml", + "Mode": "ro", + "RW": false, + "Propagation": "rprivate" + }, + { + "Type": "bind", + "Source": "/opt/prometheus/data", + "Destination": "/prometheus", + "Mode": "", + "RW": true, + "Propagation": "rprivate" + } + ], + "Config": { + "Hostname": "oracle-ubuntu-pan", + "Domainname": "", + "User": "nobody", + "AttachStdin": false, + "AttachStdout": false, + "AttachStderr": false, + "ExposedPorts": { + "9090/tcp": {} + }, + "Tty": false, + "OpenStdin": false, + "StdinOnce": false, + "Env": [ + "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" + ], + "Cmd": [ + "--config.file=/etc/prometheus/prometheus.yml", + "--storage.tsdb.path=/prometheus" + ], + "Image": "prom/prometheus", + "Volumes": { + "/prometheus": {} + }, + "WorkingDir": "/prometheus", + "Entrypoint": [ + "/bin/prometheus" + ], + "Labels": { + "io.prometheus.image.variant": "busybox", + "maintainer": "The Prometheus Authors ", + "org.opencontainers.image.authors": "The Prometheus Authors", + "org.opencontainers.image.description": "The Prometheus monitoring system and time series database", + "org.opencontainers.image.documentation": "https://prometheus.io/docs", + "org.opencontainers.image.licenses": "Apache License 2.0", + "org.opencontainers.image.source": "https://github.com/prometheus/prometheus", + "org.opencontainers.image.title": "Prometheus", + "org.opencontainers.image.url": "https://github.com/prometheus/prometheus", + "org.opencontainers.image.vendor": "Prometheus" + } + }, + "NetworkSettings": { + "SandboxID": "1fc90823f7f947a0e447ba8ec0f75f148a6e2e9055226e2fe600561007ef4cfb", + "SandboxKey": "/var/run/docker/netns/default", + "Ports": {}, + "Networks": { + "host": { + "IPAMConfig": null, + "Links": null, + "Aliases": null, + "DriverOpts": null, + "GwPriority": 0, + "NetworkID": "f22d1bd68413aa9c580a4c61feb0bb2c578ee9953febcfdaaf9fb0fc58f4438c", + "EndpointID": "4a33841e5e40586126f44b82ce73a5bd2714d5ec956de51b13e4034a8cd559fd", + "Gateway": "", + "IPAddress": "", + "MacAddress": "", + "IPPrefixLen": 0, + "IPv6Gateway": "", + "GlobalIPv6Address": "", + "GlobalIPv6PrefixLen": 0, + "DNSNames": null + } + } + }, + "ImageManifestDescriptor": { + "mediaType": "application/vnd.docker.distribution.manifest.v2+json", + "digest": "sha256:387d460e3b15ec55d2837fc9275388a4730dbc8c0287926d3f662c5298ce7385", + "size": 2407, + "platform": { + "architecture": "amd64", + "os": "linux" + } + } + }, + { + "Id": "fa528349889bc660ecfc3bc8535d34f68cea7e56d3da828d47358848f864cb12", + "Created": "2026-05-03T15:24:11.434660548Z", + "Path": "/bin/node_exporter", + "Args": [ + "--path.rootfs=/host" + ], + "State": { + "Status": "running", + "Running": true, + "Paused": false, + "Restarting": false, + "OOMKilled": false, + "Dead": false, + "Pid": 82887, + "ExitCode": 0, + "Error": "", + "StartedAt": "2026-05-03T15:24:11.70134951Z", + "FinishedAt": "0001-01-01T00:00:00Z" + }, + "Image": "sha256:e9cff4fc67b1818f8c97adb115b9f12c9a54b533de86765d4a0effc01b357205", + "ResolvConfPath": "/var/lib/docker/containers/fa528349889bc660ecfc3bc8535d34f68cea7e56d3da828d47358848f864cb12/resolv.conf", + "HostnamePath": "/var/lib/docker/containers/fa528349889bc660ecfc3bc8535d34f68cea7e56d3da828d47358848f864cb12/hostname", + "HostsPath": "/var/lib/docker/containers/fa528349889bc660ecfc3bc8535d34f68cea7e56d3da828d47358848f864cb12/hosts", + "LogPath": "/var/lib/docker/containers/fa528349889bc660ecfc3bc8535d34f68cea7e56d3da828d47358848f864cb12/fa528349889bc660ecfc3bc8535d34f68cea7e56d3da828d47358848f864cb12-json.log", + "Name": "/node-exporter", + "RestartCount": 0, + "Driver": "overlayfs", + "Platform": "linux", + "MountLabel": "", + "ProcessLabel": "", + "AppArmorProfile": "docker-default", + "ExecIDs": null, + "HostConfig": { + "Binds": [ + "/:/host:ro,rslave" + ], + "ContainerIDFile": "", + "LogConfig": { + "Type": "json-file", + "Config": {} + }, + "NetworkMode": "host", + "PortBindings": {}, + "RestartPolicy": { + "Name": "unless-stopped", + "MaximumRetryCount": 0 + }, + "AutoRemove": false, + "VolumeDriver": "", + "VolumesFrom": null, + "ConsoleSize": [ + 25, + 156 + ], + "CapAdd": null, + "CapDrop": null, + "CgroupnsMode": "private", + "Dns": null, + "DnsOptions": [], + "DnsSearch": [], + "ExtraHosts": null, + "GroupAdd": null, + "IpcMode": "private", + "Cgroup": "", + "Links": null, + "OomScoreAdj": 0, + "PidMode": "host", + "Privileged": false, + "PublishAllPorts": false, + "ReadonlyRootfs": false, + "SecurityOpt": [ + "label=disable" + ], + "UTSMode": "", + "UsernsMode": "", + "ShmSize": 67108864, + "Runtime": "runc", + "Isolation": "", + "CpuShares": 0, + "Memory": 0, + "NanoCpus": 0, + "CgroupParent": "", + "BlkioWeight": 0, + "BlkioWeightDevice": [], + "BlkioDeviceReadBps": [], + "BlkioDeviceWriteBps": [], + "BlkioDeviceReadIOps": [], + "BlkioDeviceWriteIOps": [], + "CpuPeriod": 0, + "CpuQuota": 0, + "CpuRealtimePeriod": 0, + "CpuRealtimeRuntime": 0, + "CpusetCpus": "", + "CpusetMems": "", + "Devices": [], + "DeviceCgroupRules": null, + "DeviceRequests": null, + "MemoryReservation": 0, + "MemorySwap": 0, + "MemorySwappiness": null, + "OomKillDisable": null, + "PidsLimit": null, + "Ulimits": [], + "CpuCount": 0, + "CpuPercent": 0, + "IOMaximumIOps": 0, + "IOMaximumBandwidth": 0, + "MaskedPaths": [ + "/proc/acpi", + "/proc/asound", + "/proc/interrupts", + "/proc/kcore", + "/proc/keys", + "/proc/latency_stats", + "/proc/sched_debug", + "/proc/scsi", + "/proc/timer_list", + "/proc/timer_stats", + "/sys/devices/virtual/powercap", + "/sys/firmware" + ], + "ReadonlyPaths": [ + "/proc/bus", + "/proc/fs", + "/proc/irq", + "/proc/sys", + "/proc/sysrq-trigger" + ] + }, + "Storage": { + "RootFS": { + "Snapshot": { + "Name": "overlayfs" + } + } + }, + "Mounts": [ + { + "Type": "bind", + "Source": "/", + "Destination": "/host", + "Mode": "ro,rslave", + "RW": false, + "Propagation": "rslave" + } + ], + "Config": { + "Hostname": "oracle-ubuntu-pan", + "Domainname": "", + "User": "nobody", + "AttachStdin": false, + "AttachStdout": false, + "AttachStderr": false, + "ExposedPorts": { + "9100/tcp": {} + }, + "Tty": false, + "OpenStdin": false, + "StdinOnce": false, + "Env": [ + "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" + ], + "Cmd": [ + "--path.rootfs=/host" + ], + "Image": "prom/node-exporter", + "Volumes": null, + "WorkingDir": "", + "Entrypoint": [ + "/bin/node_exporter" + ], + "Labels": { + "io.prometheus.image.variant": "busybox", + "maintainer": "The Prometheus Authors ", + "org.opencontainers.image.authors": "The Prometheus Authors", + "org.opencontainers.image.description": "Prometheus exporter for hardware and OS metrics exposed by *NIX kernels", + "org.opencontainers.image.documentation": "https://github.com/prometheus/node_exporter", + "org.opencontainers.image.licenses": "Apache License 2.0", + "org.opencontainers.image.source": "https://github.com/prometheus/node_exporter", + "org.opencontainers.image.title": "node_exporter", + "org.opencontainers.image.url": "https://github.com/prometheus/node_exporter", + "org.opencontainers.image.vendor": "Prometheus" + } + }, + "NetworkSettings": { + "SandboxID": "7bdc31025ce23b8c2556ecf82ea07debdb1558efe6fc9499146d040ed8feeced", + "SandboxKey": "/var/run/docker/netns/default", + "Ports": {}, + "Networks": { + "host": { + "IPAMConfig": null, + "Links": null, + "Aliases": null, + "DriverOpts": null, + "GwPriority": 0, + "NetworkID": "f22d1bd68413aa9c580a4c61feb0bb2c578ee9953febcfdaaf9fb0fc58f4438c", + "EndpointID": "19483e81f2e1dd0fd5ef4f860731e00dad29f8363770805cb6ea3637d1b55bbc", + "Gateway": "", + "IPAddress": "", + "MacAddress": "", + "IPPrefixLen": 0, + "IPv6Gateway": "", + "GlobalIPv6Address": "", + "GlobalIPv6PrefixLen": 0, + "DNSNames": null + } + } + }, + "ImageManifestDescriptor": { + "mediaType": "application/vnd.docker.distribution.manifest.v2+json", + "digest": "sha256:fbd8062b4529e166e902bd62cd93de2f48b36d50af942620d419657265bc20b1", + "size": 949, + "platform": { + "architecture": "amd64", + "os": "linux" + } + } + }, + { + "Id": "1152dce0a61600999e867128e4bb486357493e8ec79fb0931b57dd84afe48d46", + "Created": "2026-05-03T15:32:33.229735648Z", + "Path": "/run.sh", + "Args": [], + "State": { + "Status": "running", + "Running": true, + "Paused": false, + "Restarting": false, + "OOMKilled": false, + "Dead": false, + "Pid": 90089, + "ExitCode": 0, + "Error": "", + "StartedAt": "2026-05-03T15:32:33.282871754Z", + "FinishedAt": "0001-01-01T00:00:00Z" + }, + "Image": "sha256:0f86bada30d65ef9d0183b90c1e2682ac92d53d95da8bed322b984ea78a4a73a", + "ResolvConfPath": "/var/lib/docker/containers/1152dce0a61600999e867128e4bb486357493e8ec79fb0931b57dd84afe48d46/resolv.conf", + "HostnamePath": "/var/lib/docker/containers/1152dce0a61600999e867128e4bb486357493e8ec79fb0931b57dd84afe48d46/hostname", + "HostsPath": "/var/lib/docker/containers/1152dce0a61600999e867128e4bb486357493e8ec79fb0931b57dd84afe48d46/hosts", + "LogPath": "/var/lib/docker/containers/1152dce0a61600999e867128e4bb486357493e8ec79fb0931b57dd84afe48d46/1152dce0a61600999e867128e4bb486357493e8ec79fb0931b57dd84afe48d46-json.log", + "Name": "/grafana", + "RestartCount": 0, + "Driver": "overlayfs", + "Platform": "linux", + "MountLabel": "", + "ProcessLabel": "", + "AppArmorProfile": "docker-default", + "ExecIDs": null, + "HostConfig": { + "Binds": [ + "/opt/grafana:/var/lib/grafana" + ], + "ContainerIDFile": "", + "LogConfig": { + "Type": "json-file", + "Config": {} + }, + "NetworkMode": "host", + "PortBindings": {}, + "RestartPolicy": { + "Name": "unless-stopped", + "MaximumRetryCount": 0 + }, + "AutoRemove": false, + "VolumeDriver": "", + "VolumesFrom": null, + "ConsoleSize": [ + 25, + 103 + ], + "CapAdd": null, + "CapDrop": null, + "CgroupnsMode": "private", + "Dns": null, + "DnsOptions": [], + "DnsSearch": [], + "ExtraHosts": null, + "GroupAdd": null, + "IpcMode": "private", + "Cgroup": "", + "Links": null, + "OomScoreAdj": 0, + "PidMode": "", + "Privileged": false, + "PublishAllPorts": false, + "ReadonlyRootfs": false, + "SecurityOpt": null, + "UTSMode": "", + "UsernsMode": "", + "ShmSize": 67108864, + "Runtime": "runc", + "Isolation": "", + "CpuShares": 0, + "Memory": 0, + "NanoCpus": 0, + "CgroupParent": "", + "BlkioWeight": 0, + "BlkioWeightDevice": [], + "BlkioDeviceReadBps": [], + "BlkioDeviceWriteBps": [], + "BlkioDeviceReadIOps": [], + "BlkioDeviceWriteIOps": [], + "CpuPeriod": 0, + "CpuQuota": 0, + "CpuRealtimePeriod": 0, + "CpuRealtimeRuntime": 0, + "CpusetCpus": "", + "CpusetMems": "", + "Devices": [], + "DeviceCgroupRules": null, + "DeviceRequests": null, + "MemoryReservation": 0, + "MemorySwap": 0, + "MemorySwappiness": null, + "OomKillDisable": null, + "PidsLimit": null, + "Ulimits": [], + "CpuCount": 0, + "CpuPercent": 0, + "IOMaximumIOps": 0, + "IOMaximumBandwidth": 0, + "MaskedPaths": [ + "/proc/acpi", + "/proc/asound", + "/proc/interrupts", + "/proc/kcore", + "/proc/keys", + "/proc/latency_stats", + "/proc/sched_debug", + "/proc/scsi", + "/proc/timer_list", + "/proc/timer_stats", + "/sys/devices/virtual/powercap", + "/sys/firmware" + ], + "ReadonlyPaths": [ + "/proc/bus", + "/proc/fs", + "/proc/irq", + "/proc/sys", + "/proc/sysrq-trigger" + ] + }, + "Storage": { + "RootFS": { + "Snapshot": { + "Name": "overlayfs" + } + } + }, + "Mounts": [ + { + "Type": "bind", + "Source": "/opt/grafana", + "Destination": "/var/lib/grafana", + "Mode": "", + "RW": true, + "Propagation": "rprivate" + } + ], + "Config": { + "Hostname": "oracle-ubuntu-pan", + "Domainname": "", + "User": "472", + "AttachStdin": false, + "AttachStdout": false, + "AttachStderr": false, + "ExposedPorts": { + "3000/tcp": {} + }, + "Tty": false, + "OpenStdin": false, + "StdinOnce": false, + "Env": [ + "PATH=/usr/share/grafana/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", + "GF_PATHS_CONFIG=/etc/grafana/grafana.ini", + "GF_PATHS_DATA=/var/lib/grafana", + "GF_PATHS_HOME=/usr/share/grafana", + "GF_PATHS_LOGS=/var/log/grafana", + "GF_PATHS_PLUGINS=/var/lib/grafana/plugins", + "GF_PATHS_PROVISIONING=/etc/grafana/provisioning" + ], + "Cmd": null, + "Image": "grafana/grafana", + "Volumes": null, + "WorkingDir": "/usr/share/grafana", + "Entrypoint": [ + "/run.sh" + ], + "Labels": { + "maintainer": "Grafana Labs ", + "org.opencontainers.image.source": "https://github.com/grafana/grafana" + } + }, + "NetworkSettings": { + "SandboxID": "1c7eb43985441462ba55a9f40d474e5a3b13c3203a7ad1a224ad423f495a417f", + "SandboxKey": "/var/run/docker/netns/default", + "Ports": {}, + "Networks": { + "host": { + "IPAMConfig": null, + "Links": null, + "Aliases": null, + "DriverOpts": null, + "GwPriority": 0, + "NetworkID": "f22d1bd68413aa9c580a4c61feb0bb2c578ee9953febcfdaaf9fb0fc58f4438c", + "EndpointID": "04eb4c2a06446b8dbfec9d8e98754d9679d56375a1bcb6d25217fcbf8d0ab5f6", + "Gateway": "", + "IPAddress": "", + "MacAddress": "", + "IPPrefixLen": 0, + "IPv6Gateway": "", + "GlobalIPv6Address": "", + "GlobalIPv6PrefixLen": 0, + "DNSNames": null + } + } + }, + "ImageManifestDescriptor": { + "mediaType": "application/vnd.docker.distribution.manifest.v2+json", + "digest": "sha256:3625fdfa3cab904abdf9faaff8f40de0639b456ac5c5d322964fe705051d5455", + "size": 3043, + "platform": { + "architecture": "amd64", + "os": "linux" + } + } + }, + { + "Id": "c7a866409a14c0a1bd9ae34f7d97c04e929a9d6e4616eb0ffbdf614e7a25d5d6", + "Created": "2026-05-03T15:58:02.707928235Z", + "Path": "/usr/bin/entrypoint", + "Args": [ + "/usr/bin/s6-svscan", + "/etc/s6" + ], + "State": { + "Status": "running", + "Running": true, + "Paused": false, + "Restarting": false, + "OOMKilled": false, + "Dead": false, + "Pid": 111641, + "ExitCode": 0, + "Error": "", + "StartedAt": "2026-05-03T15:58:02.758133302Z", + "FinishedAt": "0001-01-01T00:00:00Z" + }, + "Image": "sha256:d8667667b4ccbd1f67b86a376bffcc0a17b16cf71309ed04e3918231776d47dd", + "ResolvConfPath": "/var/lib/docker/containers/c7a866409a14c0a1bd9ae34f7d97c04e929a9d6e4616eb0ffbdf614e7a25d5d6/resolv.conf", + "HostnamePath": "/var/lib/docker/containers/c7a866409a14c0a1bd9ae34f7d97c04e929a9d6e4616eb0ffbdf614e7a25d5d6/hostname", + "HostsPath": "/var/lib/docker/containers/c7a866409a14c0a1bd9ae34f7d97c04e929a9d6e4616eb0ffbdf614e7a25d5d6/hosts", + "LogPath": "/var/lib/docker/containers/c7a866409a14c0a1bd9ae34f7d97c04e929a9d6e4616eb0ffbdf614e7a25d5d6/c7a866409a14c0a1bd9ae34f7d97c04e929a9d6e4616eb0ffbdf614e7a25d5d6-json.log", + "Name": "/gitea", + "RestartCount": 0, + "Driver": "overlayfs", + "Platform": "linux", + "MountLabel": "", + "ProcessLabel": "", + "AppArmorProfile": "docker-default", + "ExecIDs": null, + "HostConfig": { + "Binds": [ + "/opt/gitea:/data" + ], + "ContainerIDFile": "", + "LogConfig": { + "Type": "json-file", + "Config": {} + }, + "NetworkMode": "bridge", + "PortBindings": { + "3000/tcp": [ + { + "HostIp": "127.0.0.1", + "HostPort": "3002" + } + ] + }, + "RestartPolicy": { + "Name": "unless-stopped", + "MaximumRetryCount": 0 + }, + "AutoRemove": false, + "VolumeDriver": "", + "VolumesFrom": null, + "ConsoleSize": [ + 25, + 103 + ], + "CapAdd": null, + "CapDrop": null, + "CgroupnsMode": "private", + "Dns": null, + "DnsOptions": [], + "DnsSearch": [], + "ExtraHosts": null, + "GroupAdd": null, + "IpcMode": "private", + "Cgroup": "", + "Links": null, + "OomScoreAdj": 0, + "PidMode": "", + "Privileged": false, + "PublishAllPorts": false, + "ReadonlyRootfs": false, + "SecurityOpt": null, + "UTSMode": "", + "UsernsMode": "", + "ShmSize": 67108864, + "Runtime": "runc", + "Isolation": "", + "CpuShares": 0, + "Memory": 0, + "NanoCpus": 0, + "CgroupParent": "", + "BlkioWeight": 0, + "BlkioWeightDevice": [], + "BlkioDeviceReadBps": [], + "BlkioDeviceWriteBps": [], + "BlkioDeviceReadIOps": [], + "BlkioDeviceWriteIOps": [], + "CpuPeriod": 0, + "CpuQuota": 0, + "CpuRealtimePeriod": 0, + "CpuRealtimeRuntime": 0, + "CpusetCpus": "", + "CpusetMems": "", + "Devices": [], + "DeviceCgroupRules": null, + "DeviceRequests": null, + "MemoryReservation": 0, + "MemorySwap": 0, + "MemorySwappiness": null, + "OomKillDisable": null, + "PidsLimit": null, + "Ulimits": [], + "CpuCount": 0, + "CpuPercent": 0, + "IOMaximumIOps": 0, + "IOMaximumBandwidth": 0, + "MaskedPaths": [ + "/proc/acpi", + "/proc/asound", + "/proc/interrupts", + "/proc/kcore", + "/proc/keys", + "/proc/latency_stats", + "/proc/sched_debug", + "/proc/scsi", + "/proc/timer_list", + "/proc/timer_stats", + "/sys/devices/virtual/powercap", + "/sys/firmware" + ], + "ReadonlyPaths": [ + "/proc/bus", + "/proc/fs", + "/proc/irq", + "/proc/sys", + "/proc/sysrq-trigger" + ] + }, + "Storage": { + "RootFS": { + "Snapshot": { + "Name": "overlayfs" + } + } + }, + "Mounts": [ + { + "Type": "bind", + "Source": "/opt/gitea", + "Destination": "/data", + "Mode": "", + "RW": true, + "Propagation": "rprivate" + } + ], + "Config": { + "Hostname": "c7a866409a14", + "Domainname": "", + "User": "", + "AttachStdin": false, + "AttachStdout": false, + "AttachStderr": false, + "ExposedPorts": { + "22/tcp": {}, + "3000/tcp": {} + }, + "Tty": false, + "OpenStdin": false, + "StdinOnce": false, + "Env": [ + "USER_UID=1001", + "USER_GID=1001", + "GITEA__server__DOMAIN=git-b510.duckdns.org", + "GITEA__server__ROOT_URL=https://git-b510.duckdns.org/", + "GITEA__server__HTTP_PORT=3000", + "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", + "USER=git", + "GITEA_CUSTOM=/data/gitea" + ], + "Cmd": [ + "/usr/bin/s6-svscan", + "/etc/s6" + ], + "Image": "gitea/gitea:latest", + "Volumes": { + "/data": {} + }, + "WorkingDir": "/", + "Entrypoint": [ + "/usr/bin/entrypoint" + ], + "Labels": {} + }, + "NetworkSettings": { + "SandboxID": "c676147cf861a0c6ee2b3ed0aea7f536a66f117db69fcb980444af7453fdd23d", + "SandboxKey": "/var/run/docker/netns/c676147cf861", + "Ports": { + "22/tcp": null, + "3000/tcp": [ + { + "HostIp": "127.0.0.1", + "HostPort": "3002" + } + ] + }, + "Networks": { + "bridge": { + "IPAMConfig": null, + "Links": null, + "Aliases": null, + "DriverOpts": null, + "GwPriority": 0, + "NetworkID": "a3f00a7736c485d162975d047f751907ce4a0489308b4efd7aac4ad19c97cba5", + "EndpointID": "a7a5e5a8dec3fb6db34c5edb51fb903a6f63dd8dc2d3129e9fab8f216edc088b", + "Gateway": "172.17.0.1", + "IPAddress": "172.17.0.5", + "MacAddress": "d2:a7:38:0f:a4:d1", + "IPPrefixLen": 16, + "IPv6Gateway": "", + "GlobalIPv6Address": "", + "GlobalIPv6PrefixLen": 0, + "DNSNames": null + } + } + }, + "ImageManifestDescriptor": { + "mediaType": "application/vnd.oci.image.manifest.v1+json", + "digest": "sha256:420d906bde65c8bbb9b45280db1d9ab4f602a148ae913b6ab52fa8a7c9092f2a", + "size": 1997, + "platform": { + "architecture": "amd64", + "os": "linux" + } + } + } +] diff --git a/docker/docker-ps.txt b/docker/docker-ps.txt new file mode 100644 index 0000000..7dc65c5 --- /dev/null +++ b/docker/docker-ps.txt @@ -0,0 +1,8 @@ +NAMES IMAGE PORTS STATUS +gitea gitea/gitea:latest 22/tcp, 127.0.0.1:3002->3000/tcp Up 6 minutes +grafana grafana/grafana Up 32 minutes +prometheus prom/prometheus Up 37 minutes +node-exporter prom/node-exporter Up 40 minutes +memos neosmemo/memos:stable 127.0.0.1:5230->5230/tcp Up 50 minutes +uptime-kuma louislam/uptime-kuma:1 127.0.0.1:3001->3001/tcp Up About an hour (healthy) +filebrowser filebrowser/filebrowser 127.0.0.1:8080->80/tcp Up 2 hours (healthy) diff --git a/docker/run-commands.md b/docker/run-commands.md new file mode 100644 index 0000000..1f2b548 --- /dev/null +++ b/docker/run-commands.md @@ -0,0 +1,78 @@ +# Docker Run Commands + +## File Browser + +```bash +docker run -d \ + --name filebrowser \ + --restart unless-stopped \ + --user 1001:1001 \ + -p 127.0.0.1:8080:80 \ + -v /data/cloud:/srv \ + -v /opt/filebrowser/database:/database \ + -v /opt/filebrowser/config:/config \ + filebrowser/filebrowser \ + --database /database/filebrowser.db \ + --config /config/settings.json + + +docker run -d \ + --name uptime-kuma \ + --restart unless-stopped \ + -p 127.0.0.1:3001:3001 \ + -v /opt/uptime-kuma:/app/data \ + louislam/uptime-kuma:1 + + + + +docker run -d \ + --name memos \ + --restart unless-stopped \ + -p 127.0.0.1:5230:5230 \ + -v /opt/memos:/var/opt/memos \ + neosmemo/memos:stable + + + +docker run -d \ + --name node-exporter \ + --restart unless-stopped \ + --network host \ + --pid host \ + -v /:/host:ro,rslave \ + prom/node-exporter \ + --path.rootfs=/host + + +docker run -d \ + --name prometheus \ + --restart unless-stopped \ + --network host \ + -v /opt/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml:ro \ + -v /opt/prometheus/data:/prometheus \ + prom/prometheus \ + --config.file=/etc/prometheus/prometheus.yml \ + --storage.tsdb.path=/prometheus + +docker run -d \ + --name grafana \ + --restart unless-stopped \ + --network host \ + -v /opt/grafana:/var/lib/grafana \ + grafana/grafana + + +docker run -d \ + --name gitea \ + --restart unless-stopped \ + -p 127.0.0.1:3002:3000 \ + -v /opt/gitea:/data \ + -e USER_UID=1001 \ + -e USER_GID=1001 \ + -e GITEA__server__DOMAIN=git-b510.duckdns.org \ + -e GITEA__server__ROOT_URL=https://git-b510.duckdns.org/ \ + -e GITEA__server__HTTP_PORT=3000 \ + gitea/gitea:latest + + diff --git a/prometheus.yml b/prometheus/prometheus.yml similarity index 100% rename from prometheus.yml rename to prometheus/prometheus.yml diff --git a/scripts/backup-server-config.sh b/scripts/backup-server-config.sh new file mode 100755 index 0000000..cbf7104 --- /dev/null +++ b/scripts/backup-server-config.sh @@ -0,0 +1,22 @@ +#!/bin/bash + +set -e + +BACKUP_DIR="/data/cloud/server-backup" +DATE=$(date +%F_%H-%M-%S) + +mkdir -p "$BACKUP_DIR" + +tar -czf "$BACKUP_DIR/server-config-$DATE.tar.gz" \ + /etc/caddy/Caddyfile \ + /opt/filebrowser \ + /opt/uptime-kuma \ + /opt/memos \ + /opt/prometheus/prometheus.yml \ + /opt/grafana \ + /opt/gitea \ + 2>/tmp/server-backup-error.log + +find "$BACKUP_DIR" -name "server-config-*.tar.gz" -mtime +14 -delete + +echo "Backup completed: $BACKUP_DIR/server-config-$DATE.tar.gz" diff --git a/system/disk-usage.txt b/system/disk-usage.txt new file mode 100644 index 0000000..089355c --- /dev/null +++ b/system/disk-usage.txt @@ -0,0 +1,9 @@ +Filesystem Size Used Avail Use% Mounted on +tmpfs 1.2G 1.9M 1.2G 1% /run +efivarfs 256K 17K 235K 7% /sys/firmware/efi/efivars +/dev/sda1 96G 7.8G 89G 9% / +tmpfs 5.9G 0 5.9G 0% /dev/shm +tmpfs 5.0M 0 5.0M 0% /run/lock +/dev/sda16 881M 156M 664M 19% /boot +/dev/sda15 105M 6.2M 99M 6% /boot/efi +tmpfs 1.2G 12K 1.2G 1% /run/user/1001 diff --git a/system/listening-ports.txt b/system/listening-ports.txt new file mode 100644 index 0000000..8aa549d --- /dev/null +++ b/system/listening-ports.txt @@ -0,0 +1,24 @@ +Netid State Recv-Q Send-Q Local Address:Port Peer Address:PortProcess +udp UNCONN 0 0 127.0.0.54:53 0.0.0.0:* users:(("systemd-resolve",pid=14478,fd=16)) +udp UNCONN 0 0 127.0.0.53%lo:53 0.0.0.0:* users:(("systemd-resolve",pid=14478,fd=14)) +udp UNCONN 0 0 10.0.0.171%enp0s5:68 0.0.0.0:* users:(("systemd-network",pid=14504,fd=22)) +udp UNCONN 0 0 0.0.0.0:111 0.0.0.0:* users:(("rpcbind",pid=14457,fd=5),("systemd",pid=1,fd=202)) +udp UNCONN 0 0 [::]:111 [::]:* users:(("rpcbind",pid=14457,fd=7),("systemd",pid=1,fd=204)) +udp UNCONN 0 0 *:443 *:* users:(("caddy",pid=104785,fd=8)) +tcp LISTEN 0 4096 127.0.0.53%lo:53 0.0.0.0:* users:(("systemd-resolve",pid=14478,fd=15)) +tcp LISTEN 0 4096 127.0.0.1:2019 0.0.0.0:* users:(("caddy",pid=104785,fd=3)) +tcp LISTEN 0 4096 127.0.0.1:36821 0.0.0.0:* users:(("containerd",pid=16217,fd=14)) +tcp LISTEN 0 4096 127.0.0.1:3001 0.0.0.0:* users:(("docker-proxy",pid=67116,fd=7)) +tcp LISTEN 0 4096 127.0.0.1:3002 0.0.0.0:* users:(("docker-proxy",pid=111665,fd=7)) +tcp LISTEN 0 4096 127.0.0.1:5230 0.0.0.0:* users:(("docker-proxy",pid=75257,fd=7)) +tcp LISTEN 0 4096 127.0.0.54:53 0.0.0.0:* users:(("systemd-resolve",pid=14478,fd=17)) +tcp LISTEN 0 4096 127.0.0.1:8080 0.0.0.0:* users:(("docker-proxy",pid=23375,fd=7)) +tcp LISTEN 0 4096 0.0.0.0:111 0.0.0.0:* users:(("rpcbind",pid=14457,fd=4),("systemd",pid=1,fd=201)) +tcp LISTEN 0 4096 0.0.0.0:22 0.0.0.0:* users:(("sshd",pid=15527,fd=3),("systemd",pid=1,fd=232)) +tcp LISTEN 0 4096 *:3000 *:* users:(("grafana",pid=90089,fd=25)) +tcp LISTEN 0 4096 *:9090 *:* users:(("prometheus",pid=86054,fd=7)) +tcp LISTEN 0 4096 *:9100 *:* users:(("node_exporter",pid=82887,fd=4)) +tcp LISTEN 0 4096 *:80 *:* users:(("caddy",pid=104785,fd=9)) +tcp LISTEN 0 4096 [::]:111 [::]:* users:(("rpcbind",pid=14457,fd=6),("systemd",pid=1,fd=203)) +tcp LISTEN 0 4096 [::]:22 [::]:* users:(("sshd",pid=15527,fd=4),("systemd",pid=1,fd=234)) +tcp LISTEN 0 4096 *:443 *:* users:(("caddy",pid=104785,fd=7)) diff --git a/system/memory-usage.txt b/system/memory-usage.txt new file mode 100644 index 0000000..7fd6626 --- /dev/null +++ b/system/memory-usage.txt @@ -0,0 +1,3 @@ + total used free shared buff/cache available +Mem: 11Gi 1.2Gi 3.5Gi 5.8Mi 7.3Gi 10Gi +Swap: 0B 0B 0B diff --git a/system/os-release.txt b/system/os-release.txt new file mode 100644 index 0000000..eaba232 --- /dev/null +++ b/system/os-release.txt @@ -0,0 +1,5 @@ +Distributor ID: Ubuntu +Description: Ubuntu 24.04.4 LTS +Release: 24.04 +Codename: noble +Linux oracle-ubuntu-pan 6.17.0-1010-oracle #10~24.04.1-Ubuntu SMP Thu Mar 26 20:08:26 UTC 2026 x86_64 x86_64 x86_64 GNU/Linux