Skip to content

[Bug]: VSCode Dev Container failing on Apple Silicone #39461

@tsdicloud

Description

@tsdicloud

⚠️ This issue respects the following points: ⚠️

Bug description

Starting the .devcontainer on current server master branch produces the following error on Apple Silicon (arm architecture):

 => ERROR [nextclouddev dev_container_auto_added_stage_label 7/11] RUN a 5.2s
 ------                                     
 > [nextclouddev dev_container_auto_added_stage_label 7/11] RUN apt-get -y install  apt-transport-https  ca-certificates  curl  gnupg-agent  software-properties-common &&  curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add - &&  add-apt-repository  "deb [arch=amd64] https://download.docker.com/linux/ubuntu  $(lsb_release -cs)  stable" &&  apt-get update -y &&  apt-cache policy docker-ce &&  apt-get install -y docker-ce docker-ce-cli [containerd.io](http://containerd.io/) &&  ln -s /var/run/docker-host.sock /var/run/docker.sock:
 0.137 Reading package lists...
 0.570 Building dependency tree...
 0.663 Reading state information...
 0.777 ca-certificates is already the newest version (20230311ubuntu0.22.04.1).
 0.777 ca-certificates set to manually installed.
 0.777 curl is already the newest version (7.81.0-1ubuntu1.10).
 0.777 software-properties-common is already the newest version (0.99.22.7).
 0.777 The following NEW packages will be installed:
 0.777 apt-transport-https gnupg-agent
 1.125 0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
 1.125 Need to get 6994 B of archives.
 1.125 After this operation, 216 kB of additional disk space will be used.
 1.125 Get:1 http://ports.ubuntu.com/ubuntu-ports jammy-updates/universe arm64 apt-transport-https all 2.4.9 [1510 B]
 1.169 Get:2 http://ports.ubuntu.com/ubuntu-ports jammy-updates/universe arm64 gnupg-agent all 2.2.27-3ubuntu2.1 [5484 B]
 1.308 debconf: delaying package configuration, since apt-utils is not installed
 1.326 Fetched 6994 B in 0s (18.3 kB/s)
 1.339 Selecting previously unselected package apt-transport-https.
 (Reading database ... 21489 files and directories currently installed.)
 1.360 Preparing to unpack .../apt-transport-https_2.4.9_all.deb ...
 1.362 Unpacking apt-transport-https (2.4.9) ...
 1.378 Selecting previously unselected package gnupg-agent.
 1.380 Preparing to unpack .../gnupg-agent_2.2.27-3ubuntu2.1_all.deb ...
 1.382 Unpacking gnupg-agent (2.2.27-3ubuntu2.1) ...
 1.404 Setting up apt-transport-https (2.4.9) ...
 1.412 Setting up gnupg-agent (2.2.27-3ubuntu2.1) ...
 1.478 Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)).
 1.635 OK
 2.311 Hit:1 http://ports.ubuntu.com/ubuntu-ports jammy InRelease
 2.343 Get:2 https://download.docker.com/linux/ubuntu jammy InRelease [48.9 kB]
 2.346 Get:3 http://ports.ubuntu.com/ubuntu-ports jammy-updates InRelease [119 kB]
 2.512 Get:4 https://download.docker.com/linux/ubuntu jammy/stable amd64 Packages [23.3 kB]
 2.535 Get:5 http://ports.ubuntu.com/ubuntu-ports jammy-backports InRelease [108 kB]
 2.617 Get:6 http://ports.ubuntu.com/ubuntu-ports jammy-security InRelease [110 kB]
 2.691 Get:7 http://ports.ubuntu.com/ubuntu-ports jammy-updates/multiverse arm64 Packages [27.5 kB]
 2.753 Get:8 http://ports.ubuntu.com/ubuntu-ports jammy-security/main arm64 Packages [638 kB]
 2.905 Get:9 http://ports.ubuntu.com/ubuntu-ports jammy-security/universe arm64 Packages [838 kB]
 2.998 Fetched 1912 kB in 1s (2401 kB/s)
 2.998 Reading package lists...
 3.381 W: https://download.docker.com/linux/ubuntu/dists/jammy/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.
 3.382 Repository: 'deb [arch=amd64] https://download.docker.com/linux/ubuntu jammy stable'
 3.382 Description:
 3.382 Archive for codename: jammy components: stable
 3.382 More info: https://download.docker.com/linux/ubuntu
 3.382 Adding repository.
 3.382 Adding deb entry to /etc/apt/sources.list.d/archive_uri-https_download_docker_com_linux_ubuntu-jammy.list
 3.382 Adding disabled deb-src entry to /etc/apt/sources.list.d/archive_uri-https_download_docker_com_linux_ubuntu-jammy.list
 3.510 Hit:1 https://download.docker.com/linux/ubuntu jammy InRelease
 3.537 Hit:2 http://ports.ubuntu.com/ubuntu-ports jammy InRelease
 3.578 Hit:3 http://ports.ubuntu.com/ubuntu-ports jammy-updates InRelease
 3.623 Hit:4 http://ports.ubuntu.com/ubuntu-ports jammy-backports InRelease
 3.665 Hit:5 http://ports.ubuntu.com/ubuntu-ports jammy-security InRelease
 3.870 Reading package lists...
 4.250 W: https://download.docker.com/linux/ubuntu/dists/jammy/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.
 4.632 docker-ce:
 4.632 Installed: (none)
 4.632 Candidate: (none)
 4.632 Version table:
 4.658 Reading package lists...
 5.037 Building dependency tree...
 5.129 Reading state information...
 5.152 Package docker-ce is not available, but is referred to by another package.
 5.152 This may mean that the package is missing, has been obsoleted, or
 5.152 is only available from another source
 5.152 However the following packages replace it:
 5.152 docker-ce-cli:amd64
 5.152 
 5.155 E: Package 'docker-ce' has no installation candidate
 5.155 E: Unable to locate package docker-ce-cli
 5.155 E: Unable to locate package [containerd.io](http://containerd.io/)
 5.155 E: Couldn't find any package by glob '[containerd.io](http://containerd.io/)'
 5.155 E: Couldn't find any package by regex '[containerd.io](http://containerd.io/)'
 ------
 failed to solve: process "/bin/sh -c apt-get -y install  apt-transport-https  ca-certificates  curl  gnupg-agent  software-properties-common &&  curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add - &&  add-apt-repository  \"deb [arch=amd64] https://download.docker.com/linux/ubuntu  $(lsb_release -cs)  stable\" &&  apt-get update -y &&  apt-cache policy docker-ce &&  apt-get install -y docker-ce docker-ce-cli [containerd.io](http://containerd.io/) &&  ln -s /var/run/docker-host.sock /var/run/docker.sock" did not complete successfully: exit code: 100
 [6647 ms] Error: Command failed: docker-compose --project-name server_devcontainer -f /Users/user/work/nextcloud/server/.devcontainer/docker-compose.yml -f /Users/user/Library/Application Support/Code/User/globalStorage/ms-vscode-remote.remote-containers/data/docker-compose/docker-compose.devcontainer.build-1689686331516.yml build
 [6647 ms]  at aC (/Users/user/.vscode/extensions/ms-vscode-remote.remote-containers-0.299.0/dist/spec-node/devContainersSpecCLI.js:1972:412)
 [6647 ms]  at process.processTicksAndRejections (node:internal/process/task_queues:96:5)
 [6647 ms]  at async Tte (/Users/user/.vscode/extensions/ms-vscode-remote.remote-containers-0.299.0/dist/spec-node/devContainersSpecCLI.js:1972:2381)
 [6648 ms]  at async Pte (/Users/user/.vscode/extensions/ms-vscode-remote.remote-containers-0.299.0/dist/spec-node/devContainersSpecCLI.js:1954:3170)
 [6648 ms]  at async rre (/Users/user/.vscode/extensions/ms-vscode-remote.remote-containers-0.299.0/dist/spec-node/devContainersSpecCLI.js:2024:3833)
 [6648 ms]  at async Yf (/Users/user/.vscode/extensions/ms-vscode-remote.remote-containers-0.299.0/dist/spec-node/devContainersSpecCLI.js:2024:4775)
 [6648 ms]  at async Dne (/Users/user/.vscode/extensions/ms-vscode-remote.remote-containers-0.299.0/dist/spec-node/devContainersSpecCLI.js:2156:12193)
 [6648 ms]  at async Sne (/Users/user/.vscode/extensions/ms-vscode-remote.remote-containers-0.299.0/dist/spec-node/devContainersSpecCLI.js:2156:11934)
 [6650 ms] Exit code 1
 [6652 ms] Command failed: /Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper (Plugin).app/Contents/MacOS/Code Helper (Plugin) --ms-enable-electron-run-as-node /Users/user/.vscode/extensions/ms-vscode-remote.remote-containers-0.299.0/dist/spec-node/devContainersSpecCLI.js up --user-data-folder /Users/user/Library/Application Support/Code/User/globalStorage/ms-vscode-remote.remote-containers/data --container-session-data-folder /tmp/devcontainers-f135a742-f2a8-48db-95a9-ef5be8007d371689686329917 --workspace-folder /Users/user/work/nextcloud/server --workspace-mount-consistency cached --id-label devcontainer.local_folder=/Users/user/work/nextcloud/server --id-label devcontainer.config_file=/Users/user/work/nextcloud/server/.devcontainer/devcontainer.json --log-level debug --log-format json --config /Users/user/work/nextcloud/server/.devcontainer/devcontainer.json --default-user-env-probe loginInteractiveShell --mount type=volume,source=vscode,target=/vscode,external=true --skip-post-create --update-remote-user-uid-default on --mount-workspace-git-root true```

### Steps to reproduce

1. Start the dev container on an Apple Silicone machine



### Expected behavior

Server successfully starts.

### Installation method

Other Community project

### Nextcloud Server version

master

### Operating system

Other

### PHP engine version

PHP 8.1

### Web server

Apache (supported)

### Database engine version

PostgreSQL

### Is this bug present after an update or on a fresh install?

Fresh Nextcloud Server install

### Are you using the Nextcloud Server Encryption module?

None

### What user-backends are you using?

- [X] Default user-backend _(database)_
- [ ] LDAP/ Active Directory
- [ ] SSO - SAML
- [ ] Other

### Configuration report

```shell
Not relevant

List of activated Apps

Not relevant

Nextcloud Signing status

Not relevant

Nextcloud Logs

Not relevant

Additional info

It is obviously a problem with the installation procedure in Dockerfile of .devcontainer

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions