mirror of https://github.com/OpenVidu/openvidu.git
openvidu-deployment: HA AWS - run the Docker Hub cache of the Master Nodes unprivileged
- The pull-through cache for private Media Nodes ran as root with no sandboxing. It now runs as a transient systemd user (DynamicUser) with no capabilities: it can only write its own cache (StateDirectory, /var/lib/registry-mirror), and systemd restricts its kernel, device, namespace, address family and syscall access. TCP 5555 needs no privileges. - registry_mirror.sh no longer creates the cache directory: systemd creates it with the right owner. Assisted-by: claude-code - Anthropic - Claude Opus 5.5pull/913/head
parent
508feac072
commit
815d42d211
|
|
@ -1880,7 +1880,7 @@ Resources:
|
||||||
"https://github.com/distribution/distribution/releases/download/${!REGISTRY_VERSION}/registry_${!REGISTRY_VERSION#v}_linux_${!ARCH}.tar.gz"
|
"https://github.com/distribution/distribution/releases/download/${!REGISTRY_VERSION}/registry_${!REGISTRY_VERSION#v}_linux_${!ARCH}.tar.gz"
|
||||||
tar xzf /tmp/registry.tar.gz -C /usr/local/bin registry
|
tar xzf /tmp/registry.tar.gz -C /usr/local/bin registry
|
||||||
rm -f /tmp/registry.tar.gz
|
rm -f /tmp/registry.tar.gz
|
||||||
mkdir -p /etc/registry-mirror /var/lib/registry-mirror
|
mkdir -p /etc/registry-mirror
|
||||||
cat > /etc/registry-mirror/config.yml <<'EOF'
|
cat > /etc/registry-mirror/config.yml <<'EOF'
|
||||||
version: 0.1
|
version: 0.1
|
||||||
log:
|
log:
|
||||||
|
|
@ -1906,6 +1906,20 @@ Resources:
|
||||||
# No OpenTelemetry collector: do not export traces
|
# No OpenTelemetry collector: do not export traces
|
||||||
Environment=OTEL_TRACES_EXPORTER=none
|
Environment=OTEL_TRACES_EXPORTER=none
|
||||||
ExecStart=/usr/local/bin/registry serve /etc/registry-mirror/config.yml
|
ExecStart=/usr/local/bin/registry serve /etc/registry-mirror/config.yml
|
||||||
|
# Unprivileged: a transient user that can only write its own cache
|
||||||
|
# (/var/lib/registry-mirror); 5555 needs no capabilities
|
||||||
|
DynamicUser=yes
|
||||||
|
StateDirectory=registry-mirror
|
||||||
|
CapabilityBoundingSet=
|
||||||
|
PrivateDevices=yes
|
||||||
|
ProtectKernelTunables=yes
|
||||||
|
ProtectKernelModules=yes
|
||||||
|
ProtectControlGroups=yes
|
||||||
|
RestrictAddressFamilies=AF_INET AF_INET6 AF_UNIX
|
||||||
|
RestrictNamespaces=yes
|
||||||
|
LockPersonality=yes
|
||||||
|
SystemCallArchitectures=native
|
||||||
|
SystemCallFilter=@system-service
|
||||||
Restart=always
|
Restart=always
|
||||||
RestartSec=5
|
RestartSec=5
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue