Commit graph

7 commits

Author SHA1 Message Date
Dmitriy Pervin
284894fe40
Add multi-arch Docker build & GHCR publishing (#1278)
# Summary
This PR addresses failures to run Yggdrasil on ARM systems. The root
cause was the lack of ARM artifacts/images, which led to exec format
error and similar issues.

## What’s added:
- ```Dockerfile.multiarch``` — multi-stage Go build that correctly
propagates GOOS/GOARCH for linux/amd64, linux/arm64, linux/armhf and
linux/armel platform.
- ```entrypoint.sh``` - Introduced ENV **ALLOW_IPV6_FORWARDING**. When
set to a truthy value (e.g., true), the entrypoint executes: ```sysctl
-w net.ipv6.conf.all.forwarding=1```.
- GitHub Action for multi-arch builds and publishing to GHCR — triggered
via ```workflow_dispatch```, push to ```master``` and release via tags
(with docker semantic tags e.g. v0.5.12 → 0.5.12, 0.5, 0).

Example published images:

[https://github.com/Forne/yggdrasil-go/pkgs/container/yggdrasil-go](https://github.com/Forne/yggdrasil-go/pkgs/container/yggdrasil-go)

## Testing
 Ubuntu (24.04, amd64) — image runs correctly.
 macOS (Apple Silicon, arm64) — image runs correctly.
 MikroTik RouterOS (arm64) — image runs under the RouterOS container
package.
2025-10-04 10:51:43 +01:00
Christer Warén
9b67eb7ef2
Update Dockerfile
Removing personal information
2021-03-24 15:39:55 +02:00
William Fleurant
a2adcbd7e4 docker: build and copy genkeys 2020-01-05 15:26:08 -05:00
Christer Warén
712ec7d3fb
Update Dockerfile
ENV CGO_ENABLED=0
2018-12-17 15:28:45 +02:00
Jan Christian Grünhage
9f4fc3669b Reduce container image size 2018-12-04 13:04:42 +01:00
Christer Warén
80b876d21d
Creating entrypoint.sh to /contrib/docker/ 2018-12-03 05:58:24 +02:00
Christer Warén
8b7b3452cf
Creating Dockerfile to /contrib/docker/
- Multiple architectures supported by using Golang's official Debian Stretch image.
- Upgrading os to latest updates
- Adding all files to image
- Creating user for yggdrasil (kinda unused)
- Building from source code
2018-12-03 05:57:00 +02:00