-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDockerfile.aarch64
More file actions
82 lines (69 loc) · 2.28 KB
/
Copy pathDockerfile.aarch64
File metadata and controls
82 lines (69 loc) · 2.28 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
# syntax=docker/dockerfile:1
# Dockerfile for ARM64/AArch64 architecture
# Based on LinuxServer.io standards with enhanced security
FROM ghcr.io/linuxserver/baseimage-alpine:arm64v8-3.23
# Set shell options for better error handling
SHELL ["/bin/ash", "-eo", "pipefail", "-c"]
# Build arguments
ARG BUILD_DATE
ARG VERSION
ARG VCS_REF
ARG RCLONE_VERSION="1.73.2"
# Environment variables for ARM64
ENV ARCH="aarch64"
ENV QEMU_EXECVE=1
# Labels for ARM64
LABEL build_version="mildman1848 version:- ${VERSION} Build-date:- ${BUILD_DATE}"
LABEL maintainer="mildman1848"
LABEL org.opencontainers.image.title="rclone"
LABEL org.opencontainers.image.description="Cloud storage management with Web GUI"
LABEL org.opencontainers.image.url="https://github.com/mildman1848/rclone"
LABEL org.opencontainers.image.source="https://github.com/mildman1848/rclone"
LABEL org.opencontainers.image.version="${VERSION}"
LABEL org.opencontainers.image.revision="${VCS_REF}"
LABEL org.opencontainers.image.created="${BUILD_DATE}"
LABEL org.opencontainers.image.licenses="MIT"
LABEL org.opencontainers.image.architecture="arm64"
LABEL org.opencontainers.image.platform="linux/arm64"
# Install packages and dependencies for ARM64
RUN set -eux; \
echo "**** install runtime packages ****"; \
apk add --no-cache \
# Add ARM64-specific packages here
curl \
wget \
ca-certificates \
tzdata; \
echo "**** install rclone ****"; \
# Add ARM64-specific installation steps here
mkdir -p \
/app \
/config \
/defaults; \
echo "**** cleanup ****"; \
apk del --purge; \
rm -rf \
/tmp/* \
/var/cache/apk/* \
/var/lib/apk/lists/*
# Copy S6 service definitions
COPY root/ /
# Copy application files (if any)
# COPY --from=builder /app/ /app/
# Set permissions
RUN set -eux; \
chmod +x /etc/s6-overlay/s6-rc.d/*/run 2>/dev/null || true; \
chmod +x /etc/s6-overlay/s6-rc.d/*/up 2>/dev/null || true; \
chown -R abc:abc \
/app \
/config \
/defaults
# Expose port
EXPOSE 5572
# Health check
HEALTHCHECK --interval=30s --timeout=10s --start-period=30s --retries=5 \
CMD ["sh", "-c", "ps aux | grep rclone | grep -v grep || exit 1"]
# Set working directory
WORKDIR /app
# Volume declarations
VOLUME ["/config"]