From 2bccb692a29bf4da5305cd2192b52e65c2185480 Mon Sep 17 00:00:00 2001 From: auto-ci Date: Sun, 8 Mar 2026 21:34:43 -0400 Subject: [PATCH] compose: separate amd64 base from arm override --- docker-compose.arm.yml | 12 ++++-------- docker-compose.lock.yml | 11 +++++++++-- docker-compose.yml | 30 +++++++++++++++++++++++------- 3 files changed, 36 insertions(+), 17 deletions(-) diff --git a/docker-compose.arm.yml b/docker-compose.arm.yml index 8157d6a..4a4ff66 100644 --- a/docker-compose.arm.yml +++ b/docker-compose.arm.yml @@ -3,14 +3,10 @@ # # docker compose -f docker-compose.yml -f docker-compose.arm.yml up --build # -# This file adds `platform: linux/arm64` hints to services so the correct -# architecture is selected when running on an ARM host. It does **not** replace -# any images; if an image is not available for ARM (e.g. alfis, unbound, the -# prebuilt tor_yggdrasil) Docker will attempt emulation via QEMU or fall back to -# amd64. -# -# You can also modify this file to swap in ARM-specific images or build -# instructions if you have them. +# The base compose is AMD64-only. This override is the ARM-only mode. +# Apply this file on ARM hosts to switch services to linux/arm64 and ARM builds. +# If an image/build does not support ARM, startup should fail rather than silently +# using emulation. services: dark3proxy: diff --git a/docker-compose.lock.yml b/docker-compose.lock.yml index e44a19a..07a71e8 100644 --- a/docker-compose.lock.yml +++ b/docker-compose.lock.yml @@ -3,6 +3,7 @@ services: container_name: dark3proxy build: context: ./3proxy/. + platform: linux/amd64 dns: - "10.5.0.6" dns_search: internal.namespace #namespace used in internal DNS @@ -20,8 +21,10 @@ services: i2pd_yggdrasil: container_name: darki2p -# image: i2pd_yggdrasil:latest - image: host60/i2pd_yggdrasil:v1.0 + build: + context: ./i2pd_yggdrasil_docker/src + dockerfile: Dockerfile + platform: linux/amd64 privileged: true cap_add: - NET_ADMIN @@ -72,6 +75,7 @@ services: build: context: ./tor_yggdrasil_docker dockerfile: Dockerfile + platform: linux/amd64 # image: tor_yggdrasil:latest # container_name: tor_over_yggdrasil container_name: darktor @@ -96,6 +100,7 @@ services: alfis: image: cofob/alfis + platform: linux/amd64 # platform removed; image is amd64 only container_name: darkalfis volumes: @@ -115,6 +120,7 @@ services: build: context: ./PopuraDNS dockerfile: Dockerfile + platform: linux/amd64 container_name: darkdns restart: unless-stopped sysctls: @@ -131,6 +137,7 @@ services: unbound: container_name: darkunbound image: mvance/unbound:latest + platform: linux/amd64 # platform removed; image is amd64-only sysctls: - "net.ipv6.conf.all.disable_ipv6=0" diff --git a/docker-compose.yml b/docker-compose.yml index 67fd3e2..541b1b4 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,9 +1,9 @@ services: dark3proxy: container_name: dark3proxy - image: host60/darkproxy-dark3proxy:v1.0 build: context: ./3proxy/. + platform: linux/amd64 dns: - "10.5.0.6" dns_search: internal.namespace #namespace used in internal DNS @@ -24,8 +24,10 @@ services: i2pd_yggdrasil: container_name: darki2p - image: host60/i2pd_yggdrasil:v1.3 -# image: i2pd_yggdrasil:latest + build: + context: ./i2pd_yggdrasil_docker/src + dockerfile: Dockerfile + platform: linux/amd64 privileged: true cap_add: - NET_ADMIN @@ -71,8 +73,10 @@ services: ipv4_address: 10.5.0.2 tor_yggdrasil: - image: host60/tor_yggdrasil:v1.0 -# image: tor_yggdrasil:latest + build: + context: ./tor_yggdrasil_docker + dockerfile: Dockerfile + platform: linux/amd64 # container_name: tor_over_yggdrasil container_name: darktor entrypoint: ["tor"] @@ -99,6 +103,7 @@ services: alfis: image: cofob/alfis + platform: linux/amd64 # platform removed; image is amd64 only container_name: darkalfis volumes: @@ -114,11 +119,10 @@ services: ipv4_address: 10.5.0.3 coredns: -# image: darkdns - image: host60/darkdns:v1.0 build: context: ./PopuraDNS dockerfile: Dockerfile + platform: linux/amd64 container_name: darkdns restart: unless-stopped cpus: "1.0" @@ -138,6 +142,7 @@ services: unbound: container_name: darkunbound image: mvance/unbound:latest + platform: linux/amd64 # platform removed; image is amd64-only sysctls: - "net.ipv6.conf.all.disable_ipv6=0" @@ -165,6 +170,7 @@ services: pihole: container_name: darkpihole image: pihole/pihole:latest + platform: linux/amd64 # For DHCP it is recommended to remove these ports and instead add: network_mode: "host" ports: # DNS Ports @@ -227,6 +233,7 @@ services: emc: image: wg00/emercoin:0.8.4 + platform: linux/amd64 container_name: darkemer volumes: - emc_data:/emc/data @@ -248,6 +255,7 @@ services: build: context: ./ensdns dockerfile: Dockerfile + platform: linux/amd64 container_name: darkens restart: unless-stopped cpus: "0.5" @@ -266,6 +274,7 @@ services: build: context: ./zildns dockerfile: Dockerfile + platform: linux/amd64 container_name: darkzil restart: unless-stopped cpus: "0.5" @@ -287,6 +296,7 @@ services: build: context: ./lokinet dockerfile: Dockerfile + platform: linux/amd64 container_name: darklokinet restart: unless-stopped cpus: "1.0" @@ -305,6 +315,7 @@ services: namecoind: image: ukd1/namecoind:latest + platform: linux/amd64 container_name: darknamecoind restart: unless-stopped cpus: "2.0" @@ -337,6 +348,7 @@ services: build: context: ./namecoindns dockerfile: Dockerfile + platform: linux/amd64 container_name: darknamecoin restart: unless-stopped cpus: "0.5" @@ -359,6 +371,7 @@ services: build: context: ./tailscale dockerfile: Dockerfile + platform: linux/amd64 container_name: darkscale hostname: darkproxy-exit cap_add: @@ -387,6 +400,7 @@ services: build: context: ./monitor image: darkproxy-3proxy-exporter:latest + platform: linux/amd64 depends_on: - dark3proxy networks: @@ -396,6 +410,7 @@ services: prometheus: image: prom/prometheus:latest container_name: darkprom + platform: linux/amd64 volumes: - ./monitor/prometheus.yml:/etc/prometheus/prometheus.yml:ro ports: @@ -407,6 +422,7 @@ services: grafana: image: grafana/grafana:latest container_name: darkgraf + platform: linux/amd64 ports: - "127.0.0.1:2005:3000" environment: