-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #4 from chourmovs/beta
4
- Loading branch information
Showing
1 changed file
with
21 additions
and
13 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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"] |