* feat: enable multi-arch builds and add tor and i2p images This commit introduces multi-architecture support (amd64 & arm64) for Docker image builds using Docker Buildx. It also adds new images for tor and i2p services. The release script is updated to handle these new images and to accept a Docker Hub username as an argument. The publish workflow is updated to use the new release script and to set up QEMU and Docker Buildx. * feat(publish.yaml): add workflow_dispatch trigger to publish workflow feat(publish.yaml): allow publish workflow to run when workflow_dispatch event is triggered * feat(dockerfiles/monero): add support for ARM64 architecture * build(dockerfiles/monero): remove duplicate FROM instruction release(monero)
41 lines
989 B
Plaintext
41 lines
989 B
Plaintext
FROM ubuntu:22.04
|
|
|
|
ENV DEBIAN_FRONTEND=noninteractive
|
|
|
|
RUN apt-get update && apt-get install -y wget sudo
|
|
|
|
# Detect architecture and use it immediately to download and install the corresponding i2pd package.
|
|
RUN set -ex; \
|
|
arch=$(uname -m); \
|
|
if [ "$arch" = "x86_64" ]; then \
|
|
ARCH="amd64"; \
|
|
elif [ "$arch" = "aarch64" ]; then \
|
|
ARCH="arm64"; \
|
|
else \
|
|
echo "Unsupported architecture: $arch" && exit 1; \
|
|
fi; \
|
|
echo "Using architecture: $ARCH"; \
|
|
wget "https://github.com/PurpleI2P/i2pd/releases/download/2.54.0/i2pd_2.54.0-1jammy1_${ARCH}.deb" -O i2pd.deb -q && \
|
|
apt install ./i2pd.deb -y && \
|
|
rm -rf i2pd.deb && \
|
|
apt clean all && \
|
|
apt autoremove -y
|
|
|
|
RUN adduser \
|
|
--system \
|
|
--shell /bin/bash \
|
|
--gecos 'i2p' \
|
|
--group \
|
|
--disabled-password \
|
|
--home /home/i2p \
|
|
--uid 1000 \
|
|
i2p
|
|
|
|
COPY dockerfiles/i2p-config /i2p-config
|
|
|
|
USER i2p
|
|
|
|
EXPOSE 4447
|
|
|
|
ENTRYPOINT ["i2pd", "--conf", "/i2p-config"]
|