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 && \
|
RUN pnpm add prisma @prisma/client @prisma/adapter-better-sqlite3 better-sqlite3 --prod && \
|
||||||
pnpm dlx prisma generate
|
pnpm dlx prisma generate
|
||||||
|
|
||||||
# Create data directory for SQLite database
|
# Create data directory for SQLite database and uploads directory
|
||||||
RUN mkdir -p /app/data && chown -R nextjs:nodejs /app/data
|
RUN mkdir -p /app/data /app/public/uploads && chown -R nextjs:nodejs /app/data /app/public/uploads
|
||||||
|
|
||||||
RUN echo '#!/bin/sh' > /app/entrypoint.sh && \
|
RUN echo '#!/bin/sh' > /app/entrypoint.sh && \
|
||||||
echo 'set -e' >> /app/entrypoint.sh && \
|
echo 'set -e' >> /app/entrypoint.sh && \
|
||||||
echo 'mkdir -p /app/data' >> /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 'pnpm dlx prisma migrate deploy || true' >> /app/entrypoint.sh && \
|
||||||
echo 'exec node server.js' >> /app/entrypoint.sh && \
|
echo 'exec node server.js' >> /app/entrypoint.sh && \
|
||||||
chmod +x /app/entrypoint.sh && \
|
chmod +x /app/entrypoint.sh && \
|
||||||
|
|||||||
@@ -32,14 +32,28 @@ NEXTAUTH_URL=http://localhost:3000
|
|||||||
DATABASE_URL=file:./prisma/dev.db
|
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 :
|
Pour appliquer manuellement les migrations :
|
||||||
|
|
||||||
```bash
|
```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
|
## Commandes utiles
|
||||||
@@ -52,8 +66,8 @@ docker-compose down
|
|||||||
docker-compose build --no-cache
|
docker-compose build --no-cache
|
||||||
|
|
||||||
# Accéder au shell du conteneur
|
# Accéder au shell du conteneur
|
||||||
docker-compose exec app sh
|
docker-compose exec got-app sh
|
||||||
|
|
||||||
# Voir les logs en temps réel
|
# Voir les logs en temps réel
|
||||||
docker-compose logs -f app
|
docker-compose logs -f got-app
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -16,6 +16,8 @@ services:
|
|||||||
volumes:
|
volumes:
|
||||||
# Persist database (override DATA_PATH env var to change location)
|
# Persist database (override DATA_PATH env var to change location)
|
||||||
- ${PRISMA_DATA_PATH:-/Volumes/EXTERNAL_USB/sites/got-gaming/data}:/app/data
|
- ${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
|
- ./prisma/migrations:/app/prisma/migrations
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
labels:
|
labels:
|
||||||
|
|||||||
Reference in New Issue
Block a user