AAT docker

This commit is contained in:
stanig2106
2025-09-10 00:09:27 +02:00
commit 77a33bdbc3
2 changed files with 96 additions and 0 deletions

19
Dockerfile Normal file
View File

@@ -0,0 +1,19 @@
# Image Node 22
FROM node:22-alpine
# Outils utiles pour certaines dépendances natives et git
RUN apk add --no-cache \
git \
python3 \
make \
g++ \
bash \
libc6-compat
# Dossier persistant où l'install déposera l'app
WORKDIR /data
# Port utilisé par l'UI d'installation et par l'app
EXPOSE 8080
# Pas d'ENTRYPOINT: on pilote via 'command' dans docker-compose

77
docker-compose.yml Normal file
View File

@@ -0,0 +1,77 @@
version: "3.9"
services:
mongo:
image: mongo:6.0
restart: unless-stopped
volumes:
- mongo-data:/data/db
# Phase d'installation - UI sur 8080 pour config initiale
adapt-install:
build: .
profiles: ["install"]
depends_on:
- mongo
environment:
- NODE_ENV=production
ports:
- "3500:8080"
volumes:
- app-data:/data
command: >
sh -lc "rm -rf /data/app; npx adapt-security/at-utils install --prerelease /data/app"
restart: "no"
# Phase de run - lance l'app déjà installée
adapt:
build: .
profiles: ["run"]
depends_on:
- mongo
environment:
- NODE_ENV=production
ports:
- "3500:8080"
volumes:
- app-data:/data
working_dir: /data/app
command: >
sh -lc "npm start"
restart: unless-stopped
# Phase de mise à jour
adapt-update:
build: .
profiles: ["update"]
depends_on:
- mongo
environment:
- NODE_ENV=production
ports:
- "3500:8080"
volumes:
- app-data:/data
working_dir: /data/app
command: >
sh -lc "npx adapt-security/at-utils update --prerelease ."
restart: "no"
# Initialisation super user
adapt-init-super:
build: .
profiles: ["init-super"]
depends_on:
- mongo
environment:
- NODE_ENV=production
volumes:
- app-data:/data
working_dir: /data/app
command: >
sh -lc "echo 'poplpopl' | npx adapt-security/at-utils register-super --super-email stani@eduvia.app --pipe-passwd --ignore-prereqs --verbose"
restart: "no"
volumes:
mongo-data:
app-data: