jlesage / docker-crashplan-pro

Docker container for CrashPlan PRO (aka CrashPlan for Small Business)
MIT License
297 stars 38 forks source link

[Bug] Environment variable SUP_GROUP_IDS does not appear to do anything #431

Closed jason-wilson closed 1 year ago

jason-wilson commented 1 year ago

Current Behavior

Setting SUP_GROUP_IDS in the docker environment, but does not seem to do anything

Expected Behavior

Expect the running application to be placed into the group. Possibly user 'app' gets added to /etc/group. Only references to SUP_GROUP_IDS I can find are in the README.md and in appdefs.yml - cannot see any references to this variable anywhere to see how it is trying to be setup/used.

Steps To Reproduce

Add SUP_GROUP_IDS=0 to docker-compose.yml

docker compose up -d

docker exec crashplantest-crashplan-pro-1 groups app

app

docker exec crashplantest-crashplan-pro-1 ps | grep CrashPlanService

695 app 0:29 /usr/local/crashplan/bin/CrashPlanService

docker exec crashplantest-crashplan-pro-1 grep Groups /proc/695/status

Groups:

Environment

Container creation

Using docker-compose.yml docker compose up -d

Container log

[init        ] container is starting...
[cont-env    ] loading container environment variables...
[cont-env    ] APP_NAME: loading...
[cont-env    ] APP_VERSION: loading...
[cont-env    ] DISPLAY: executing...
[cont-env    ] DISPLAY: terminated successfully.
[cont-env    ] DISPLAY: loading...
[cont-env    ] DOCKER_IMAGE_PLATFORM: loading...
[cont-env    ] DOCKER_IMAGE_VERSION: loading...
[cont-env    ] GTK2_RC_FILES: executing...
[cont-env    ] GTK2_RC_FILES: terminated successfully.
[cont-env    ] GTK2_RC_FILES: loading...
[cont-env    ] GTK_THEME: executing...
[cont-env    ] GTK_THEME: terminated successfully.
[cont-env    ] GTK_THEME: loading...
[cont-env    ] HOME: loading...
[cont-env    ] QT_STYLE_OVERRIDE: executing...
[cont-env    ] QT_STYLE_OVERRIDE: terminated successfully.
[cont-env    ] QT_STYLE_OVERRIDE: loading...
[cont-env    ] TAKE_CONFIG_OWNERSHIP: loading...
[cont-env    ] XDG_CACHE_HOME: loading...
[cont-env    ] XDG_CONFIG_HOME: loading...
[cont-env    ] XDG_DATA_HOME: loading...
[cont-env    ] XDG_RUNTIME_DIR: loading...
[cont-env    ] XDG_STATE_HOME: loading...
[cont-env    ] container environment variables initialized.
[cont-secrets] loading container secrets...
[cont-secrets] container secrets loaded.
[cont-init   ] executing container initialization scripts...
[cont-init   ] 10-certs.sh: executing...
[cont-init   ] 10-certs.sh: terminated successfully.
[cont-init   ] 10-check-app-niceness.sh: executing...
[cont-init   ] 10-check-app-niceness.sh: terminated successfully.
[cont-init   ] 10-cjk-font.sh: executing...
[cont-init   ] 10-cjk-font.sh: terminated successfully.
[cont-init   ] 10-clean-logmonitor-states.sh: executing...
[cont-init   ] 10-clean-logmonitor-states.sh: terminated successfully.
[cont-init   ] 10-clean-tmp-dir.sh: executing...
[cont-init   ] 10-clean-tmp-dir.sh: terminated successfully.
[cont-init   ] 10-fontconfig-cache-dir.sh: executing...
[cont-init   ] 10-fontconfig-cache-dir.sh: terminated successfully.
[cont-init   ] 10-init-users.sh: executing...
[cont-init   ] 10-init-users.sh: terminated successfully.
[cont-init   ] 10-nginx.sh: executing...
[cont-init   ] 10-nginx.sh: terminated successfully.
[cont-init   ] 10-openbox.sh: executing...
[cont-init   ] 10-openbox.sh: terminated successfully.
[cont-init   ] 10-set-tmp-dir-perms.sh: executing...
[cont-init   ] 10-set-tmp-dir-perms.sh: terminated successfully.
[cont-init   ] 10-vnc-password.sh: executing...
[cont-init   ] 10-vnc-password.sh: terminated successfully.
[cont-init   ] 10-web-data.sh: executing...
[cont-init   ] 10-web-data.sh: terminated successfully.
[cont-init   ] 10-x11-unix.sh: executing...
[cont-init   ] 10-x11-unix.sh: terminated successfully.
[cont-init   ] 10-xdg-runtime-dir.sh: executing...
[cont-init   ] 10-xdg-runtime-dir.sh: terminated successfully.
[cont-init   ] 15-install-pkgs.sh: executing...
[cont-init   ] 15-install-pkgs.sh: terminated successfully.
[cont-init   ] 55-crashplan-pro.sh: executing...
[cont-init   ] 55-crashplan-pro.sh: generating machine-id...
[cont-init   ] 55-crashplan-pro.sh: handling initial run...
[cont-init   ] 55-crashplan-pro.sh: setting CrashPlan Engine maximum memory to 1024M
[cont-init   ] 55-crashplan-pro.sh: terminated successfully.
[cont-init   ] 55-validate_max_mem.sh: executing...
[cont-init   ] 55-validate_max_mem.sh: terminated successfully.
[cont-init   ] 85-take-config-ownership.sh: executing...
[cont-init   ] 85-take-config-ownership.sh: terminated successfully.
[cont-init   ] 89-info.sh: executing...
    ╭――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――╮
    │                                                                      │
    │ Application:           CrashPlan for Small Business                  │
    │ Application Version:   11.0.1                                        │
    │ Docker Image Version:  23.04.2                                       │
    │ Docker Image Platform: linux/amd64                                   │
    │                                                                      │
    ╰――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――╯
[cont-init   ] 89-info.sh: terminated successfully.
[cont-init   ] all container initialization scripts executed.
[init        ] giving control to process supervisor.
[supervisor  ] loading services...
[supervisor  ] loading service 'default'...
[supervisor  ] loading service 'app'...
[supervisor  ] loading service 'CrashPlanEngine'...
[supervisor  ] loading service 'gui'...
[supervisor  ] loading service 'certsmonitor'...
[supervisor  ] service 'certsmonitor' is disabled.
[supervisor  ] loading service 'nginx'...
[supervisor  ] loading service 'xvnc'...
[supervisor  ] loading service 'openbox'...
[supervisor  ] loading service 'logmonitor'...
[supervisor  ] loading service 'logrotate'...
[supervisor  ] all services loaded.
[supervisor     ] starting services...
[supervisor     ] starting service 'CrashPlanEngine'...
[supervisor     ] starting service 'xvnc'...
[xvnc           ] Xvnc TigerVNC 1.13.1 - built Apr 16 2023 17:12:53
[xvnc           ] Copyright (C) 1999-2022 TigerVNC Team and many others (see README.rst)
[xvnc           ] See https://www.tigervnc.org for information on TigerVNC.
[xvnc           ] Underlying X server release 12013000
[xvnc           ] Tue Jun  6 19:20:10 2023
[xvnc           ]  vncext:      VNC extension running!
[xvnc           ]  vncext:      Listening for VNC connections on /tmp/vnc.sock (mode 0660)
[xvnc           ]  vncext:      Listening for VNC connections on all interface(s), port 5900
[xvnc           ]  vncext:      created VNC server for screen 0
[supervisor     ] starting service 'nginx'...
[nginx          ] Listening for HTTP connections on port 5800.
[supervisor     ] starting service 'openbox'...
[supervisor     ] starting service 'app'...
[supervisor     ] starting service 'logmonitor'...
[logmonitor     ] Monitoring log file: /config/log/service.log.0
[logmonitor     ] Monitoring status file: /config/log/app.log
[supervisor     ] all services started.

Container inspect

[
    {
        "Id": "9b1932cdf9370fae19a1acb136d099080266d26f051ada7b7ea92fb1a3560ec6",
        "Created": "2023-06-06T09:19:46.076755414Z",
        "Path": "/init",
        "Args": [],
        "State": {
            "Status": "running",
            "Running": true,
            "Paused": false,
            "Restarting": false,
            "OOMKilled": false,
            "Dead": false,
            "Pid": 20093,
            "ExitCode": 0,
            "Error": "",
            "StartedAt": "2023-06-06T09:19:47.387515777Z",
            "FinishedAt": "0001-01-01T00:00:00Z"
        },
        "Image": "sha256:60f73e389d640c8cde1610a40be00e97690550f8ce23af6680c9f85bc37bb4dd",
        "ResolvConfPath": "/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/containers/9b1932cdf9370fae19a1acb136d099080266d26f051ada7b7ea92fb1a3560ec6/resolv.conf",
        "HostnamePath": "/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/containers/9b1932cdf9370fae19a1acb136d099080266d26f051ada7b7ea92fb1a3560ec6/hostname",
        "HostsPath": "/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/containers/9b1932cdf9370fae19a1acb136d099080266d26f051ada7b7ea92fb1a3560ec6/hosts",
        "LogPath": "/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/containers/9b1932cdf9370fae19a1acb136d099080266d26f051ada7b7ea92fb1a3560ec6/9b1932cdf9370fae19a1acb136d099080266d26f051ada7b7ea92fb1a3560ec6-json.log",
        "Name": "/crashplantest-crashplan-pro-1",
        "RestartCount": 0,
        "Driver": "overlay2",
        "Platform": "linux",
        "MountLabel": "",
        "ProcessLabel": "",
        "AppArmorProfile": "",
        "ExecIDs": null,
        "HostConfig": {
            "Binds": [],
            "ContainerIDFile": "",
            "LogConfig": {
                "Type": "json-file",
                "Config": {
                    "max-file": "10",
                    "max-size": "10m"
                }
            },
            "NetworkMode": "crashplantest_default",
            "PortBindings": {
                "5801/tcp": [
                    {
                        "HostIp": "",
                        "HostPort": "5801"
                    }
                ]
            },
            "RestartPolicy": {
                "Name": "",
                "MaximumRetryCount": 0
            },
            "AutoRemove": false,
            "VolumeDriver": "",
            "VolumesFrom": null,
            "CapAdd": null,
            "CapDrop": null,
            "CgroupnsMode": "host",
            "Dns": null,
            "DnsOptions": null,
            "DnsSearch": null,
            "ExtraHosts": [],
            "GroupAdd": null,
            "IpcMode": "private",
            "Cgroup": "",
            "Links": null,
            "OomScoreAdj": 0,
            "PidMode": "",
            "Privileged": false,
            "PublishAllPorts": false,
            "ReadonlyRootfs": false,
            "SecurityOpt": null,
            "UTSMode": "",
            "UsernsMode": "",
            "ShmSize": 67108864,
            "Runtime": "runc",
            "ConsoleSize": [
                0,
                0
            ],
            "Isolation": "",
            "CpuShares": 0,
            "Memory": 0,
            "NanoCpus": 0,
            "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,
            "KernelMemory": 0,
            "KernelMemoryTCP": 0,
            "MemoryReservation": 0,
            "MemorySwap": 0,
            "MemorySwappiness": null,
            "OomKillDisable": false,
            "PidsLimit": null,
            "Ulimits": [
                {
                    "Name": "nofile",
                    "Hard": 65535,
                    "Soft": 65535
                }
            ],
            "CpuCount": 0,
            "CpuPercent": 0,
            "IOMaximumIOps": 0,
            "IOMaximumBandwidth": 0,
            "Mounts": [
                {
                    "Type": "volume",
                    "Source": "eeba0c0b02962daad0de3ff2f528daaa7e8e5cdef63da2c46807fc8954b24e15",
                    "Target": "/storage"
                },
                {
                    "Type": "volume",
                    "Source": "d5014f785c5e1645d76a98d7da713f5c42a298a419761489a7e996f9a0ad85d8",
                    "Target": "/config"
                }
            ],
            "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"
            ],
            "ReadonlyPaths": [
                "/proc/bus",
                "/proc/fs",
                "/proc/irq",
                "/proc/sys",
                "/proc/sysrq-trigger"
            ]
        },
        "GraphDriver": {
            "Data": {
                "LowerDir": "/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay2/93cecd7ceb3860a0073bb6f6d19826c1ad81415e30ece6ebef6f1a8ec59f1711-init/diff:/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay2/73d2ea4a945152525a71ea2cfaf8f4b2d78623c6411217a2f3712b3964c7274a/diff:/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay2/ad8d1d4d5b7e0cfc74e45f754569448a326da2a04a9d82e2d70cc1a4d9498170/diff:/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay2/19db03fb4983d32fb4240077812bb2ae14849029fd7229943a918c1bf63c71cf/diff:/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay2/950fe3d484cb9252a058ad08aa597641081af4b228966654b55e494af2e7de6c/diff:/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay2/31d689a0b188ac062c353dcd75e74ac7dc5b97b4c58833ca61376582d3f34a3f/diff:/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay2/63ef64602e47bc87de612dc47fec797013f440755c10956be84ca135fc1eaa89/diff:/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay2/c2c769002947c764b41b5fb40baa329c4a8e9b8d2464c2f871b9b9e36a0469a7/diff:/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay2/697a364e989d94bcb9262bcc0229e453a2e8a2768e7c60924cb4031d3d053f8e/diff:/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay2/ee7aef11877989f34f8a9cf41da6d8a6cdba12a1d58883f3e967b856aa23d200/diff:/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay2/1e3253341b9ff2a9df455b607527f815bcd5af4249137a7b609beb791fca99fc/diff:/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay2/3a1df828b8efeb4b7fcd685ef7646a5462f318fc52695fb6421a5fe286101ffc/diff:/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay2/ff21ebf72b6719bfa08b89f9d21e607264f25614559da10e061d7a817522f30a/diff:/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay2/014beb4681c0b14daedd96e8dc3cee4837e46ea2e004c929f8cbf08c78a39ccd/diff:/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay2/43c08b1c0dc022ad3688dd13534bb221f5eef31c8855c86b500265e198695a7a/diff:/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay2/2a82d80a23a384e88af2cabffab1f84774b560e2729bd3fe14a34daa4bdf9ec9/diff:/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay2/fe100e74d9d793cc01727e1200bed5c544b88ded5f6ba26afb5d5635c0f0f056/diff:/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay2/a37e41648f226963128733ef01c0b5112dc770bd3bef8a357d15d0604a79a2b4/diff:/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay2/48c49d64e198aa9b532ee7f516e1c47b4d25b3ca3eaa3722c61cc48499a7ed0c/diff:/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay2/3cc7e96b69cabe4d3652ff8b7fb780147b9f81890e36d9d32a8141950f753d60/diff:/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay2/50602df89f8df6e43b156a2aa772a68f01e9214403ab1cea52935ff6b0d01aa5/diff:/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay2/240628d2fc164b5c1f403099811ee314aa1639497dcfa046c94b91935d46eaf1/diff:/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay2/f11d2103d57417581303eb966fef71e1ef5bb060aa5747924421c723b7bfbc8b/diff:/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay2/06351c47ae8aba50a0dfbdb850e4728ba3badfa62b93609ea825ed42e25fd658/diff:/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay2/adc92ce553b3e31db46eabecfed0ae376d4a8ed4af1b889276cc734d03903b38/diff:/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay2/3e4d120bc8a1af3394c1d3c94fe97dfe9a94bd781966042240aa96a605aae014/diff:/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay2/1f2638ab8d2f5b4781573758359b1568fd868292f65c1c4cfc459745666a659a/diff:/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay2/091c2bb215b31288a5ca8bf10fb65c7126e72f59902a500cd3f339ae576c60a7/diff:/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay2/f61fad39d228647ca4c810f80cbe450736602e7949ed4371b8104335c9192fa8/diff:/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay2/71ba0a621eae97866abc88e72afa8bc0cd702e27862d3793f9a5fce16b768243/diff:/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay2/a1c1ecdabd6606b1ba0ec6dd9c43f26ee3a811e3747928fa56c57a67d14c13ca/diff:/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay2/99c7eba3f3f3cbf5ab1f888e82c948c3aabacd573a275072b37b288922f583dc/diff:/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay2/815e218596497a00783f344b383f446fcd7ae2ee992e388faf93453846370d8f/diff:/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay2/2d1bcf2df128a6108e1af5c8c4a192d6f35162a790605d174b9a58c09796644e/diff:/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay2/cbaf9f95364c60579a4fe0bdf309ae0365d14c05785c92360a43bde033a051b8/diff:/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay2/85c8c191b1faec5f14a7b2410c35afad71cc298042ffb2497bb0a98bd0b1bb80/diff:/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay2/5efb771f004b675a3738d56c616090a5990249eeea6cdfeae5b87351b83d3edf/diff",
                "MergedDir": "/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay2/93cecd7ceb3860a0073bb6f6d19826c1ad81415e30ece6ebef6f1a8ec59f1711/merged",
                "UpperDir": "/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay2/93cecd7ceb3860a0073bb6f6d19826c1ad81415e30ece6ebef6f1a8ec59f1711/diff",
                "WorkDir": "/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay2/93cecd7ceb3860a0073bb6f6d19826c1ad81415e30ece6ebef6f1a8ec59f1711/work"
            },
            "Name": "overlay2"
        },
        "Mounts": [
            {
                "Type": "volume",
                "Name": "eeba0c0b02962daad0de3ff2f528daaa7e8e5cdef63da2c46807fc8954b24e15",
                "Source": "/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/volumes/eeba0c0b02962daad0de3ff2f528daaa7e8e5cdef63da2c46807fc8954b24e15/_data",
                "Destination": "/storage",
                "Driver": "local",
                "Mode": "z",
                "RW": true,
                "Propagation": ""
            },
            {
                "Type": "volume",
                "Name": "d5014f785c5e1645d76a98d7da713f5c42a298a419761489a7e996f9a0ad85d8",
                "Source": "/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/volumes/d5014f785c5e1645d76a98d7da713f5c42a298a419761489a7e996f9a0ad85d8/_data",
                "Destination": "/config",
                "Driver": "local",
                "Mode": "z",
                "RW": true,
                "Propagation": ""
            }
        ],
        "Config": {
            "Hostname": "9b1932cdf937",
            "Domainname": "",
            "User": "",
            "AttachStdin": false,
            "AttachStdout": true,
            "AttachStderr": true,
            "ExposedPorts": {
                "5800/tcp": {},
                "5801/tcp": {},
                "5900/tcp": {}
            },
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": [
                "TZ=Australia/Brisbane",
                "SUP_GROUP_IDS=0",
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/base/sbin:/opt/base/bin",
                "ENV=/root/.docker_rc",
                "USER_ID=1000",
                "GROUP_ID=1000",
                "UMASK=0022",
                "LANG=en_US.UTF-8",
                "KEEP_APP_RUNNING=0",
                "APP_NICENESS=0",
                "INSTALL_PACKAGES=",
                "CONTAINER_DEBUG=0",
                "DISPLAY_WIDTH=1920",
                "DISPLAY_HEIGHT=1080",
                "DARK_MODE=0",
                "SECURE_CONNECTION=0",
                "SECURE_CONNECTION_VNC_METHOD=SSL",
                "SECURE_CONNECTION_CERTS_CHECK_INTERVAL=60",
                "WEB_LISTENING_PORT=5800",
                "VNC_LISTENING_PORT=5900",
                "VNC_PASSWORD=",
                "ENABLE_CJK_FONT=0",
                "CRASHPLAN_SRV_MAX_MEM=1024M"
            ],
            "Cmd": [
                "/init"
            ],
            "Image": "jlesage/crashplan-pro",
            "Volumes": {
                "/config": {},
                "/storage": {}
            },
            "WorkingDir": "/tmp",
            "Entrypoint": null,
            "OnBuild": null,
            "Labels": {
                "com.docker.compose.config-hash": "b33d7b9b8630b75ced27f3d1720596f95d72115a75296a06b870ec5254841940",
                "com.docker.compose.container-number": "1",
                "com.docker.compose.depends_on": "",
                "com.docker.compose.image": "sha256:60f73e389d640c8cde1610a40be00e97690550f8ce23af6680c9f85bc37bb4dd",
                "com.docker.compose.oneoff": "False",
                "com.docker.compose.project": "crashplantest",
                "com.docker.compose.project.config_files": "/Users/jay/cloud/Hardware/quincent/crashplantest/docker-compose.yml",
                "com.docker.compose.project.working_dir": "/Users/jay/cloud/Hardware/quincent/crashplantest",
                "com.docker.compose.service": "crashplan-pro",
                "com.docker.compose.version": "2.13.0",
                "org.label-schema.description": "Docker container for CrashPlan PRO",
                "org.label-schema.name": "crashplan-pro",
                "org.label-schema.schema-version": "1.0",
                "org.label-schema.vcs-url": "https://github.com/jlesage/docker-crashplan-pro",
                "org.label-schema.version": "23.04.2"
            }
        },
        "NetworkSettings": {
            "Bridge": "",
            "SandboxID": "1fdc74fce7fed87ee55c8471c0b72fc72e1aad26970c07f1e996730899c991d0",
            "HairpinMode": false,
            "LinkLocalIPv6Address": "",
            "LinkLocalIPv6PrefixLen": 0,
            "Ports": {
                "5800/tcp": null,
                "5801/tcp": [
                    {
                        "HostIp": "0.0.0.0",
                        "HostPort": "5801"
                    }
                ],
                "5900/tcp": null
            },
            "SandboxKey": "/var/run/docker/netns/1fdc74fce7fe",
            "SecondaryIPAddresses": null,
            "SecondaryIPv6Addresses": null,
            "EndpointID": "",
            "Gateway": "",
            "GlobalIPv6Address": "",
            "GlobalIPv6PrefixLen": 0,
            "IPAddress": "",
            "IPPrefixLen": 0,
            "IPv6Gateway": "",
            "MacAddress": "",
            "Networks": {
                "crashplantest_default": {
                    "IPAMConfig": null,
                    "Links": null,
                    "Aliases": [
                        "crashplantest-crashplan-pro-1",
                        "crashplan-pro",
                        "9b1932cdf937"
                    ],
                    "NetworkID": "ff4326ab20e5011d3b0daa4c2898c2304d6e84be369c9c68bc4885f883ac7144",
                    "EndpointID": "be45f2b474d0d9c99b6efdcc184395185b571c76f356717b480678294bdea0a7",
                    "Gateway": "172.29.68.1",
                    "IPAddress": "172.29.68.2",
                    "IPPrefixLen": 22,
                    "IPv6Gateway": "",
                    "GlobalIPv6Address": "",
                    "GlobalIPv6PrefixLen": 0,
                    "MacAddress": "02:42:ac:1d:44:02",
                    "DriverOpts": null
                }
            }
        }
    }
]

Anything else?

docker-compose.yml: version: '3'

services: crashplan-pro: image: jlesage/crashplan-pro

environment:
  - TZ=Australia/Brisbane
  - SUP_GROUP_IDS=0

ports:
  - 5801:5801
jason-wilson commented 1 year ago

After a lot of digging (sorry should have dug more) found a script as part of install called: /etc/cont-init.d/10-init-users.sh from the base image jlesage/baseimage-gui:alpine-3.16-v4.4.2 In this script there is this line: echo ${SUP_GROUP_IDS:-},${SUP_GROUP_IDS_INTERNAL:-} | tr ',' '\n' | grep -v '^$' | grep -v '^0$' | grep -vw "$GROUP_ID" | sort -nub | while read GID

Which does add to groups, unless the gid happens to be '0' - which in my case it is. If I instead try SUP_GROUP_IDS=42 (only other group available) then it works and app gets added to group and Crashplan runs with this group added.

Assume there a reason why gid of 0 is forbidden - will work out a different way to add to group

jlesage commented 1 year ago

The ID 0 is the ID of root. root has access to everything and cannot be set as a supplementary group. You can set the GROUP_ID to 0, but this is not really a good security practice.

jason-wilson commented 1 year ago

Thanks for that - I know it was not ideal, but the volume I have mounted has the files group readable by group '0' and by a uid that mismatches other systems - adding gid 0 seemed an easier route then changing owners on multiple other Docker projects.

Oh well - will see what else I can do. Closing this as not a bug, deliberate design decision (maybe add to https://github.com/jlesage/docker-baseimage-gui/blob/master/README.md that cannot include 0 as a group id)

jlesage commented 1 year ago

So instead of using SUP_GROUP_IDS, you can use GROUP_ID and set it to 0, this should be equivalent to what you are trying to do.