Contenerisation
This commit is contained in:
6
30-api-config.sh
Normal file
6
30-api-config.sh
Normal file
@@ -0,0 +1,6 @@
|
||||
#!/bin/sh
|
||||
API_URL=${VITE_TEXTS_API_URL:-http://localhost:3000/api}
|
||||
echo "Configuration du frontend avec l'API URL: $API_URL"
|
||||
|
||||
# Remplace l'URL de l'API dans les fichiers JS
|
||||
find /usr/share/nginx/html -name "*.js" -type f -exec sed -i "s|VITE_TEXTS_API_URL_PLACEHOLDER|$API_URL|g" {} \;
|
||||
32
Dockerfile
Normal file
32
Dockerfile
Normal file
@@ -0,0 +1,32 @@
|
||||
# Étape de build
|
||||
FROM node:20-alpine as build
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
# Copie des fichiers de dépendances
|
||||
COPY package*.json ./
|
||||
|
||||
# Installation des dépendances
|
||||
RUN npm install
|
||||
|
||||
# Copie des fichiers source
|
||||
COPY . .
|
||||
|
||||
# Build de l'application (sans définir d'URL spécifique)
|
||||
RUN npm run build
|
||||
|
||||
# Étape de production avec Nginx
|
||||
FROM nginx:alpine
|
||||
|
||||
# Copie des fichiers buildés depuis l'étape précédente
|
||||
COPY --from=build /app/dist /usr/share/nginx/html
|
||||
|
||||
# Copie du script de configuration de l'API
|
||||
COPY 30-api-config.sh /docker-entrypoint.d/30-api-config.sh
|
||||
RUN chmod +x /docker-entrypoint.d/30-api-config.sh
|
||||
|
||||
# Exposition explicite du port utilisé par Nginx
|
||||
EXPOSE 80
|
||||
|
||||
# Démarrage de Nginx
|
||||
CMD ["nginx", "-g", "daemon off;"]
|
||||
@@ -1,2 +0,0 @@
|
||||
PORT=3000
|
||||
TEXTS_PATH=C:\src\patois\texts
|
||||
12
backend/Dockerfile
Normal file
12
backend/Dockerfile
Normal file
@@ -0,0 +1,12 @@
|
||||
FROM node:20-alpine
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
COPY package*.json ./
|
||||
RUN npm install --production
|
||||
|
||||
COPY . .
|
||||
|
||||
EXPOSE 3000
|
||||
|
||||
CMD ["node", "server.js"]
|
||||
33
deploy.yml
Normal file
33
deploy.yml
Normal file
@@ -0,0 +1,33 @@
|
||||
version: '3'
|
||||
|
||||
services:
|
||||
api:
|
||||
image: elpoyo/patois-api:latest
|
||||
restart: always
|
||||
ports:
|
||||
- "${API_PORT:-3000}:3000"
|
||||
environment:
|
||||
- PORT=3000
|
||||
- TEXTS_PATH=/app/texts
|
||||
- NODE_ENV=production
|
||||
volumes:
|
||||
- ${TEXTS_PATH:-./texts}:/app/texts
|
||||
|
||||
frontend:
|
||||
image: elpoyo/patois-frontend:latest
|
||||
restart: always
|
||||
ports:
|
||||
- "${FRONTEND_PORT:-8080}:80"
|
||||
environment:
|
||||
- VITE_TEXTS_API_URL=${API_URL}
|
||||
depends_on:
|
||||
- api
|
||||
|
||||
# Configuration via variables d'environnement :
|
||||
# API_PORT=3000 # Port externe de l'API
|
||||
# FRONTEND_PORT=8080 # Port externe du frontend
|
||||
# API_URL=http://ip:port/api # URL complète de l'API pour le frontend
|
||||
# TEXTS_PATH=/chemin/vers/textes # Chemin vers le dossier des textes
|
||||
#
|
||||
# Exemple d'utilisation :
|
||||
# API_PORT=52000 FRONTEND_PORT=52001 API_URL=http://192.168.1.34:52000/api TEXTS_PATH=/mnt/configs/patois docker-compose up -d
|
||||
1
docker-entrypoint.sh
Normal file
1
docker-entrypoint.sh
Normal file
@@ -0,0 +1 @@
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
* Service pour communiquer avec l'API backend des textes
|
||||
*/
|
||||
|
||||
const API_BASE_URL = import.meta.env.TEXTS_API_URL
|
||||
const API_BASE_URL = 'VITE_TEXTS_API_URL_PLACEHOLDER'
|
||||
|
||||
export class TextService {
|
||||
constructor() {
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
Le Renard et le Corbeau
|
||||
Il était une fois un corbeau qui avait trouvé un morceau de fromage.
|
||||
Il se percha sur une branche d'arbre pour le manger tranquillement.
|
||||
Un renard rusé passa par là et sentit l'odeur du fromage.
|
||||
Il leva les yeux et vit le corbeau avec son trésor.
|
||||
Le renard commença à flatter le corbeau sur sa beauté.
|
||||
Il lui dit que sa voix devait être aussi belle que son plumage.
|
||||
Le corbeau, flatté, ouvrit le bec pour chanter.
|
||||
Le fromage tomba directement dans la gueule du renard.
|
||||
Le renard s'enfuit en remerciant le corbeau pour ce repas.
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
titre_fr=Le Renard et le Corbeau
|
||||
titre_pt=Le Renat et le Corbeau
|
||||
auteur=Jean de La Fontaine (adaptation)
|
||||
traducteur=Exemple de traduction
|
||||
categorie=Conte
|
||||
difficulte=Facile
|
||||
date_creation=2025-09-26
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
Le Renat et le Corbeau
|
||||
Y avait una fés un corbeau qu'avait trovâ un morciau de fromâjo.
|
||||
Se perchit sur una brancha d'âbro por le mangiér tranquillament.
|
||||
Un renat rusâ passit per lâ et sentit l'odour du fromâjo.
|
||||
Levit los uelhs et vit le corbeau avouéc son trésôr.
|
||||
Le renat comencit a flatar le corbeau sur sa biôtât.
|
||||
Li dit que sa vouéx deviat étre aussi bèla que son plumâjo.
|
||||
Le corbeau, flatâ, durbrit le bec por chantar.
|
||||
Le fromâjo tombît directament dens la goula du renat.
|
||||
Le renat s'enfugit en remerciant le corbeau por cél repas.
|
||||
|
||||
Binary file not shown.
@@ -1,7 +0,0 @@
|
||||
Il était une fois deux frères, Pierino et Maurice, qui habitaient le même village, dans deux maisons proches l'une de l'autre. Un jour Pierino propose : « Qu’en penses-tu si on rassemblait nos épargnes et que l’on achetait une vache ? ». Maurice accepte et le lendemain ils se mettent en route pour aller à la foire du village voisin.
|
||||
En marchant Pierino, qui se croyait bien plus malin que Maurice, pense : « Je te mettrais au pas ».
|
||||
A la foire, après avoir bien examiné toutes les vaches, des pie noirs à la tête blanche jusqu’aux châtaines, des reines jusqu’aux vaches à lait, des vaches aux cornes bouclées, jusqu’à celles aux cornes retournées vers le haut, des vaches aux épaules abaissées jusqu’à celles à l’échine courbée, ils en choisissent une, Lenetta, une pie-rouge bien grasse et la payent avec l'argent qu'ils avaient mis en commun.
|
||||
Quand la foire est finie, les deux frères retournent à la maison : « On l’amènera dans mon étable, elle est plus grande et sèche », dit Pierino. Mais ils commencent tout de suite à discuter pour savoir dans quelle étable mettre la vache.
|
||||
Après s’être bien disputé tout le long du chemin : « Voilà la solution, on va attacher la vache au milieu d'un pré situé entre nos maisons ».
|
||||
Après cela, les deux frères décident aussi de se partager la vache. Pierino, le plus intelligent, veut le devant de la bête : « Je ne me salirai pas les mains et j’aurai moins de travail ».
|
||||
Donc il reste le derrière pour Maurice. « Tu croyais être le plus rusé - pense Maurice - tu as voulu la partie de la tête, maintenant il faut que tu ailles chercher du foin et de l'eau pour lui donner à manger et à boire…alors que tu n’auras aucun gain; tandis que moi j’irai chercher un seau pour traire la vache et vendre mon bon lait ».
|
||||
@@ -1,8 +0,0 @@
|
||||
titre_fr=La vache partagée
|
||||
titre_pt=La vatse a métchà
|
||||
auteur=Rita Decime
|
||||
traducteur= N/A
|
||||
categorie=Conte
|
||||
difficulte=Difficile
|
||||
date_creation=1984
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
Y ave én queu do frae, Piérino é Morise, qu’ittévon ou mémo veladzo, dedeun do métcho én protcho dé l'otro. Én dzor Piérino propeuze : « Qué te nen di si no betissan énsembio lé seu é n’atsétissan eunna vatse ? ». Morise asette é lo dzor apré i parton a la féa dou veladzo vezén.
|
||||
Én tsemenèn Piérino, qu’i ché crèyéve bièn peu fén qué Morise, pense : « Té fézo poué vére mè éa ! ».
|
||||
A la féa, apré avé bièn avété totte lé vatse, di boutchanoye i tsatagnaye, di réne di corne i réne dou lasé, di vatse di corne boquie a selle di corne rébécoye, di vatse épaloye, i vatse couerbe, i nen cherdon eunna, Lenetta, na biantse é rodze bièn grâsa é la payon avoué lé seu qué y avon betó énsembio.
|
||||
A la fén dé la féa, lé do frae tornon i métcho : « No la portèn poué a l’éteu dé mè, y é peu lardzo é peu sec qué lo tén », i di Piérino ; ma i coménson to sebeu a ché ruzà pé désidà ioù ivernà la vatse.
|
||||
Apré avé bièn désquetó to lo lon dou tsemén : « Vouèlà la solechón, gropèn poué la vatse ou verzé éntrémé di do métcho ».
|
||||
Dé sen, lé do frae désidon fénque dé ché partadzé én do la vatse. Piérino, lo peu savèn, i vou lo moro : « Paé, m’émpouertso po poué lé man é n’é poué mouèn dé travai ».
|
||||
A Morise, adón, i reste lo déré : « Te crèyéve d’étre lo peu fén, t’o voulù la téta, éa i té fo alà tsertsé dé fen é d’éve pé lle bayé rodzé é bée é... sensa gnen lle gagné ! Mè, i contréo, veu poué mé tsertsé én sezelén pé biètsé la vatse é dze pouì poué vendre dé bon lasé ».
|
||||
36
truenas-deploy.yml
Normal file
36
truenas-deploy.yml
Normal file
@@ -0,0 +1,36 @@
|
||||
version: '3'
|
||||
|
||||
services:
|
||||
api:
|
||||
image: elpoyo/patois-api:latest
|
||||
restart: always
|
||||
ports:
|
||||
- '52002:3000'
|
||||
environment:
|
||||
- PORT=3000
|
||||
- TEXTS_PATH=/app/texts
|
||||
- NODE_ENV=production
|
||||
volumes:
|
||||
- /mnt/configs/patois:/app/texts
|
||||
|
||||
frontend:
|
||||
image: elpoyo/patois-frontend:latest
|
||||
restart: always
|
||||
ports:
|
||||
- '52001:80'
|
||||
environment:
|
||||
- VITE_TEXTS_API_URL=http://192.168.1.34:52002/api
|
||||
depends_on:
|
||||
- api
|
||||
|
||||
# Configuration pour TrueNAS SCALE
|
||||
#
|
||||
# API accessible sur : http://192.168.1.34:52002/api
|
||||
# Frontend accessible sur : http://192.168.1.34:52001
|
||||
#
|
||||
# Dossier des textes : /mnt/configs/patois (doit exister sur TrueNAS)
|
||||
#
|
||||
# Pour déployer :
|
||||
# 1. Créer le répertoire /mnt/configs/patois sur TrueNAS
|
||||
# 2. Copier ce fichier sur TrueNAS
|
||||
# 3. Déployer avec : docker-compose -f truenas-deploy.yml up -d
|
||||
@@ -7,7 +7,7 @@ export default defineConfig(({ mode }) => {
|
||||
return {
|
||||
plugins: [vue()],
|
||||
server: {
|
||||
port: parseInt(env.VITE_PORT) || 3001
|
||||
port: parseInt(env.VITE_PORT) || 8080,
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user