Skip to content

Commit

Permalink
Formatting and rewording
Browse files Browse the repository at this point in the history
  • Loading branch information
mietzen committed Oct 17, 2024
1 parent 94913c6 commit 3dcde2e
Showing 1 changed file with 35 additions and 27 deletions.
62 changes: 35 additions & 27 deletions docs/src/installation/cross-compile-using-docker.md
Original file line number Diff line number Diff line change
@@ -1,33 +1,41 @@
# Cross Compilation using Docker

We can also use `docker` to cross compile on every platform and OS that runs `docker` and `qemu`:

1. Setup a docker [custom builder](https://docs.docker.com/build/building/multi-platform/#create-a-custom-builder)
```shell
docker buildx create \
--name container-builder \
--driver docker-container \
--use --bootstrap
```

2. Create a docker `compose-file.yml`:
```yaml
services:
build-container:
image: rust:1.79-bookworm
platform: linux/arm64
command: bash -c "
apt-get update &&
apt-get install -y \
libasound2-dev \
libssl-dev \
pkg-config &&
curl -sSL https://api.github.com/repos/Spotifyd/spotifyd/tarball/v0.3.5 | tar xz -C /spotifyd --strip-components=1 &&
cargo build --release &&
cp /spotifyd/target/release/spotifyd /build/"
working_dir: /spotifyd
volumes:
- ./:/build
```

```shell
docker buildx create \
--name container-builder \
--driver docker-container \
--use --bootstrap
```

If you are **not** using Docker-Desktop you might have to install [QEMU](https://docs.docker.com/build/building/multi-platform/#install-qemu-manually)

2. Create a docker `compose-file.yml`

Here we are building a `arm64` binary, so we set `platform: linux/arm64`

```yaml
services:
build-container:
image: rust:1.79-bookworm
platform: linux/arm64
command: bash -c "
apt-get update &&
apt-get install -y \
libasound2-dev \
libssl-dev \
pkg-config &&
curl -sSL https://api.github.com/repos/Spotifyd/spotifyd/tarball/v0.3.5 | tar xz -C /spotifyd --strip-components=1 &&
cargo build --release &&
cp /spotifyd/target/release/spotifyd /build/"
working_dir: /spotifyd
volumes:
- ./:/build
```

3. Run `docker compose up`

This will copy the build `spotifyd` binary in the current directory.
This will copy the build `spotifyd` binary in the current directory.

0 comments on commit 3dcde2e

Please sign in to comment.