Code Monkey home page Code Monkey logo

docker-joomla's Introduction

About this Repo

This is the Git repo of the Docker official image for joomla. See the Docker Hub page for the full readme on how to use this Docker image and for information regarding contributing and issues.

The full readme is generated over in docker-library/docs, specifically in docker-library/docs/joomla.

See a change merged here that doesn't show up on the Docker Hub yet? Check the "library/joomla" manifest file in the docker-library/official-images repo, especially PRs with the "library/joomla" label on that repo. For more information about the official images process, see the docker-library/official-images readme.


Build Status Badges Per Arch

GitHub CI build status badge amd64 build status badge arm32v5 build status badge i386 build status badge
arm32v6 build status badge arm32v7 build status badge arm64v8 build status badge mips64le build status badge
ppc64le build status badge s390x build status badge

See OS/ARCH on official images.


How to update the official docker-library/official-images repo

First update the git repository (basic steps)

  • Fork this repository.
  • Clone your forked repository to your local PC and change to the staging branch.
$ git clone [email protected]:your-name/docker-joomla.git
$ cd docker-joomla
$ git checkout staging
$ sudo chmod +x update.sh
$ ./update.sh
  • OR make what ever changes you think will improve the images
  • Make a commit message with every change.
$ git commit -am"Update images of Joomla! x.x.x to x.x.x"
  • Push the changes to your repository.
$ git push origin staging
  • Make a pull request against the staging branch.
  • Done!

Maintainers must then do the following

  • Continue only if all checks are passed with du-diligence
  • Merge the pull request into staging
  • Merge the staging branch into the master branch
  • Again continue only if all checks are passed with du-diligence
  • Clone the master branch of this repository to your PC and change to the master branch.
$ git clone [email protected]:joomla-docker/docker-joomla.git
$ cd docker-joomla
$ git checkout master
$ sudo chmod +x generate-stackbrew-library.sh
$ ./generate-stackbrew-library.sh
  • This will give an output of all the new values needed in the official images (validate the output)
  • The easy way to move this output of this file to the official images can be done in the following way.
  • Open the forked official-images and click on the Fetch Upstream button.
  • Then click on Fetch and Merge while being in the master branch.
  • Clone the master branch of this repository to your PC.
$ git clone [email protected]:joomla-docker/official-images.git
$ cd official-images
$ git checkout master
  • Create a new branch called joomla
$ git checkout -b joomla
  • At this point you should have two directories docker-joomla and official-images
  • Preferably in the same directory so you can do the following.
  • Change back to the docker-joomla repository.
$ cd ../docker-joomla
  • Run the following command, targeting the Joomla library file in the official-images directory with the output:
$ ./generate-stackbrew-library.sh > ../official-images/library/joomla
  • Change again to the official-images repository.
$ cd ../official-images
  • Make a commit that will best reflect a summary of the changes.
$ git commit -am"Update Joomla!"
  • Push the changes to up our forked official-images
$ git push -u origin joomla

Official Images About to Update

  • Open a pull request from our forked official-images to official-images.
  • Use the following convention in the message, check past to see convention.
Changes:

- joomla-docker/docker-joomla@54a82e4: Update images of Joomla! 4.0.2 to 4.0.3
- joomla-docker/docker-joomla@f87bc00: Update version of Joomla! 4.0.2 to 4.0.3
- joomla-docker/docker-joomla@f36a82a: Update images of Joomla! 3.10.1 to 3.10.2
- joomla-docker/docker-joomla@4bc3c7b: Update version of Joomla! 3.10.1 to 3.10.2

The current maintainers of the official images. Let us know if you have any questions.

docker-joomla's People

Contributors

benediktneumayr avatar delight avatar docker-library-bot avatar frankmayer avatar hleithner avatar j0wi avatar johnthenerd avatar llewellynvdm avatar mbabker avatar miljan-aleksic avatar nhusung avatar openenergyprojects avatar philetaylor avatar zero-24 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

docker-joomla's Issues

The instructions in https://hub.docker.com/_/joomla/ don't work. [RANT]

This is a rant for you guys, for not being able to do your work properly.

I have simply tried to use docker image joomla-docker, so i've followed all of the instructions provided here:
https://hub.docker.com/_/joomla/
just to try to get a fresh Joomla install working following these instructions only.

surprise surprise, following your instructions to run it using docker-compose
image

and it doesn't work. And it has nothing to do with my setup (I've tried in two different machines, with two different versions of windows and two different tools for docker).
it simply doesn't work, it's incomplete or god knows what the hell but it simply isn't complete.

Following your instructions leaves me here
image

with an error of not being able to connect to the database not even with a SQL explorer tool (I'm using Navicat SQL in this case)

For whatever reason, I feel there is some parameter missing in the database part for this to work. did anyone in your team review these installation instructions?

And then you guys will wonder why WordPress has so many followers. I love Joomla but whenever i program with it or use it sometimes it just feels like talking to an underage 10 y/o that doesn't fully understand what's going on.

fix this, give proper instructions so that someone can at least install a fresh copy of Joomla and run it in their localhost properly.

db password in logfile

I find a database root password in logstack on gcp logstack.

MySQL Database Created
========================================================================
This server is now configured to run Joomla!
You will need the following database information to install Joomla:
Host Name: mysql-joomla:3306
Database Name: joomla
Database Username: **************
Database Password: ***************

everything what is on stdout is going to be saved on logstack on google.

Increase php limits

The basic php settings are set for max upload 2mb. In these days you need to increase this to 10mb.

We should add a custom php.ini file

The installation freezes and do not finish

Can't start new containers anymore. The installation freezes.

127 0 0 1-32780-installation-index php

I have tried on the tags: latest and 3.7.3-apache-php7
Tried locally and in the PWD.

Here is my docker-compose file:

version: '3.1'

services:
    joomla:
        image: joomla:3.7.3-apache-php7
        links:
            - joomladb:mysql
        ports:
            - 80
        environment:
          JOOMLA_DB_HOST: joomladb
          JOOMLA_DB_PASSWORD: root
        volumes:
            - /home/anderson/Volumes/joomla-php7/www:/var/www/html:z

    joomladb:
        image: mysql:5.6
        ports:
            - 3306
        environment:
            MYSQL_ROOT_PASSWORD: root
        volumes:
            - /home/anderson/Volumes/joomla-php7/db:/var/lib/mysql:z

And I'm sure I have removed the temporary file created in the installation directory to verify the ownership but one of the warning keeps showing.

How can I get logs when developing joomla plugins

Bear with me, I'm new to docker and joomla.

I'm trying to create a joomla plugin and test this with your docker-joomla image.

Unfortunately I can only see http requests being logged when running

docker logs --details -f some-joomla

I tried to log with

JLog::add('my error message', JLog::ERROR);

adapt docker-entrypoint.sh to joomla v3.8.x

I am running the Joomla image as a service on a docker stack.
In order to keep my installation across different Joomla containers I mounted the /var/www/html directory to the service.

But when I remove the docker stack and deploy it again with the same configuration, the docker-entrypoint.sh script copies the installation directory again even though there is a current version installed.

This means the configuration of the existing Joomla installation is kept but it will result in a prompt to remove the installation directory when visiting the website.

example docker-compose.yml:

version: '3.1'

services:
  joomla:
    image: joomla:latest
    deploy:
      restart_policy:
        condition: on-failure
    volumes:
      - "./data:/var/www/html"
# and so on...

I think the problem here is, that the docker-entrypoint.sh checks for existance of libraries/cms/version/version.php in the following line even though
in Joomla version 3.8.0 and up, the version file is located under libraries/src/Version.php:

if ! [ -e index.php -a -e libraries/cms/version/version.php ]; then

See: https://docs.joomla.org/How_to_check_the_Joomla_version%3F#Other_Ways_6

Max retries to mysql db connection

Hi folks,

Love the work you've done here. It's proving to be really useful.

Just struggling with the fact that you only have 30 seconds (10 tries at 3 seconds a try) to setup the db container before the joomla container exits. I'm loading the entire joomla db from a dump using the mysql entrypoint script and 30 seconds isn't long enough with my hardware. It's only just got around to actually trying to load the dump at that point.

Would it be possible, to make the max retries configurable through an ENV VAR or something?

I can obviously do this myself and submit a PR if you think it is a good idea.

Change default PHP version

The current default tags use the PHP 5.6 build (the shortcut 3.8, 3, and latest tags specifically). Let's change that to PHP 7.1 (then 7.2 once we've worked out any remaining core issues).

How to enable SSL?

I see /etc/apache2/sites-available/default-ssl.conf is included in the container. What is the recommended way to enable ssl without create a new image FROM docker-joomla.

Should we just copy the default-ssl.conf, modify it and mount it on '/etc/apache2/sites-enabled' along with mount volume for the actual ssl certificates, or do we need to some additional step too ?

Folders not writable

My host is Centos 7 and docker version 17.12.0-ce. I run docker like this:

docker run --name xxx --link mariadb:mysql --restart=always -v folderTest/:/var/www/html:Z -e JOOMLA_DB_USER=xxx -e JOOMLA_DB_PASSWORD=xxxx -e JOOMLA_DB_NAME=xxx -p 3001:80 -d joomla

Then i run in my host folder joomla permissions:

sudo find . -type f -exec chmod 644 {} \;
sudo find . -type d -exec chmod 755 {} \;

After that i cannot install or update anything and my system folder permission in joomla are all not writable. Help

PHP 7 compatible images

The release of Joomla 3.5 will include PHP 7 compatibility. Add an Apache and FPM PHP 7 image alongside the existing PHP 5.6 images.

data image

would it be possible to install the joomla files into a mounted volume? that way we can work on the Joomla code from the host machine

Configuration of Joomla! fails on Azure when attempting to install languages

Hi,

First of all a big thank you to the developers who created and maintain the Joomla Docker images!
After successfully deploying the Joomla Docker image PHP7.3 (which I assumed to be v 3.9.19, but discovered is v. 3.9.18 as of the last upload 5 days ago) to an Azure website on azurewebsites.net, the installation of languages and activation of the multilingual feature failed. After selecting "Activate the multilingual feature" = yes on the last configuration page, the following message was displayed:

Joomla has set en-GB as your default SITE language.
Joomla has set en-GB as your default ADMINISTRATOR language.

and the multilingual feature is reset to "No". Repeated 2x with the same effect.
I could successfully complete the installation of Joomla without activation of the feature.

Is that expected behaviour?

Btw: before I reached the last configuration page, I had selected 2 languages for installation, but after a wait of several minutes and no progress the language selection page loaded again. When I tried to resubmit it, the error "JINVALID_TOKEN_NOTICE" was displayed. That happened several times before it occurred to me that the error had probably been displayed because the token had expired. After I reduced my selection to just one language, that error did indeed not occur, but the following warning was displayed:

Joomla was unable to install German DE language. You will be able to install it later using the Joomla! Administrator
JLIB_INSTALLER_ABORT_NOINSTALLPATH
COM_INSTALLER_MSG_INSTALL_INVALID_URL
JLIB_INSTALLER_ERROR_DOWNLOAD_SERVER_CONNECT

I could proceed to the point mentioned above.

Can't install - infinite loop

When I try to install joomla with docker compose, I get a strange on the last screen.
Installation is done on an up to date archlinux, with latest docker-ce installation.
The docker-compose file :

version: '3.1'

services:
    joomla:
        image: joomla
        links:
            - joomladb:mysql
        ports:
            - 8080:80
        environment:
          MYSQL_PORT_3306_TCP: 3306
          JOOMLA_DB_HOST: joomladb
          JOOMLA_DB_USER: joomla
          JOOMLA_DB_PASSWORD: joomla
        volumes:
            - /home/francois/PCF/site_valenton/www:/var/www/html
    joomladb:
        image: mariadb:latest
        ports:
            - 3306:3306
        environment:
            MYSQL_ROOT_PASSWORD: joomla
            MYSQL_DATABASE: joomla
            MYSQL_USER: joomla
            MYSQL_PASSWORD: joomla
        volumes:
            - /home/francois/PCF/site_valenton/db:/var/lib/mysql

And this 2 request are infinitly repeated when installation is launched.

joomla_1    | 172.18.0.1 - - [14/Aug/2017:18:35:52 +0000] "POST /installation/index.php HTTP/1.1" 200 388 "http://localhost:8080/installation/index.php" "Mozilla/5.0 (X11; Linux x86_64; rv:55.0) Gecko/20100101 Firefox/55.0"
joomla_1    | 172.18.0.1 - - [14/Aug/2017:18:35:52 +0000] "GET /installation/index.php?tmpl=body&view=database HTTP/1.1" 200 2052 "http://localhost:8080/installation/index.php" "Mozilla/5.0 (X11; Linux x86_64; rv:55.0) Gecko/20100101 Firefox/55.0"

There's no logged problem with the connection between the 2 containers.

Dockerfile defines "VOLUME /var/www/html"

To introduce such a volume leads to the problem that changes to that directory get ignored when commiting to an image.
Use-case: spawn multiple joomla-containers from such a configured and hence ready to run image

Please remove that volume-definition from the buildfiles ("Dockerfile").

Joomla defaults to local ip address for external database

Guys,

I have built joomla with my own modules and it builds fine:

Dockerfile.txt

I am able to run it locally and connect to a remote database with the environmental variables set in the image.

however, when I save it and move it to another docker host and then try to run it with the same commands or docker-compose.yml it tries to connect on the local ip of the host that I try to run it on.

I have tried using this docker-compose.yml

joomla:
  image: pc2joomla:v1.0
  ports:
    - 8080:80
  environment:
    - JOOMLA_DB_HOST=10.55.9.198
    - JOOMLA_DB_USER=user
    - JOOMLA_DB_PASSWORD=password
    - JOOMLA_DB_NAME=db

build system:
Docker version 1.13.0, build 78d1802

host system:
Docker version 1.8.2-el7, build a01dc02/1.8.2

I've tried it on 3 different hosts and it always ignores the environmental variables pointing to the external database whether they are set on the command line, through the docker-compose file.

if I run:
docker run --name hcp2 -p 8080:80 -e JOOMLA_DB_HOST=10.55.9.198:3306 -e JOOMLA_DB_PASSWORD=password pc2joomla:v1.0

I get this error:

Joomla not found in /var/www/html - copying now...
Complete! Joomla has been successfully copied to /var/www/html
Ensuring Joomla database is present
Warning: mysqli::__construct(): (HY000/1045): Access denied for user 'hcp2'@'10.8.55.26' (using password: YES) in /makedb.php on line 20
MySQL Connection Error: (1045) Access denied for user 'hcp2'@'10.8.55.26' (using password: YES)
Warning: mysqli::__construct(): (HY000/1045): Access denied for user 'hcp2'@'10.8.55.26' (using password: YES) in /makedb.php on line 20

until it times out. Any ideas as to why this is happening?

Problems with permitions in container

Docker runing in Windows 10 Pro
Docker version 19.03.8, build afacb8b
docker-compose version 1.25.4, build 8d51620a

When I change the setting in the control panel, my application crashes due to an access error

This happens because the volume mounts with root privileges. When I change the setting, the permissions on the file configuration.php set on 0644 and the application cannot read it
How can I solve this problem?

Mysql configuration in panel

Hello,
I created Joomla:latest with Mysql and set this environments:
MYSQL_PORT_3306_TCP, JOOMLA_DB_NAME, JOOMLA_DB_USER, JOOMLA_DB_HOST, JOOMLA_DB_PASSWORD

But when i open the panel, it asks for database authorization again! Is there any way to skip this level and sets automatically?!

Log of this:
STDERR: 2020-03-04T10:49:26.766362430Z warning: both JOOMLA_DB_HOST and MYSQL_PORT_3306_TCP found
STDERR: 2020-03-04T10:49:26.766516898Z Connecting to JOOMLA_DB_HOST (mysql.sakku.cloud:3306)
STDERR: 2020-03-04T10:49:26.766536708Z instead of the linked mysql container
STDERR: 2020-03-04T10:49:26.793117101Z Joomla not found in /var/www/html - copying now...
STDERR: 2020-03-04T10:58:41.589317734Z Complete! Joomla has been successfully copied to /var/www/html
STDERR: 2020-03-04T10:58:41.774108074Z
STDERR: 2020-03-04T10:58:41.774164138Z Ensuring Joomla database is present
STDERR: 2020-03-04T10:58:41.972868454Z
STDERR: 2020-03-04T10:58:41.972938808Z MySQL Database Created
STDERR: 2020-03-04T10:58:41.979585704Z ========================================================================
STDERR: 2020-03-04T10:58:41.979630095Z
STDERR: 2020-03-04T10:58:41.979800254Z This server is now configured to run Joomla!
STDERR: 2020-03-04T10:58:41.979819044Z
STDERR: 2020-03-04T10:58:41.979830879Z NOTE: You will need your database server address, database name,
STDERR: 2020-03-04T10:58:41.979843785Z and database user credentials to install Joomla.
STDERR: 2020-03-04T10:58:41.979856792Z
STDERR: 2020-03-04T10:58:41.980064921Z ========================================================================

Thank's

enable mcrypt extension

Joomla displays a warning if mcrypt is not available during installation.

Is there an issue with enabling it by default?

I personally need it for a Joomla extension, I'm OK building a derived image but I wanted to check if it would be useful in base. Let me know and I can submit a PR sure.

Add support for Docker secrets

Hello, many official docker images have support to Docker Secrets, this image could have an enviroment variable JOOMLA_DB_PASSWORD_FILE that uses this characteristic for better security and deploy strategies.

Problems connecting to joomla container from a DNS name www.example.com

The docker image seems to have problems when accessing the site through a DNS name like www.example.com:

Following the docker-compose file I use to launch the joomla container and related database:

version: '3.1'

services:

  example-web:
    image: joomla
    container_name: example-web
    restart: always
    links:
      - example-web-db:mysql
    volumes:
      - ./site:/var/www/html
    ports:
      - 8081:80
    environment:
      MYSQL_PORT_3306_TCP: 3307
      JOOMLA_DB_HOST: example-web-db
      JOOMLA_DB_PASSWORD: "example010"
      JOOMLA_DB_USER: "root"
      JOOMLA_DB_NAME: "example_joomla"

  example-web-db:
    image: mysql:5.6
    container_name: example-web-db
    restart: always
    ports:
      - "3307:3306"
    volumes:
      - ./db:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: "example010"
      MYSQL_DATABASE: "example_joomla"

On my DNS settings, I configure www.example.com to point to my server's IP. On this server there's an apache 2 service which I use as a proxy, forwarding requests to www.example.com to <MY SERVER IP>:8081 (the port exposed by my joomla container)

I launch the installation procedure by visiting the url with the browser and everything seems to work fine. When I visit the created site (http://www.example.com/), though, styles and some links are broken; by looking at the browser console and the generated page, I notice that some of the links to resrouces or other pages are included as http://localhost:8081/...etc...

The problem does not arise when accessing the site using the explicit servier's IP (eg: http://<MY_SERVER_IP>:8081).

The administrator's site, on the other hand seems to work fine (no styles or links broken)

Joomla docker commit and restart

hello people!
Hope your having a great day working from home.

I'm currently done building my joomla docker container.
What i'm trying to do is commit it to a new image and launch it from the new image without too much configuration..

However when my mqsql container was ready I launched my commited image by entering :
docker run --name joomlacool --link mysql:db -e JOOMLA_DB_HOST=db:3306 -e JOOMLA_DB_USER=joomla -e JOOMLA_DB_PASSWORD=redacted -p 80:80 -d joomlacool

Joomla worked fine but sadly I had to redo the initial installation of Joomla..
also my plugins were not there anymore.
Other data included in the filesystem like user files where still present.

So i'm looking to re-run the container how I left it when I commited the image.

Thanks in advance

Cannot access MEDIA due to Load denied by X-Frame-Options: “DENY” error

Launch with docker-compose.yaml below, then complete the install... when I go to Admin section and click on Media, I am shown a blank page and the console shows the following error:
Load denied by X-Frame-Options: “DENY” from “https://test.mydomain.com/administrator/index.php?option=com_media&view=mediaList&tmpl=component&folder=”, site does not permit any framing. Attempted to load into “https://test.mydomain.com/administrator/index.php?option=com_media”.

version: '3.7'

services:
  #Database
  db:
    image: mysql:latest
    volumes:
      - ./db_data:/var/lib/mysql
    restart: always
    networks:
      - backend
    command: mysqld --default_authentication_plugin=mysql_native_password
    environment:
      MYSQL_ROOT_PASSWORD: joomla
      MYSQL_DATABASE: joomla
      MYSQL_USER: joomla
      MYSQL_PASSWORD: joomla

  #Joomla
  joomlasite:
    depends_on:
      - db
    image: joomla:latest
    restart: always
    networks:
      - frontend
      - backend
    volumes:
      - ./html:/var/www/html
    labels:
      - "traefik.enable=true"
      - "traefik.docker.network=traefik-proxy"
      - "traefik.http.middlewares.joomlasite-ssl.redirectscheme.scheme=https"
      - "traefik.http.routers.joomlasite-http.entrypoints=web"
      - "traefik.http.routers.joomlasite-http.rule=Host(`test.mydomain.com`)"
      - "traefik.http.routers.joomlasite-http.middlewares=joomlasite-ssl@docker"

      - "traefik.http.routers.joomlasite.middlewares=secureHeader@file"
      - "traefik.http.routers.joomlasite.entrypoints=websecure"
      - "traefik.http.routers.joomlasite.rule=Host(`test.mydomain.com`)"

      - "traefik.http.routers.joomlasite.tls=true"
      - "traefik.http.routers.joomlasite.tls.certresolver=le-tls"


    environment:
      JOOMLA_DB_HOST: db:3306
      JOOMLA_DB_USER: joomla
      JOOMLA_DB_PASSWORD: joomla
      JOOMLA_DB_NAME: joomla

networks:
  backend:
  frontend:
    external:
      name: traefik-proxy

Readme

How do we update the full readme?

Update stack/compose example to remove restart and links

The README example of a stack.yml file could use updating to remove legacy/confusing options:

  1. Links are no longer needed as of compose v2. Since this example uses v3.1, links should be removed.
  2. restart: option is only used for docker-compose, while restart_policy: is only used for stack deploy. Since it's an option setting, I'd recommend removing it from the example to avoid confusion like this question on SO.

I can submit a PR (just let me know if you agree with above and I'll submit) or someone can just update the README to read:

version: '3.1'

services:
  joomla:
    image: joomla
    ports:
      - 8080:80
    environment:
      JOOMLA_DB_HOST: joomladb
      JOOMLA_DB_PASSWORD: example

  joomladb:
    image: mysql:5.6
    environment:
      MYSQL_ROOT_PASSWORD: example

Upgrading Versions

What is the best route to upgrading versions?

Upgrade through the admin page then update the docker-compose file to reflect the matching image version?

Thanks,

Chris Edwards

Performance Issue

When I enabled/mounted the volume, the Joomla performance is decreasing significantly. Any clue?

Error respons from daemon when running.

See following copied from terminal:

~$ docker run --name some-joomla --link some-mysql:mysql -d joomla
Unable to find image 'joomla:latest' locally
latest: Pulling from library/joomla
8b87079b7a06: Already exists
a3ed95caeb02: Pull complete
af1704cb90e1: Pull complete
6acdef7ebe13: Pull complete
4fc566a7c22a: Pull complete
b06a1bacee51: Pull complete
c5fc21fb6c09: Pull complete
df319b61c869: Pull complete
f958e5267409: Pull complete
b06010f04fa8: Pull complete
17c1b5f8acff: Pull complete
2ed292d591c7: Pull complete
5ea0585ac6f2: Pull complete
1c236307d5b0: Pull complete
a0e2ec0b0590: Pull complete
4faac5c48b9d: Pull complete
237118f80126: Pull complete
32660a451e43: Pull complete
6b2e9efa5569: Pull complete
Digest: sha256:2d174d96b0645d841b6c2e6c23b83b109fff31e3688e8789837cb834137f11fc
Status: Downloaded newer image for joomla:latest
docker: Error response from daemon: Could not get container for some-mysql.
See 'docker run --help'.

Application Instantiation Error

Hello I am getting an error about the session table not existing:

Error displaying the error page: Application Instantiation Error: Table 'joomla.#__session' doesn't exist SQL=SELECT `session_id` FROM `#__session` WHERE `session_id` = 'dbd707b3cb7562218a6d6db8b2b1befb' LIMIT 1

Here is my docker-compose.yml

version: '2'
services:
  joomla:
    image: joomla
    links:
      - joomladb:mysql
    volumes:
      - .:/var/www/html
    ports:
      - 8080:80
    environment:
      MYSQL_PORT_3306_TCP: 3306
      JOOMLA_DB_HOST: joomladb
      JOOMLA_DB_PASSWORD: "example"
      JOOMLA_DB_USER: "root"
      JOOMLA_DB_NAME: "joomla"
  joomladb:
    image: mysql:5.6
    ports:
      - "3306:3306"
    environment:
      MYSQL_ROOT_PASSWORD: "example"
      MYSQL_DATABASE: "joomla"

cron support

Would it be possible to add cron, systemd and maybe supervisor to the images?
This would be really useful for synching backups automatically.

Thanks

3.7.4 remote DB

I just tried to do a fresh install with. After following instructions to delete the file file created to prove server ownership, the db install screen blocks further progress and displays the notice that I need to prove I own the server.

Add Support for ARM64V8 architecture

Hi,

The Joomla docker package is building and running fine at my end for ARM64v8 architecture.

Please suggest, what needs to be done to raise the request to add support for ARM64v8 arch at official docker library too.

Regards,

Allow for empty MySQL root password in makedb.php

It should be possible to have an empty password.

If done correctly (docker network connect, or using docker-compose links), a MySQL container does not require to setup a password if ports are not exposed to the host (i.e. only to the joomla container).

Currently, it is required to have at least a dummy password, but it is not really needed.

Database host isn't ever going to be localhost.

Using Docker means that the likely hood of using "localhost" should be never. However there is an error shown during the installation process. This means that if you don't have access to the container because you don't know where is has been scheduled, not that you should actually go in and delete files, you cannot delete the temporary file it has asked.

screenshot from 2017-07-27 09-27-42

However just in case you can, there is still a bug where by the installation never succeeds, just makes indefinite HTTP requests.

screenshot from 2017-07-27 09-30-37

Unless you do the following:

// install vim
root@444879d84e99:/var/www/html/installation/model# vi database.php 

delete:
                if (!in_array($options->db_host, $localhost))
add:
                if (false)

/var/www/html empty

Guys,

I am using the apache-php7 dockerfile with some extra php modules and every time I build it, the /var/www/html directory is empty giving me a 404 error instead of the installation page.

if I go into the docker container and copy the contents of /usr/src/joomla into /var/www/html it works as expected.

is there perhaps an issue with my Dockerfile that I'm not seeing?

FROM php:7.0-apache
MAINTAINER Michael Babker <[email protected]> (@mbabker)

# Enable Apache Rewrite Module
RUN a2enmod rewrite

# Install PHP extensions
RUN apt-get update && apt-get install -y libpng12-dev libjpeg-dev libmcrypt-dev zip unzip libxml2-dev libicu-dev unixodbc unixodbc-dev && rm -rf /var/lib/apt/lists/* \
	&& docker-php-ext-configure gd --with-png-dir=/usr --with-jpeg-dir=/usr \
	&& docker-php-ext-install gd
RUN docker-php-ext-install -j5 mysqli mcrypt mbstring xmlrpc xml pdo soap intl json

# cannot install odbc wihtout the below because of https://github.com/docker-library/php/issues/103#issuecomment-160772802 
RUN set -x \
    && cd /usr/src/ && tar -xf php.tar.xz && mv php-7* php \
    && cd /usr/src/php/ext/odbc \
    && phpize \
    && sed -ri 's@^ *test +"\$PHP_.*" *= *"no" *&& *PHP_.*=yes *$@#&@g' configure \
    && ./configure --with-unixODBC=shared,/usr > /dev/null \
    && docker-php-ext-install odbc > /dev/null

VOLUME /var/www/html

# Define Joomla version and expected SHA1 signature
ENV JOOMLA_VERSION 3.6.5
ENV JOOMLA_SHA1 3143994bb5520c249961cbb5bc297c149399f4b7

# Download package and extract to web volume
RUN curl -o joomla.zip -SL https://github.com/joomla/joomla-cms/releases/download/${JOOMLA_VERSION}/Joomla_${JOOMLA_VERSION}-Stable-Full_Package.zip \
	&& echo "$JOOMLA_SHA1 *joomla.zip" | sha1sum -c - \
	&& mkdir /usr/src/joomla \
	&& unzip joomla.zip -d /usr/src/joomla \
	&& rm joomla.zip \
	&& chown -R www-data:www-data /usr/src/joomla 
  
RUN cp -Rva /usr/src/joomla/* /var/www/html 

# Copy init scripts and custom .htaccess
COPY docker-entrypoint.sh /entrypoint.sh
COPY makedb.php /makedb.php

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

Dockerfile.txt

I think another set(s) of eyeballs is always helpful, because at this point I'm stumped.

cannot install joomla using docker

Steps to reproduce the issue

https://hub.docker.com/_/joomla/
Follow the instructions
Use docker-compose up -d

Expected result

Installation works

Actual result

Install step 2 breaks because throw new RuntimeException('Could not connect to MySQL');in driver/msqli.php

System information (as much as possible)

Ubuntu 14.04 lts

Additional comments

MysqlContainer is running and I can connect with root | example by exec into the docker container or using a query browser like mysqlworkbench

I think it is an issue with container interaction, because they dont seem to reach each other

Refactor update.php

The "update.php" should be refactored to adress the following issues:

  • CURLOPT_SSL_VERIFYPEER is disabled, which is insecure
  • SHA1 checksum is also insecure and should be replaced by somewhat stronger (current API does only provide MD5 and SHA1)
  • I think a shell script is preferable over PHP

Run Joomla image without ROOT user

Hello,

I've tried to execute Joomla image without root user. Apache wasn't able to open tcp port.

Is there a way to execute Joomla image with am other user than root user?

If not, is-it possible to add the ability to run Joomla image without root user?

Thank's

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.