fix: detect Docker socket GID for container permissions
The Docker socket group varies by host (e.g., GID 1001 on WSL2). Hardcoding group_add: ["0"] doesn't work when the socket is owned by a different group. The installer now detects the socket GID at install time via stat. The main docker-compose.yml uses a configurable DOCKER_GID env var (defaults to 0). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -36,6 +36,9 @@ VENDOR_SEED_ENABLED=false
|
|||||||
# VENDOR_USER=vendor
|
# VENDOR_USER=vendor
|
||||||
# VENDOR_PASS=change_me
|
# VENDOR_PASS=change_me
|
||||||
|
|
||||||
|
# Docker socket GID (run: stat -c '%g' /var/run/docker.sock)
|
||||||
|
# DOCKER_GID=0
|
||||||
|
|
||||||
# Docker images (override for custom registries)
|
# Docker images (override for custom registries)
|
||||||
# TRAEFIK_IMAGE=gitea.siegeln.net/cameleer/cameleer-traefik
|
# TRAEFIK_IMAGE=gitea.siegeln.net/cameleer/cameleer-traefik
|
||||||
# POSTGRES_IMAGE=gitea.siegeln.net/cameleer/cameleer-postgres
|
# POSTGRES_IMAGE=gitea.siegeln.net/cameleer/cameleer-postgres
|
||||||
|
|||||||
@@ -138,7 +138,7 @@ services:
|
|||||||
- traefik.http.routers.saas.tls=true
|
- traefik.http.routers.saas.tls=true
|
||||||
- traefik.http.services.saas.loadbalancer.server.port=8080
|
- traefik.http.services.saas.loadbalancer.server.port=8080
|
||||||
group_add:
|
group_add:
|
||||||
- "0"
|
- "${DOCKER_GID:-0}"
|
||||||
networks:
|
networks:
|
||||||
- cameleer
|
- cameleer
|
||||||
|
|
||||||
|
|||||||
@@ -649,6 +649,7 @@ TENANT_ORG_NAME=${TENANT_ORG_NAME:-}
|
|||||||
|
|
||||||
# Docker
|
# Docker
|
||||||
DOCKER_SOCKET=${DOCKER_SOCKET}
|
DOCKER_SOCKET=${DOCKER_SOCKET}
|
||||||
|
DOCKER_GID=$(stat -c '%g' "${DOCKER_SOCKET}" 2>/dev/null || echo "0")
|
||||||
|
|
||||||
# Provisioning images
|
# Provisioning images
|
||||||
CAMELEER_SAAS_PROVISIONING_SERVERIMAGE=${REGISTRY}/cameleer3-server:${VERSION}
|
CAMELEER_SAAS_PROVISIONING_SERVERIMAGE=${REGISTRY}/cameleer3-server:${VERSION}
|
||||||
@@ -881,11 +882,16 @@ EOF
|
|||||||
echo " - ${MONITORING_NETWORK}" >> "$f"
|
echo " - ${MONITORING_NETWORK}" >> "$f"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
cat >> "$f" << 'EOF'
|
# Detect Docker socket GID for container access
|
||||||
|
local docker_gid
|
||||||
|
docker_gid=$(stat -c '%g' "${DOCKER_SOCKET:-/var/run/docker.sock}" 2>/dev/null || echo "0")
|
||||||
|
cat >> "$f" << EOF
|
||||||
group_add:
|
group_add:
|
||||||
- "0"
|
- "${docker_gid}"
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
|
EOF
|
||||||
|
cat >> "$f" << 'EOF'
|
||||||
pgdata:
|
pgdata:
|
||||||
chdata:
|
chdata:
|
||||||
certs:
|
certs:
|
||||||
|
|||||||
Reference in New Issue
Block a user