Update Docker configuration to persist uploaded images: Modify docker-compose.yml to include a volume for uploaded images, enhance Dockerfile to create the uploads directory, and update README to document the new uploads path configuration.
Some checks failed
Deploy with Docker Compose / deploy (push) Has been cancelled
Some checks failed
Deploy with Docker Compose / deploy (push) Has been cancelled
This commit is contained in:
@@ -51,12 +51,13 @@ ENV DATABASE_URL="file:/app/data/dev.db"
|
||||
RUN pnpm add prisma @prisma/client @prisma/adapter-better-sqlite3 better-sqlite3 --prod && \
|
||||
pnpm dlx prisma generate
|
||||
|
||||
# Create data directory for SQLite database
|
||||
RUN mkdir -p /app/data && chown -R nextjs:nodejs /app/data
|
||||
# Create data directory for SQLite database and uploads directory
|
||||
RUN mkdir -p /app/data /app/public/uploads && chown -R nextjs:nodejs /app/data /app/public/uploads
|
||||
|
||||
RUN echo '#!/bin/sh' > /app/entrypoint.sh && \
|
||||
echo 'set -e' >> /app/entrypoint.sh && \
|
||||
echo 'mkdir -p /app/data' >> /app/entrypoint.sh && \
|
||||
echo 'mkdir -p /app/public/uploads' >> /app/entrypoint.sh && \
|
||||
echo 'pnpm dlx prisma migrate deploy || true' >> /app/entrypoint.sh && \
|
||||
echo 'exec node server.js' >> /app/entrypoint.sh && \
|
||||
chmod +x /app/entrypoint.sh && \
|
||||
|
||||
@@ -32,14 +32,28 @@ NEXTAUTH_URL=http://localhost:3000
|
||||
DATABASE_URL=file:./prisma/dev.db
|
||||
```
|
||||
|
||||
## Base de données
|
||||
## Volumes persistants
|
||||
|
||||
La base de données SQLite est persistée via un volume Docker. Les migrations Prisma sont appliquées automatiquement au démarrage du conteneur.
|
||||
### Base de données
|
||||
|
||||
La base de données SQLite est persistée via un volume Docker. Par défaut, elle est stockée dans `/Volumes/EXTERNAL_USB/sites/got-gaming/data`, mais vous pouvez la personnaliser avec la variable d'environnement `PRISMA_DATA_PATH`.
|
||||
|
||||
Les migrations Prisma sont appliquées automatiquement au démarrage du conteneur.
|
||||
|
||||
Pour appliquer manuellement les migrations :
|
||||
|
||||
```bash
|
||||
docker-compose exec app node node_modules/.bin/prisma migrate deploy
|
||||
docker-compose exec got-app node node_modules/.bin/prisma migrate deploy
|
||||
```
|
||||
|
||||
### Images uploadées
|
||||
|
||||
Les images uploadées (avatars, images d'événements, etc.) sont persistées dans un volume Docker. Par défaut, elles sont stockées dans `./uploads` à la racine du projet, mais vous pouvez personnaliser le chemin avec la variable d'environnement `UPLOADS_PATH`.
|
||||
|
||||
Exemple pour utiliser un chemin personnalisé :
|
||||
|
||||
```bash
|
||||
UPLOADS_PATH=/path/to/your/uploads docker-compose up -d
|
||||
```
|
||||
|
||||
## Commandes utiles
|
||||
@@ -52,8 +66,8 @@ docker-compose down
|
||||
docker-compose build --no-cache
|
||||
|
||||
# Accéder au shell du conteneur
|
||||
docker-compose exec app sh
|
||||
docker-compose exec got-app sh
|
||||
|
||||
# Voir les logs en temps réel
|
||||
docker-compose logs -f app
|
||||
docker-compose logs -f got-app
|
||||
```
|
||||
|
||||
@@ -16,6 +16,8 @@ services:
|
||||
volumes:
|
||||
# Persist database (override DATA_PATH env var to change location)
|
||||
- ${PRISMA_DATA_PATH:-/Volumes/EXTERNAL_USB/sites/got-gaming/data}:/app/data
|
||||
# Persist uploaded images
|
||||
- ${UPLOADS_PATH:-./uploads}:/app/public/uploads
|
||||
- ./prisma/migrations:/app/prisma/migrations
|
||||
restart: unless-stopped
|
||||
labels:
|
||||
|
||||
Reference in New Issue
Block a user