Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

4 #4

Merged
merged 1 commit into from
Sep 1, 2024
Merged

4 #4

Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 21 additions & 13 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,31 +1,39 @@
# Étape 1 : Utiliser une image de base Arch Linux
FROM archlinux:latest
# Étape 1 : Construction de l'application dans une image de build
FROM archlinux:latest AS build

# Étape 2 : Mettre à jour les paquets et installer les dépendances
# Mettre à jour les paquets et installer les dépendances nécessaires à la compilation
RUN pacman -Syu --noconfirm \
&& pacman -S --noconfirm base-devel clang ffmpeg git curl nodejs npm
&& pacman -S --noconfirm base-devel clang ffmpeg git curl

# Étape 3 : Installer Rust via rustup
# Installer Rust
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
ENV PATH="/root/.cargo/bin:${PATH}"

# Étape 4 : Cloner et compiler blissify-rs
# Cloner et compiler blissify-rs
WORKDIR /app
RUN git clone https://github.com/Polochon-street/blissify-rs.git .
RUN cargo build --release

# Étape 5 : Configurer et installer les dépendances de la webapp
WORKDIR /app/webapp
# Étape 2 : Créer l'image finale minimale
FROM archlinux:latest

# Initialiser le projet Node.js et installer les dépendances
RUN npm init -y
RUN npm install express child_process ssh2 sftp-upload
# Installer uniquement les dépendances nécessaires à l'exécution
RUN pacman -Syu --noconfirm \
&& pacman -S --noconfirm ffmpeg openssh

# Copier les fichiers de la webapp dans l'image
# Copier l'exécutable compilé depuis l'étape de build
COPY --from=build /app/target/release/blissify /usr/local/bin/blissify

# Copier les fichiers de la webapp dans l'image finale
WORKDIR /app/webapp
COPY ./webapp /app/webapp

# Installer Node.js et les dépendances de la webapp
RUN pacman -S --noconfirm nodejs npm
RUN npm install

# Exposer le port 3000
EXPOSE 3000

# Commande pour démarrer la webapp
# Commande de démarrage de la webapp
CMD ["node", "app.js"]
Loading