dockerisation
This commit is contained in:
parent
9923f3454e
commit
eccd254372
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
31
lib/redis.ts
31
lib/redis.ts
@ -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);
|
||||
|
||||
@ -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
|
||||
|
||||
Loading…
Reference in New Issue
Block a user