首页 Docker导航 NineSong

NineSong

NineSong旨在为各种 ToC 业务的数据共享提供云原生和 AI 扩展解决方案,用于管理各种文件元数据包括但不限于音乐、电影、笔记、文档、相册、电子书阅读器等
2025-07-31 21:09
中文
247 人使用

首先将.env上传到nsmusics目录

然后复制docker-compose.yaml代码

services:
  frontend:
    image: xiangch007/nsmusics:latest
    container_name: ${APP_CONTAINER_NAME}
    restart: unless-stopped
    env_file: .env
    environment:
      - NGINX_PORT=${APP_PORT}
      - BACKEND_SERVICE=${WEB_CONTAINER_NAME}:${SERVER_PORT}
    ports:
      - "${APP_PORT}:${APP_PORT}"
    networks:
      - public_net
      - app_net
    volumes:
      - ./.env:/app/.env:ro
    depends_on:
      - backend

  backend:
    image: xiangch007/ninesong:latest
    container_name: ${WEB_CONTAINER_NAME}
    restart: unless-stopped
    env_file: .env
    networks:
      - app_net
      - data_net
    volumes:
      - ./.env:/app/.env:ro
      - ${MEDIA_DATA_HOST_PATH}:/data/library
    depends_on:
      - mongodb
    security_opt:
      - no-new-privileges:true

  mongodb:
    image: mongo:6.0
    container_name: ${MONGO_CONTAINER_NAME}
    restart: unless-stopped
    env_file: .env
    environment:
      - MONGO_INITDB_ROOT_USERNAME=${DB_USER}
      - MONGO_INITDB_ROOT_PASSWORD=${DB_PASS}
    networks:
      - data_net
    volumes:
      - dbdata:/data/db

volumes:
  dbdata:

# 容器网络架构
networks:
  public_net:     # 外网入口层
    driver: bridge

  app_net:        # 应用通信层
    driver: bridge

  data_net:       # 数据服务层
    driver: bridge