RocketChat / rocketchat_nextcloud

App that allows Rocket Chat to live inside NextCloud and become seamless for the NextCloud Users
28 stars 2 forks source link

Docker issue solved #33

Open primoitt83 opened 1 year ago

primoitt83 commented 1 year ago

i was investigating why docker's nextcloud is not working with this app..

I think its cause php's version is not ok...

Take a look on my test:

docker-compose exec nextcloud /bin/bash
cd /var/www/html/custom_apps/rocketchat_nextcloud
make

make composer
make[1]: Entering directory '/var/www/html/custom_apps/rocketchat_nextcloud'
No composer command available, downloading a copy from the web
mkdir -p /var/www/html/custom_apps/rocketchat_nextcloud/build/tools
curl -sS https://getcomposer.org/installer | php
All settings correct for using Composer
Downloading...

Composer (version 2.4.1) successfully installed to: /var/www/html/custom_apps/rocketchat_nextcloud/composer.phar
Use it: php composer.phar

mv composer.phar /var/www/html/custom_apps/rocketchat_nextcloud/build/tools
php /var/www/html/custom_apps/rocketchat_nextcloud/build/tools/composer.phar install --prefer-dist
Installing dependencies from lock file (including require-dev)
Verifying lock file contents can be installed on current platform.
Your lock file does not contain a compatible set of packages. Please run composer update.

  Problem 1
    - phpspec/prophecy is locked to version v1.10.3 and an update of this package was not requested.
    - phpspec/prophecy v1.10.3 requires php ^5.3|^7.0 -> your php version (8.0.22) does not satisfy that requirement.
  Problem 2
    - phpunit/php-code-coverage is locked to version 4.0.8 and an update of this package was not requested.
    - phpunit/php-code-coverage 4.0.8 requires php ^5.6 || ^7.0 -> your php version (8.0.22) does not satisfy that requirement.
  Problem 3
    - phpunit/php-timer is locked to version 1.0.9 and an update of this package was not requested.
    - phpunit/php-timer 1.0.9 requires php ^5.3.3 || ^7.0 -> your php version (8.0.22) does not satisfy that requirement.
  Problem 4
    - phpunit/php-token-stream is locked to version 2.0.2 and an update of this package was not requested.
    - phpunit/php-token-stream 2.0.2 requires php ^7.0 -> your php version (8.0.22) does not satisfy that requirement.
  Problem 5
    - phpunit/phpunit is locked to version 5.7.27 and an update of this package was not requested.
    - phpunit/phpunit 5.7.27 requires php ^5.6 || ^7.0 -> your php version (8.0.22) does not satisfy that requirement.
  Problem 6
    - phpunit/phpunit-mock-objects is locked to version 3.4.4 and an update of this package was not requested.
    - phpunit/phpunit-mock-objects 3.4.4 requires php ^5.6 || ^7.0 -> your php version (8.0.22) does not satisfy that requirement.
  Problem 7
    - sebastian/diff is locked to version 1.4.3 and an update of this package was not requested.
    - sebastian/diff 1.4.3 requires php ^5.3.3 || ^7.0 -> your php version (8.0.22) does not satisfy that requirement.
  Problem 8
    - sebastian/environment is locked to version 2.0.0 and an update of this package was not requested.
    - sebastian/environment 2.0.0 requires php ^5.6 || ^7.0 -> your php version (8.0.22) does not satisfy that requirement.
  Problem 9
    - sebastian/diff 1.4.3 requires php ^5.3.3 || ^7.0 -> your php version (8.0.22) does not satisfy that requirement.
    - sebastian/comparator 1.2.4 requires sebastian/diff ~1.2 -> satisfiable by sebastian/diff[1.4.3].
    - sebastian/comparator is locked to version 1.2.4 and an update of this package was not requested.

make[1]: *** [Makefile:77: composer] Error 2
make[1]: Leaving directory '/var/www/html/custom_apps/rocketchat_nextcloud'
make: *** [Makefile:59: build] Error 2

php --version
PHP 8.0.22 (cli) (built: Aug  4 2022 21:58:17) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.0.22, Copyright (c) Zend Technologies
    with Zend OPcache v8.0.22, Copyright (c), by Zend Technologie

As you can see its needs php 5~7 and inside the container we got version 8..

So we need to downgrade php on Nextcloud image to version 7 or ask dev to upgrade app's to php 8..

The first option is solved like this:

git clone https://github.com/nextcloud/docker.git
cd docker/22/apache
vim Dockerfile

Look for: 
FROM php:8.0-apache-bullseye

Change to:
FROM php:7.4.30-apache-bullseye

Save and exit

docker build -t nextcloud-apache-php7:22.2.10 .

Use this brand new image nextcloud-apache-php7:22.2.10 on you docker project

Cheers :)