Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
application:nextcloud [2025/03/02 18:47] mirocowapplication:nextcloud [2025/03/05 22:22] (текущий) mirocow
Строка 39: Строка 39:
       # - 192.168.1.6:443:443       # - 192.168.1.6:443:443
     volumes:     volumes:
 +      - /etc/localtime:/etc/localtime:ro
       - proxy:/etc/nginx       - proxy:/etc/nginx
-      - data:/var/www/html+      - nextcloud:/var/www/html:r
  
  
Строка 49: Строка 50:
   # docker exec -u www-data nextcloud-app php occ upgrade   # docker exec -u www-data nextcloud-app php occ upgrade
   app:   app:
-    image: nextcloud:latest+    image: nextcloud:30.0-apache
     container_name: nextcloud-app     container_name: nextcloud-app
     networks:     networks:
Строка 61: Строка 62:
     volumes:     volumes:
       - /etc/localtime:/etc/localtime:ro       - /etc/localtime:/etc/localtime:ro
-      - data:/var/www/html:z+      - nextcloud:/var/www/html:rw # Основная папка, необходимая для обновления 
 +      #- nextcloud_custom_apps:/var/www/html/custom_apps:rw # установленные/измененные приложения 
 +      #- nextcloud_config:/var/www/html/config:rw # локальная конфигурация 
 +      #- nextcloud_data:/var/www/html/data:rw # фактические данные вашего Nextcloud 
 +      #- nextcloud_themes:/var/www/html/themes:rw # тематизация/брендинг
     environment:     environment:
       - TZ=Europe/Moscow       - TZ=Europe/Moscow
Строка 68: Строка 73:
       - SKIP_DOMAIN_VALIDATION=true       - SKIP_DOMAIN_VALIDATION=true
     restart: unless-stopped     restart: unless-stopped
 +
 +    deploy:
 +        resources:
 +            limits:
 +                cpus: '3'
 +                memory: 7G
 +    healthcheck:
 +      test: ["CMD", "curl", "-f", "http://localhost:80/"]
 +      interval: 10s
 +      timeout: 5s
 +      retries: 3
 +      start_period: 90s
  
   # http://nextcloud-drawio   # http://nextcloud-drawio
Строка 118: Строка 135:
  
   cron:   cron:
-    image: nextcloud:latest+    image: rcdailey/nextcloud-cronjob
     restart: unless-stopped     restart: unless-stopped
 +    network_mode: none
 +    depends_on:
 +    - app
     volumes:     volumes:
-      - /etc/localtime:/etc/localtime:ro +    - /etc/localtime:/etc/localtime:ro 
-      data:/var/www/html:z+    /var/run/docker.sock:/var/run/docker.sock:ro 
 +    - crontabs:/cron-scripts
     environment:     environment:
-      TZ=Europe/Moscow +    NEXTCLOUD_CONTAINER_NAME=nextcloud-app 
-    entrypoint: /cron.sh +    - NEXTCLOUD_PROJECT_NAME= 
-    depends_on: +    - NEXTCLOUD_CRON_MINUTE_INTERVAL=5
-      db +
-      - redis +
-    networks: +
-      nextcloud_network:+
  
   db:   db:
Строка 147: Строка 164:
       - MYSQL_DATABASE=nextcloud       - MYSQL_DATABASE=nextcloud
       - MYSQL_USER=nextcloud       - MYSQL_USER=nextcloud
 +    ports:
 +      - 13306:3306
     restart: unless-stopped     restart: unless-stopped
 +    deploy:
 +        resources:
 +            limits:
 +                cpus: '2'
 +                memory: 4G
  
   redis:   redis:
     image: redis:alpine     image: redis:alpine
     restart: unless-stopped     restart: unless-stopped
 +    deploy:
 +        resources:
 +            limits:
 +                cpus: '1'
 +                memory: 2G
     networks:     networks:
       nextcloud_network:       nextcloud_network:
Строка 185: Строка 214:
 volumes: volumes:
   proxy:   proxy:
-  data:+  nextcloud: 
 +  crontabs:
   db:   db:
   document_data:   document_data:
Строка 372: Строка 402:
                 proxy_set_header X-Forwarded-Host $the_host;                 proxy_set_header X-Forwarded-Host $the_host;
                 proxy_set_header X-Forwarded-Proto $the_scheme;                 proxy_set_header X-Forwarded-Proto $the_scheme;
-                proxy_hide_header X-Frame-Options; +                # Correct handling of fallbacks for HTTP headers
-                proxy_hide_header X-Content-Type-Options; +
-                proxy_hide_header X-XSS-Protection;+
                 proxy_hide_header X-Permitted-Cross-Domain-Policies;                 proxy_hide_header X-Permitted-Cross-Domain-Policies;
 +                proxy_hide_header  Referrer-Policy;
 +                proxy_hide_header  X-Content-Type-Options;
 +                proxy_hide_header  X-Frame-Options;
 +                proxy_hide_header  X-XSS-Protection;
         }         }
  
Строка 391: Строка 423:
                 proxy_set_header X-Forwarded-Host $the_host/ds-vpath;                 proxy_set_header X-Forwarded-Host $the_host/ds-vpath;
                 proxy_set_header X-Forwarded-Proto $the_scheme;                 proxy_set_header X-Forwarded-Proto $the_scheme;
 +                # Correct handling of fallbacks for HTTP headers
 +                proxy_hide_header X-Permitted-Cross-Domain-Policies;
 +                proxy_hide_header  Referrer-Policy;
 +                proxy_hide_header  X-Content-Type-Options;
 +                proxy_hide_header  X-Frame-Options;
 +                proxy_hide_header  X-XSS-Protection;
         }         }
  
Строка 425: Строка 463:
     }     }
 } }
 +</code>
 +
 +===== Продолжение настройки =====
 +
 +<code bash>
 +$ docker exec nextcloud-app rm /var/spool/cron/crontabs/www-data
 </code> </code>
  
Строка 476: Строка 520:
  
 ===== Composer ===== ===== Composer =====
 +
 +==== Install ====
 +
 +<code bash>
 +$ docker exec nextcloud-app php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" && \
 +docker exec nextcloud-app php composer-setup.php && \
 +docker exec nextcloud-app mv composer.phar /usr/local/bin/composer && \
 +docker exec nextcloud-app composer -v
 +</code>
 +
 +==== Использование ====
  
 <code bash> <code bash>
Строка 491: Строка 546:
  
 <code bash> <code bash>
 +$ docker exec nextcloud-app chown www-data:www-data -R custom_apps/
 $ docker exec -u www-data nextcloud-app bash -c 'cd /var/www/html/custom_apps && ls -la' $ docker exec -u www-data nextcloud-app bash -c 'cd /var/www/html/custom_apps && ls -la'
 </code> </code>
 +
 +===== Debug =====
 +
 +<code bash>
 +$ docker exec nextcloud-app pecl install xdebug && \
 +docker exec nextcloud-app docker-php-ext-enable xdebug && \
 +docker exec nextcloud-app rm -rf /tmp/pear && \
 +docker exec nextcloud-app bash -c 'echo "xdebug.mode=debug
 +xdebug.start_with_request=yes
 +xdebug.client_host=host.docker.internal
 +;# 9003 is now the default (set this for old PhpStorm settings).
 +xdebug.client_port=9000" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini;'; \
 +    php -i|grep xdebug
 +</code>
 +