Создать файл не работает с развертыванием - PullRequest
0 голосов
/ 18 апреля 2019

Я использую образ Wonderfall nextcloud для развертывания через файл композиции. При использовании развертывания стека докеров переменные не заполняются.

Я пробовал развертывание несколько раз, и мне не повезло

version: '3.3'

networks:
  prodnet:
    external: true

services:
  nextcloud:
    image: wonderfall/nextcloud
    depends_on:
      - nextcloud-db # If using MySQL
      - redis # If using Redis
  ports:
    - 8888:8888
  deploy:
    replicas: 1
    placement:
      constraints: [node.role == worker]

  environment:
    - UID=1100
    - GID=1100
    - UPLOAD_MAX_SIZE=10G
    - APC_SHM_SIZE=128M
    - OPCACHE_MEM_SIZE=128
    - CRON_PERIOD=15m
    - TZ=America/New_York
    - ADMIN_USER=cloudadmin # Don't set to configure through browser
    - ADMIN_PASSWORD=verycomplexpassword # Don't set to configure through browser
    - DOMAIN=www.blah.com
    - DB_TYPE=mysql
    - DB_NAME=nextcloud
    - DB_USER=wonderfall
    - DB_PASSWORD=supersecretpassword
    - DB_HOST=nextcloud-db

  volumes:
    - nextcloud_data:/data
    - nextcloud_config:/config
    - nextcloud_apps:/apps2
    - nextcloud_themes:/nextcloud/themes

  networks:
    - prodnet



# If using Redis
redis:
  image: redis:alpine
  volumes:
    - nextcloud_redis:/data
  networks:
    - prodnet

# If using MySQL

nextcloud-db:
  image: mysql:latest
  command: --default-authentication-plugin=mysql_native_password
  ports:
    - 3307:3306
  deploy:
    replicas: 1
    placement:
      constraints: [node.role == worker]

  volumes:
    - nextcloud_mysql:/var/lib/mysql

  environment:
    - MYSQL_ROOT_PASSWORD=supersecretpassword
    - MYSQL_DATABASE=nextcloud
    - MYSQL_USER=wonderfall
    - MYSQL_PASSWORD=supersecretpassword
  networks:
    - prodnet

volumes:
  nextcloud_data:
    driver: local
    driver_opts:
      type: nfs
      o: addr=xxxxxxxxxxxxx,hard,nolock,rw
      device: ":/mnt/array1/docker/nextcloud1/data"
  nextcloud_config:
    driver: local
    driver_opts:
      type: nfs
      o: addr=xxxxxxxxxxxxx,hard,nolock,rw
      device: ":/mnt/array1/docker/nextcloud1/config"
  nextcloud_apps:
    driver: local
    driver_opts:
      type: nfs
      o: addr=xxxxxxxxxxxxx,hard,nolock,rw
      device: ":/mnt/array1/docker/nextcloud1/apps2"
  nextcloud_themes:
    driver: local
    driver_opts:
      type: nfs
      o: addr=xxxxxxxxxxxxx,hard,nolock,rw
      device: ":/mnt/array1/docker/nextcloud1/themes"

  nextcloud_redis:
    driver: local
    driver_opts:
      type: nfs
      o: addr=xxxxxxxxxxxxx,hard,nolock,rw
      device: ":/mnt/array1/docker/nextcloud1/redis"

  nextcloud_mysql:
    driver: local
    driver_opts:
      type: nfs
      o: addr=xxxxxxxxxxxxx,hard,nolock,rw
      device: ":/mnt/array1/docker/nextcloud1/mysql"

Образ развернут, но это настройки по умолчанию, и он пытается использовать SQLite, а не то, что настроено. Я следую инструкциям на странице Wonderfall Github, но это не работает.

1 Ответ

0 голосов
/ 18 апреля 2019

Вам нужно добавить отступ для определений redis и nextcloud-db, они должны быть на том же уровне, что и nextcloud, а не на том же уровне, что и services.

[...]

services:
  nextcloud:
    image: wonderfall/nextcloud
    [...]

  # If using Redis
  redis:
    image: redis:alpine
    [...]

  # If using MySQL
  nextcloud-db:
    image: mysql:latest
    [...]
* 1007.* См. Пример на Dockerhub .
...