mirror of
https://github.com/BreizhHardware/ntfy_alerts.git
synced 2026-01-18 16:37:28 +01:00
refactor(docker): update Dockerfile for architecture-specific binary handling and add OpenSSL dependency
This commit is contained in:
11
Cargo.lock
generated
11
Cargo.lock
generated
@@ -405,6 +405,7 @@ dependencies = [
|
|||||||
"dotenv",
|
"dotenv",
|
||||||
"env_logger",
|
"env_logger",
|
||||||
"log",
|
"log",
|
||||||
|
"openssl",
|
||||||
"reqwest",
|
"reqwest",
|
||||||
"rusqlite",
|
"rusqlite",
|
||||||
"serde",
|
"serde",
|
||||||
@@ -927,6 +928,15 @@ version = "0.1.6"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e"
|
checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "openssl-src"
|
||||||
|
version = "300.5.0+3.5.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "e8ce546f549326b0e6052b649198487d91320875da901e7bd11a06d1ee3f9c2f"
|
||||||
|
dependencies = [
|
||||||
|
"cc",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "openssl-sys"
|
name = "openssl-sys"
|
||||||
version = "0.9.109"
|
version = "0.9.109"
|
||||||
@@ -935,6 +945,7 @@ checksum = "90096e2e47630d78b7d1c20952dc621f957103f8bc2c8359ec81290d75238571"
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
"cc",
|
"cc",
|
||||||
"libc",
|
"libc",
|
||||||
|
"openssl-src",
|
||||||
"pkg-config",
|
"pkg-config",
|
||||||
"vcpkg",
|
"vcpkg",
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -1,33 +1,33 @@
|
|||||||
FROM alpine:3.22
|
FROM alpine:3.22 AS base
|
||||||
|
|
||||||
# Installer les dépendances nécessaires
|
# Copier les binaires précompilés selon l'architecture
|
||||||
RUN apk add --no-cache sqlite-libs openssl nginx
|
COPY binaries-docker/github-ntfy-amd64 /usr/local/bin/github-ntfy-amd64
|
||||||
|
COPY binaries-docker/github-ntfy-arm64 /usr/local/bin/github-ntfy-arm64
|
||||||
|
|
||||||
# Copier les fichiers web statiques
|
# Installation des dépendances et configuration du binaire selon l'architecture
|
||||||
|
RUN apk add --no-cache sqlite-libs openssl nginx && \
|
||||||
|
if [ "$(uname -m)" = "x86_64" ]; then \
|
||||||
|
cp /usr/local/bin/github-ntfy-amd64 /usr/local/bin/github-ntfy; \
|
||||||
|
elif [ "$(uname -m)" = "aarch64" ]; then \
|
||||||
|
cp /usr/local/bin/github-ntfy-arm64 /usr/local/bin/github-ntfy; \
|
||||||
|
fi && \
|
||||||
|
chmod +x /usr/local/bin/github-ntfy && \
|
||||||
|
rm /usr/local/bin/github-ntfy-*
|
||||||
|
|
||||||
|
WORKDIR /app
|
||||||
|
|
||||||
|
# Copier les fichiers statiques
|
||||||
COPY index.html /var/www/html/index.html
|
COPY index.html /var/www/html/index.html
|
||||||
COPY script.js /var/www/html/script.js
|
COPY script.js /var/www/html/script.js
|
||||||
|
|
||||||
# Copier les binaires compilés en fonction de l'architecture
|
|
||||||
ARG TARGETARCH
|
|
||||||
ARG TARGETVARIANT
|
|
||||||
COPY binaries-docker/github-ntfy-${TARGETARCH}${TARGETVARIANT} /usr/local/bin/github-ntfy
|
|
||||||
|
|
||||||
# Corriger pour arm/v7
|
|
||||||
RUN if [ -f /usr/local/bin/github-ntfyv7 ]; then \
|
|
||||||
mv /usr/local/bin/github-ntfyv7 /usr/local/bin/github-ntfy; \
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Rendre le binaire exécutable
|
|
||||||
RUN chmod +x /usr/local/bin/github-ntfy
|
|
||||||
|
|
||||||
# Copier la configuration nginx
|
# Copier la configuration nginx
|
||||||
COPY nginx.conf /etc/nginx/nginx.conf
|
COPY nginx.conf /etc/nginx/nginx.conf
|
||||||
|
|
||||||
# Copier et rendre exécutable le script d'entrée
|
# Copier le script d'entrée
|
||||||
COPY entrypoint.sh /
|
COPY entrypoint.sh /
|
||||||
RUN chmod 700 /entrypoint.sh
|
RUN chmod 700 /entrypoint.sh
|
||||||
|
|
||||||
# Définir les variables d'environnement
|
# Variables d'environnement
|
||||||
ENV USERNAME="" \
|
ENV USERNAME="" \
|
||||||
PASSWORD="" \
|
PASSWORD="" \
|
||||||
NTFY_URL="" \
|
NTFY_URL="" \
|
||||||
@@ -38,13 +38,10 @@ ENV USERNAME="" \
|
|||||||
GOTIFY_URL="" \
|
GOTIFY_URL="" \
|
||||||
GOTIFY_TOKEN="" \
|
GOTIFY_TOKEN="" \
|
||||||
DISCORD_WEBHOOK_URL="" \
|
DISCORD_WEBHOOK_URL="" \
|
||||||
SLACK_WEBHOOK_URL="" \
|
SLACK_WEBHOOK_URL=""
|
||||||
DB_PATH="/data"
|
|
||||||
|
|
||||||
# Créer le répertoire des données
|
RUN mkdir -p /github-ntfy && chmod 755 /github-ntfy
|
||||||
RUN mkdir -p /data && chmod 755 /data
|
|
||||||
|
|
||||||
# Exposer les ports pour l'API et le serveur web
|
|
||||||
EXPOSE 8080 80
|
EXPOSE 8080 80
|
||||||
|
|
||||||
ENTRYPOINT ["/entrypoint.sh"]
|
ENTRYPOINT ["/entrypoint.sh"]
|
||||||
Reference in New Issue
Block a user