1

I'm looking to restore my backed-up version of Joomla! 3.10.11, backed up by Akeeba, to a docker container locally so that I can test the migration to Joomla! 4, but am having issues in doing so. Hopefully someone here may have the solution that I'm looking for!

My current Joomla! installation is on PHP 7.4.19 with MySQL 5.5.5-10.3.29-MariaDB on Apache/2.4.46 The Docker image appears to be PHP 8.0.28 with MySQL 5.7 on Apache/2.4.56

I have set up Docker containers with the following YAML, and it works just fine to start up the base Joomla! 3.10.11 image/website:

services:
  joomla:
    image: joomla:3.10.11
    restart: always
    container_name: joomla
    hostname: joomla
    links:
      - joomladb:joomla
    depends_on:
      - joomladb
    ports:
      - 80:80
      - 443:443
    volumes:
      - joomla-volume:/var/www/html
    environment:
      JOOMLA_DB_HOST: joomladb
      JOOMLA_DB_PASSWORD: *****

  joomladb:
    image: mysql:5.7
    container_name: joomladb
    hostname: joomladb
    ports:
      - 3306:3306
    restart: always
    volumes:
      - mysql-volume:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: *****
      MYSQL_USER: joomla
      MYSQL_PASSWORD: *****
      MYSQL_DATABASE: joomla
      
  phpmyadmin:
    image: phpmyadmin
    container_name: phpmyadmin
    hostname: phpmyadmin
    links:
    - joomladb
    depends_on:
    - joomladb
    ports:
    - 8080:80
    environment:
    - PMA_HOST=joomladb

volumes:
  mysql-volume:
  joomla-volume:

I'm able to launch the default site and get to the back-end where I install Akeeba, load up the archive image, and do the restoration. During the restoration I disable SSL for ease of debugging as well as update my hosts file to point the DNS of the website to my local Docker image.

Once restored, I'm able to get to the back-end admin center without any issue, but the front end is not loading, takes about 10-15 seconds to attempt load, and seems to be related to a 500 Internal Server Error (related to "strict-origin-when-cross-origin") and not being able to load JQuery (probably a symptom). A few items load, like the site logo, but 95+% of it never comes through.

Screenshot of error

Any thoughts? Help? ...please? :-[

I've already talked with Akeeba support and they indicated that they are able to restore the site without issue, leading me to believe that it's a Docker-specific issue. Based on their testing and mine it doesn't appear to be related to: cache (which I've disabled) .htaccess (which I've done all kinds of things to in testing this) the configuration.php.

I've also tried building Bitnami's base Joomla! 3.10.11 Docker image and restoring there, but it has the exact same issue once restored.

0

1 Answer 1

2

While Joomla 3.10 is compatible with PHP 8.0, many extensions are not. Try using a docker compose stack with php7.4 you should be lucky

Else expose your Apache logs to the docker machine, set configuration error reporting to maximum or development, and see if you have more info there.

You can debug the .htaccess by simply removing it along with any hardening configuration in Apache, you can sort those out later

If your docker stack contains a reverse proxy bypass it for now by connecting directly to the higher port to debug one issue at a time

--

Update

In order to have php7.4 in docker you can look in the fasterj folder in this docker repo, open the docker-compose.yaml and find the php-fpm machine.

It's a very simple docker stack with quite a few comments in the readme, I hope it helps.

1
  • Thank you for this recommendation! I'm very new to Docker, and am unsure how to get a docker compose stack with PHP 7.4. Do you have any suggestions on how to do that?
    – PhotoRonin
    Commented Apr 24, 2023 at 20:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.