gpt4 book ai didi

docker - 从 docker 安装的 Nextcloud。如何下载和安装自定义应用程序?

转载 作者:行者123 更新时间:2023-12-04 18:49:12 30 4
gpt4 key购买 nike

Ubuntu 18.04
Docker 版本 20.10.2
docker 撰写版本 1.27.4
这里的主要问题是我对 docker 的经验很少。
从此page我想我需要下载应用程序并将其放置在 /var/www/nextcloud/apps 中,问题是......据我所知,这条路线是 docker 内的路线。
我也许可以复制 this solution 之类的文件,但我想要一个更简洁的版本,我可以在其中继续编辑和更新应用程序。
在我的 .yml 文件中,我有一个这样的条目:

volumes:
- /data/ncweb:/var/www/html
我想我应该添加另一个条目以将该虚拟路径与 docker 外部的真实路径链接起来。
这里有2个问题:
  • 我不知道哪个条目应该是
  • 不确定我是否必须告诉 Nextcloud 看那里以及如何看,在我看来没有必要。

  • 也许这个?
    volumes:
    - /data/ncweb:/var/www/html
    - /data/ncapps:/var/www/nextcloud/apps
    我也不知道如何查找 apps的路径在 docker 内部,因此该路线可能完全错误。我尝试了一个名为 dive 的工具但我以错误的方式使用它。
    提前致谢
    ..... 编辑 .....
    这里有完整的 .yml 文件
    version: "3.3"

    networks:
    web:
    external: true
    internal:
    external: false

    services:
    nextcloud:
    image: nextcloud:20
    container_name: nextcloud-web
    environment:
    MYSQL_HOST: nextcloud-db:3306
    MYSQL_DATABASE: nextdb
    MYSQL_USER: nextuser
    MYSQL_PASSWORD: abcdefghijklm
    volumes:
    - ./ncweb:/var/www/html
    restart: unless-stopped
    labels:
    - "traefik.enable=true"
    - "traefik.docker.network=web"
    - "traefik.http.routers.nc.rule=Host(`example.com`)"
    - "traefik.http.routers.nc.entrypoints=websecure"
    - "traefik.http.routers.nc.tls=true"
    - "traefik.http.routers.nc.tls.certresolver=le"
    - "traefik.http.routers.nc.middlewares=nc-header"
    - "traefik.http.routers.nc.service=nextcloud"
    - "traefik.http.services.nextcloud.loadbalancer.server.port=80"
    - "traefik.http.middlewares.nc-header.headers.referrerPolicy=no-referrer"
    - "traefik.http.middlewares.nc-header.headers.stsSeconds=31536000"
    - "traefik.http.middlewares.nc-header.headers.forceSTSHeader=true"
    - "traefik.http.middlewares.nc-header.headers.stsPreload=true"
    - "traefik.http.middlewares.nc-header.headers.stsIncludeSubdomains=true"
    - "traefik.http.middlewares.nc-header.headers.browserXssFilter=true"
    - "traefik.http.middlewares.nc-header.headers.customRequestHeaders.X-Forwarded-Proto=https"
    networks:
    - internal
    - web
    depends_on:
    - nextcloud-db
    - ooserver
    logging:
    options:
    max-size: '1m'
    max-file: '10'
    driver: json-file

    ooserver:
    image: alehoho/oo-ce-docker-license
    container_name: ooserver
    environment:
    # Uncomment strings below to enable the JSON Web Token validation.
    - JWT_ENABLED=true
    - JWT_SECRET=abcdefghijklm
    - JWT_HEADER=Authorization
    - JWT_IN_BODY=true
    networks:
    - web
    stdin_open: true
    tty: true
    restart: unless-stopped
    volumes:
    - ./oodata:/var/www/onlyoffice/Data
    - ./oolib:/var/lib/onlyoffice
    - ./oodb:/var/lib/postgresql
    - ./oologs:/var/log/onlyoffice
    labels:
    - "traefik.enable=true"
    - "traefik.docker.network=web"
    - "traefik.http.routers.oo.service=oo"
    - "traefik.http.routers.oo.entrypoints=websecure"
    - 'traefik.http.routers.oo.rule=Host("ooserver.example.com")'
    - "traefik.http.routers.oo.tls=true"
    - "traefik.http.routers.oo.tls.certresolver=le"
    - "traefik.http.routers.oo.middlewares=oo-header"
    - "traefik.http.services.oo.loadbalancer.server.port=80"
    - "traefik.http.middlewares.oo-header.headers.referrerPolicy=no-referrer"
    - "traefik.http.middlewares.oo-header.headers.stsSeconds=31536000"
    - "traefik.http.middlewares.oo-header.headers.forceSTSHeader=true"
    - "traefik.http.middlewares.oo-header.headers.stsPreload=true"
    - "traefik.http.middlewares.oo-header.headers.stsIncludeSubdomains=true"
    - "traefik.http.middlewares.oo-header.headers.browserXssFilter=true"
    - "traefik.http.middlewares.oo-header.headers.customRequestHeaders.X-Forwarded-Proto=https"
    logging:
    options:
    max-size: '1m'
    max-file: '10'
    driver: json-file

    nextcloud-db:
    image: mariadb:10
    container_name: nextcloud-db
    command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
    environment:
    MYSQL_ROOT_PASSWORD: abcdefghijklm
    MYSQL_DATABASE: nextdb
    MYSQL_USER: nextuser
    MYSQL_PASSWORD: abcdefghijklm
    volumes:
    - nextdb-data:/var/lib/mysql
    restart: unless-stopped
    networks:
    - internal
    labels:
    - "traefik.enable=false"
    logging:
    options:
    max-size: '1m'
    max-file: '10'
    driver: json-file

    adminer:
    image: adminer
    container_name: nextcloud-dbadmin
    environment:
    ADMINER_DEFAULT_SERVER: nextcloud-db
    labels:
    - "traefik.enable=true"
    - "traefik.docker.network=web"
    - "traefik.http.routers.dbncadmin.rule=Host(`dbadmin.example.com`)"
    - "traefik.http.routers.dbncadmin.entrypoints=websecure"
    - "traefik.http.routers.dbncadmin.tls=true"
    - "traefik.http.routers.dbncadmin.tls.certresolver=le"
    - "traefik.http.routers.dbncadmin.service=dbncadmin"
    - "traefik.http.routers.dbncadmin.middlewares=securelogin"
    - "traefik.http.services.dbncadmin.loadbalancer.server.port=8080"
    - "traefik.http.middlewares.securelogin.basicauth.users=xxxxxx:$$apr1$$abcdefghijklm$$abcdefghijklm"
    networks:
    - internal
    - web
    depends_on:
    - nextcloud-db

    volumes:
    nextdb-data:

    最佳答案

    完美的!当您使用 Nextcloud 自己提供的 Container Image 时,您玩得很开心!
    只需将另一个卷添加到您的撰写文件中,该文件链接到 /var/www/html/custom_apps你应该很高兴。见 持久数据在他们的docs .
    你应该 不是 将默认应用程序路径与 docker 链接,因为这意味着将一个空(或仅填充了您的应用程序)目录链接到容器中。但是由于 NC 是一种框架,即使文件列表也是一个应用程序 - 如果您不提供您的版本,它将会丢失!

    关于docker - 从 docker 安装的 Nextcloud。如何下载和安装自定义应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66076473/

    30 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com