AAT docker
This commit is contained in:
19
Dockerfile
Normal file
19
Dockerfile
Normal 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
77
docker-compose.yml
Normal 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:
|
||||||
Reference in New Issue
Block a user