dockerisation

This commit is contained in:
alma 2026-01-18 21:39:37 +01:00
parent 9923f3454e
commit eccd254372
7 changed files with 36 additions and 16 deletions

BIN
.DS_Store vendored

Binary file not shown.

View File

@ -77,7 +77,7 @@ docker-compose -f docker-compose.prod.yml --env-file .env.production up -d db re
sleep 10
# Appliquer les migrations Prisma
docker-compose -f docker-compose.prod.yml --env-file .env.production run --rm app npx prisma migrate deploy
docker-compose -f docker-compose.prod.yml --env-file .env.production run --rm app npx --yes prisma@6.4.1 migrate deploy
# Démarrer l'application
docker-compose -f docker-compose.prod.yml --env-file .env.production up -d app
@ -151,7 +151,7 @@ docker-compose -f docker-compose.prod.yml --env-file .env.production stop app
docker-compose -f docker-compose.prod.yml --env-file .env.production build app
# Appliquer les migrations si nécessaire
docker-compose -f docker-compose.prod.yml --env-file .env.production run --rm app npx prisma migrate deploy
docker-compose -f docker-compose.prod.yml --env-file .env.production run --rm app npx --yes prisma@6.4.1 migrate deploy
# Redémarrer
docker-compose -f docker-compose.prod.yml --env-file .env.production up -d app
@ -161,10 +161,10 @@ docker-compose -f docker-compose.prod.yml --env-file .env.production up -d app
```bash
# Vérifier le statut des migrations
docker-compose -f docker-compose.prod.yml --env-file .env.production run --rm app npx prisma migrate status
docker-compose -f docker-compose.prod.yml --env-file .env.production run --rm app npx --yes prisma@6.4.1 migrate status
# Appliquer les migrations
docker-compose -f docker-compose.prod.yml --env-file .env.production run --rm app npx prisma migrate deploy
docker-compose -f docker-compose.prod.yml --env-file .env.production run --rm app npx --yes prisma@6.4.1 migrate deploy
```
## 📊 Monitoring et Logs

View File

@ -56,6 +56,9 @@ COPY --from=builder --chown=nextjs:nodejs /app/.next/static ./.next/static
COPY --from=builder --chown=nextjs:nodejs /app/node_modules/.prisma ./node_modules/.prisma
COPY --from=builder --chown=nextjs:nodejs /app/node_modules/@prisma ./node_modules/@prisma
# Copier le CLI Prisma (nécessaire pour les migrations)
COPY --from=builder --chown=nextjs:nodejs /app/node_modules/prisma ./node_modules/prisma
# Copier le schéma Prisma (nécessaire pour certaines opérations)
COPY --from=builder --chown=nextjs:nodejs /app/prisma ./prisma

View File

@ -27,7 +27,7 @@ nano .env.production
docker-compose -f docker-compose.prod.yml --env-file .env.production build
docker-compose -f docker-compose.prod.yml --env-file .env.production up -d db redis
sleep 15
docker-compose -f docker-compose.prod.yml --env-file .env.production run --rm app npx prisma migrate deploy
docker-compose -f docker-compose.prod.yml --env-file .env.production run --rm app npx --yes prisma@6.4.1 migrate deploy
docker-compose -f docker-compose.prod.yml --env-file .env.production up -d app
```
@ -54,7 +54,7 @@ docker-compose -f docker-compose.prod.yml --env-file .env.production restart app
docker-compose -f docker-compose.prod.yml --env-file .env.production logs -f
# Appliquer les migrations
docker-compose -f docker-compose.prod.yml --env-file .env.production run --rm app npx prisma migrate deploy
docker-compose -f docker-compose.prod.yml --env-file .env.production run --rm app npx --yes prisma@6.4.1 migrate deploy
# Accéder à la base de données
docker-compose -f docker-compose.prod.yml --env-file .env.production exec db psql -U neah_user -d calendar_db

View File

@ -11,8 +11,6 @@
# - Configurez les volumes pour la persistance des données
# - Ajustez les ports selon votre infrastructure réseau
version: '3.8'
services:
# ============================================
# PostgreSQL - Base de données principale

View File

@ -29,11 +29,26 @@ export function getRedisClient(): Redis {
isConnecting = true;
connectionAttempts = 0;
// Set Redis connection parameters from environment variables only
const redisOptions = {
host: process.env.REDIS_HOST,
port: process.env.REDIS_PORT ? parseInt(process.env.REDIS_PORT) : undefined,
// Set Redis connection parameters from environment variables
// Prefer REDIS_URL if available, otherwise use individual variables
let redisOptions: any;
if (process.env.REDIS_URL) {
// Use REDIS_URL if provided (e.g., redis://:password@host:port)
console.log('Connecting to Redis using REDIS_URL');
redisOptions = process.env.REDIS_URL;
} else {
// Fallback to individual environment variables
console.log('Connecting to Redis using individual environment variables');
redisOptions = {
host: process.env.REDIS_HOST || 'localhost',
port: process.env.REDIS_PORT ? parseInt(process.env.REDIS_PORT) : 6379,
password: process.env.REDIS_PASSWORD,
};
}
// Add common options
const commonOptions = {
retryStrategy: (times: number) => {
connectionAttempts = times;
if (times > MAX_RECONNECT_ATTEMPTS) {
@ -52,8 +67,12 @@ export function getRedisClient(): Redis {
keyPrefix: '' // No prefix to keep keys clean
};
console.log('Connecting to Redis using environment variables');
redisClient = new Redis(redisOptions);
// Merge options if using individual variables
if (typeof redisOptions === 'string') {
redisClient = new Redis(redisOptions, commonOptions);
} else {
redisClient = new Redis({ ...redisOptions, ...commonOptions });
}
redisClient.on('error', (err) => {
console.error('Redis connection error:', err);

View File

@ -55,7 +55,7 @@ fi
echo "✅ Redis est prêt"
echo "🗄️ Application des migrations Prisma..."
docker-compose -f docker-compose.prod.yml --env-file .env.production run --rm app npx prisma migrate deploy
docker-compose -f docker-compose.prod.yml --env-file .env.production run --rm app npx --yes prisma@6.4.1 migrate deploy
echo "🚀 Démarrage de l'application..."
docker-compose -f docker-compose.prod.yml --env-file .env.production up -d app