Opened 3 weeks ago

Last modified 2 weeks ago

#33088 new enhancement

Offer obfs4 docker image for additional architectures

Reported by: phw Owned by:
Priority: Medium Milestone:
Component: Circumvention Version:
Severity: Normal Keywords: docker, s30-o24a2
Cc: cohosh, phw Actual Points:
Parent ID: #31281 Points: 1
Reviewer: Sponsor: Sponsor30-can

Description

A bridge operator asked us to cross-compile our docker image for arm64. This sounds like an easy-ish fix that would make the lifes of our bridge operators easier. Let's figure out what it takes to support ARM and potentially other architectures.

Child Tickets

Change History (1)

comment:1 Changed 2 weeks ago by phw

On Linux, cross-architecture builds for docker are currently still an experimental feature that's provided by the "buildx" module. I'll briefly summarise how I got this module to run.

On my Debian buster, I installed the docker-ce-cli package and linked the module /usr/libexec/docker/cli-plugins/docker-buildx to ~/.docker/cli-plugins/docker-buildx. I then enabled experimental features by writing the following to the file /etc/docker/daemon.json:

{                                                                              
    "experimental": true                                                         
}

Next, I restarted the docker service by running sudo service docker restart. Finally, I had to export the environment variable DOCKER_CLI_EXPERIMENTAL=enabled. Once all of that was done, I was able to use experimental features:

$ docker version -f '{{.Server.Experimental}}'
true

...and in particular, the buildx plugin. I stumbled upon a useful blog post that provides an overview of this process.

Note: See TracTickets for help on using tickets.