LINUX.ORG.RU

История изменений

Исправление bvn13, (текущая версия) :

@Nervous @vvn_black

В общем. Проблема частично описана в https://github.com/nextcloud/docker/issues/820 , частично в https://github.com/nextcloud/server/issues/1599

Звучит так: после перезапуска контейнера клауда все приложения, которые я понаставил и понастроил, они все слетают. Видятся как «установлено», но ни в меню сверху нет, ни при открытии урла приложения /app/calendar (например) - не работают (редиректят на дашборд).

Я подумал, что можно тупо перещёлкнуть приложения - выкл + вкл.

Но не тут-то было, оказывается.

Смастерил свой контейнер. (композ выше)

$ cat Dockerfile 
FROM nextcloud:23.0.3-apache

WORKDIR /var/www/html

COPY ./script/enable-apps.sh /docker-entrypoint-initdb.d/enable-apps.sh

RUN chmod u+x /docker-entrypoint-initdb.d/enable-apps.sh

ENTRYPOINT ["/entrypoint.sh"]
CMD ["apache2-foreground"]

А скрипт вот такой.

$ cat script/enable-apps.sh
#!/bin/bash

run_as() {
    if [ "$(id -u)" = 0 ]; then
        su -p www-data -s /bin/sh -c "$1"
    else
        sh -c "$1"
    fi
}

while [[ "$(curl -s -o /dev/null -w ''%{http_code}'' localhost:80/index.php/login)" != "200" ]]; do sleep 5; done

run_as ' \
for app in $(ls /var/www/html/apps/); do \
    echo "Disabling $app..."
    php /var/www/html/occ app:disable $app
    echo "Installing $app..."
    php /var/www/html/occ app:install $app
    echo "Enabling $app..."
    php /var/www/html/occ app:enable $app 
done'

Вот тут https://stackoverflow.com/a/43975603/2798461 было написано, что есть спец дира, из которой запускаются скрипты после старта - не могу удостовериться.

Я логинюсь внутрь контейнера (для достоверности), запускаю свой скрипт, он проходит, но приложения как были нерабочими, так и остаются.

Есть мысли?

Исходная версия bvn13, :

@Nervous @vvn_black

В общем. Проблема частично описана в https://github.com/nextcloud/docker/issues/820 , частично в https://github.com/nextcloud/server/issues/1599

Звучит так: после перезапуска контейнера клауда все приложения, которые я понаставил и понастроил, они все слетают. Видятся как «установлено», но ни в меню сверху нет, ни при открытии урла приложения /app/calendar (например) - не работают (редиректят на дашборд).

Я подумал, что можно тупо пересчелкнуть приложения - выкл + вкл.

Но не тут-то было, оказывается.

Смастерил свой контейнер. (композ выше)

$ cat Dockerfile 
FROM nextcloud:23.0.3-apache

WORKDIR /var/www/html

COPY ./script/enable-apps.sh /docker-entrypoint-initdb.d/enable-apps.sh

RUN chmod u+x /docker-entrypoint-initdb.d/enable-apps.sh

ENTRYPOINT ["/entrypoint.sh"]
CMD ["apache2-foreground"]

А скрипт вот такой.

$ cat script/enable-apps.sh
#!/bin/bash

run_as() {
    if [ "$(id -u)" = 0 ]; then
        su -p www-data -s /bin/sh -c "$1"
    else
        sh -c "$1"
    fi
}

while [[ "$(curl -s -o /dev/null -w ''%{http_code}'' localhost:80/index.php/login)" != "200" ]]; do sleep 5; done

run_as ' \
for app in $(ls /var/www/html/apps/); do \
    echo "Disabling $app..."
    php /var/www/html/occ app:disable $app
    echo "Installing $app..."
    php /var/www/html/occ app:install $app
    echo "Enabling $app..."
    php /var/www/html/occ app:enable $app 
done'

Вот тут https://stackoverflow.com/a/43975603/2798461 было написано, что есть спец дира, из которой запускаются скрипты после старта - не могу удостовериться.

Я логинюсь внутрь контейнера (для достоверности), запускаю свой скрипт, он проходит, но приложения как были нерабочими, так и остаются.

Есть мысли?