refactor: migrate from MongoDB to SQLite, updating database schema and configuration for improved performance and simplicity

This commit is contained in:
Julien Froidefond
2025-10-24 15:11:29 +02:00
parent 07c6bae2c4
commit ac5fa85185
22 changed files with 278 additions and 219 deletions

View File

@@ -5,8 +5,6 @@ services:
build:
context: .
dockerfile: Dockerfile
args:
- MONGODB_URI=${MONGODB_URI}
container_name: stripstream-app
ports:
- "3020:3000"
@@ -24,11 +22,10 @@ services:
- /app/.next
- ~/.pnpm-store:/app/.pnpm-store
- cache_data:/app/.cache
- sqlite_data:/app/data
environment:
- NODE_ENV=development
- MONGO_USER=admin
- MONGO_PASSWORD=password123
- MONGODB_URI=${MONGODB_URI}
- DATABASE_URL=file:/app/data/stripstream.db
- PNPM_HOME=/app/.pnpm-store
- WATCHPACK_POLLING=true
- NEXTAUTH_SECRET=${NEXTAUTH_SECRET}
@@ -37,28 +34,6 @@ services:
- KOMGA_MAX_CONCURRENT_REQUESTS=5
command: sh -c "pnpm config set store-dir /app/.pnpm-store && pnpm install --frozen-lockfile && pnpm prisma generate && pnpm dev"
mongodb:
image: mongo:latest
container_name: stripstream_mongodb
restart: always
environment:
MONGO_INITDB_ROOT_USERNAME: ${MONGO_USER}
MONGO_INITDB_ROOT_PASSWORD: ${MONGO_PASSWORD}
MONGO_INITDB_DATABASE: stripstream
ports:
- "27017:27017"
volumes:
- mongodb_data:/data/db
- ./mongo-init.js:/docker-entrypoint-initdb.d/mongo-init.js:ro
- ./mongo-keyfile:/data/keyfile:ro
command: ["mongod", "--replSet", "rs0", "--bind_ip_all", "--keyFile", "/data/keyfile"]
healthcheck:
test: echo "try { rs.status() } catch (err) { rs.initiate({_id:'rs0',members:[{_id:0,host:'mongodb:27017'}]}) }" | mongosh -u ${MONGO_USER} -p ${MONGO_PASSWORD} --authenticationDatabase admin --quiet
interval: 10s
timeout: 10s
retries: 5
start_period: 40s
volumes:
mongodb_data:
sqlite_data:
cache_data: