道理鱼0.2.1版本重点优化了资源占用问题,增加了自定义编辑歌手、专辑、歌曲等问题,欢迎arm兄弟测试使用



感谢 解答组-zhengbf-福建 提供的测试
感谢 徐大大 提供的 ocet 测试 一下根据4核4G做了限制,可根据设备性能进行限制性能
services:
redis:
image: redis:7-alpine
platform: linux/arm64
container_name: daoliyu-redis-sqlite-arm
restart: unless-stopped
command:
[
"redis-server",
"--ignore-warnings",
"ARM64-COW-BUG",
"--save",
"900",
"1",
"--appendonly",
"yes"
]
volumes:
- ./redis-data:/data
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 10s
timeout: 5s
retries: 5
backend:
image: msmkls/daoliyu-backend-sqlite:arm-0.2.1
platform: linux/arm64
build:
context: ./backend
dockerfile: Dockerfile
args:
PRISMA_SCHEMA: "${PRISMA_SCHEMA-prisma/schema.sqlite.prisma}"
container_name: daoliyu-backend-sqlite-arm
restart: unless-stopped
# ===== CPU 限制(4 核宿主 × 65% = 2.6 核)=====
cpu_period: 100000
cpu_quota: 260000
# (可选但强烈建议)内存限制,防止 Node/转码撑爆宿主
mem_limit: 1g
depends_on:
redis:
condition: service_healthy
environment:
NODE_ENV: production
DATABASE_URL: "file:/app/backend-data/dev.db"
SQLITE_DATABASE_URL: "file:/app/backend-data/dev.db"
PRISMA_SCHEMA: "${PRISMA_SCHEMA-prisma/schema.sqlite.prisma}"
APP_PORT: 4000
LIBRARY_ROOT: "/data/media"
AUDIOBOOK_LIBRARY_ROOT: "/data/audiobooks"
VIDEO_LIBRARY_ROOT: "/data/music-videos"
VIDEO_TRANSCODE_CACHE: "/app/storage/transcoded/videos"
VIDEO_THUMBNAIL_CACHE: "/app/storage/thumbnails/videos"
PLAYLISTS_IMPORT_ROOT: "/data/playlists"
REGISTRATION_OPEN: "${REGISTRATION_OPEN:-true}"
PLUGINS_DIR: "/plugins"
REDIS_URL: "redis://redis:6379/0"
LOG_LEVEL: "${LOG_LEVEL:-info}"
DEBUG: "${DEBUG:-true}"
volumes:
- ./backend-storage:/app/storage
- ./backend-data:/app/backend-data
- ./media:/data/media
- ./audiobooks:/data/audiobooks
- ./music-videos:/data/music-videos
- ./playlists:/data/playlists
- ./plugins:/plugins
networks:
default:
aliases:
- backend
command: >
sh -c "
PRISMA_SCHEMA=${PRISMA_SCHEMA:-prisma/schema.sqlite.prisma} &&
npx prisma generate --schema $PRISMA_SCHEMA &&
npx prisma db push --schema $PRISMA_SCHEMA --skip-generate --accept-data-loss &&
node scripts/manage-system-version.js post || true &&
node dist/index.js
"
healthcheck:
test: ["CMD", "wget", "-qO-", "http://localhost:4000/health"]
interval: 30s
timeout: 5s
retries: 5
frontend:
image: msmkls/daoliyu-frontend-sqlite:arm-0.2.1
platform: linux/arm64
build:
context: ./frontend
dockerfile: Dockerfile
container_name: daoliyu-frontend-sqlite-arm
restart: unless-stopped
depends_on:
backend:
condition: service_healthy
ports:
- "5173:8080"