Skip to content
concrete5-communityPublic

About

Docker images with pre-installed Concrete CMS

Resources

Stars

31 stars

Watchers

6 watching

Forks

Latest commit

 

History

1,147 Commits

Folders and files

Repository files navigation

Docker images with ready-to use ConcreteCMS

Docker images that provide pre-installed ConcreteCMS (or concrete5) instances without the hassle of configuring them.

You can use this wizard to build the command line you can use to run docker5 Docker images.

Available docker tags

Here's the list of the available docker images:

Version Aliases Starting Point Default PHP Version Images
9.5.5 latest
9
9.5
atomik_blank 8.2 ghcr.io/concrete5-community/docker5:9.5.5
ghcr.io/concrete5-community/docker5:latest
ghcr.io/concrete5-community/docker5:9
ghcr.io/concrete5-community/docker5:9.5
9.5.5-full latest-full
9-full
9.5-full
atomik_full 8.2 ghcr.io/concrete5-community/docker5:9.5.5-full
ghcr.io/concrete5-community/docker5:latest-full
ghcr.io/concrete5-community/docker5:9-full
ghcr.io/concrete5-community/docker5:9.5-full
9.5.4 atomik_blank 8.2 ghcr.io/concrete5-community/docker5:9.5.4
9.5.4-full atomik_full 8.2 ghcr.io/concrete5-community/docker5:9.5.4-full
9.5.3 atomik_blank 8.2 ghcr.io/concrete5-community/docker5:9.5.3
9.5.3-full atomik_full 8.2 ghcr.io/concrete5-community/docker5:9.5.3-full
9.5.2 atomik_blank 8.2 ghcr.io/concrete5-community/docker5:9.5.2
9.5.2-full atomik_full 8.2 ghcr.io/concrete5-community/docker5:9.5.2-full
9.5.1 atomik_blank 8.2 ghcr.io/concrete5-community/docker5:9.5.1
9.5.1-full atomik_full 8.2 ghcr.io/concrete5-community/docker5:9.5.1-full
9.5.0 atomik_blank 8.2 ghcr.io/concrete5-community/docker5:9.5.0
9.5.0-full atomik_full 8.2 ghcr.io/concrete5-community/docker5:9.5.0-full
9.4.8 9.4 atomik_blank 8.2 ghcr.io/concrete5-community/docker5:9.4.8
ghcr.io/concrete5-community/docker5:9.4
9.4.8-full 9.4-full atomik_full 8.2 ghcr.io/concrete5-community/docker5:9.4.8-full
ghcr.io/concrete5-community/docker5:9.4-full
9.4.7 atomik_blank 8.2 ghcr.io/concrete5-community/docker5:9.4.7
9.4.7-full atomik_full 8.2 ghcr.io/concrete5-community/docker5:9.4.7-full
9.4.6 atomik_blank 8.2 ghcr.io/concrete5-community/docker5:9.4.6
9.4.6-full atomik_full 8.2 ghcr.io/concrete5-community/docker5:9.4.6-full
9.4.5 atomik_blank 8.2 ghcr.io/concrete5-community/docker5:9.4.5
9.4.5-full atomik_full 8.2 ghcr.io/concrete5-community/docker5:9.4.5-full
9.4.4 atomik_blank 8.2 ghcr.io/concrete5-community/docker5:9.4.4
9.4.4-full atomik_full 8.2 ghcr.io/concrete5-community/docker5:9.4.4-full
9.4.3 atomik_blank 8.2 ghcr.io/concrete5-community/docker5:9.4.3
9.4.3-full atomik_full 8.2 ghcr.io/concrete5-community/docker5:9.4.3-full
9.4.2 atomik_blank 8.2 ghcr.io/concrete5-community/docker5:9.4.2
9.4.2-full atomik_full 8.2 ghcr.io/concrete5-community/docker5:9.4.2-full
9.4.1 atomik_blank 8.2 ghcr.io/concrete5-community/docker5:9.4.1
9.4.1-full atomik_full 8.2 ghcr.io/concrete5-community/docker5:9.4.1-full
9.4.0 atomik_blank 8.2 ghcr.io/concrete5-community/docker5:9.4.0
9.4.0-full atomik_full 8.2 ghcr.io/concrete5-community/docker5:9.4.0-full
9.3.9 9.3 atomik_blank 8.2 ghcr.io/concrete5-community/docker5:9.3.9
ghcr.io/concrete5-community/docker5:9.3
9.3.9-full 9.3-full atomik_full 8.2 ghcr.io/concrete5-community/docker5:9.3.9-full
ghcr.io/concrete5-community/docker5:9.3-full
9.3.8 atomik_blank 8.2 ghcr.io/concrete5-community/docker5:9.3.8
9.3.8-full atomik_full 8.2 ghcr.io/concrete5-community/docker5:9.3.8-full
9.3.7 atomik_blank 8.2 ghcr.io/concrete5-community/docker5:9.3.7
9.3.7-full atomik_full 8.2 ghcr.io/concrete5-community/docker5:9.3.7-full
9.3.6 atomik_blank 8.2 ghcr.io/concrete5-community/docker5:9.3.6
9.3.6-full atomik_full 8.2 ghcr.io/concrete5-community/docker5:9.3.6-full
9.3.5 atomik_blank 8.2 ghcr.io/concrete5-community/docker5:9.3.5
9.3.5-full atomik_full 8.2 ghcr.io/concrete5-community/docker5:9.3.5-full
9.3.4 atomik_blank 8.2 ghcr.io/concrete5-community/docker5:9.3.4
9.3.4-full atomik_full 8.2 ghcr.io/concrete5-community/docker5:9.3.4-full
9.3.3 atomik_blank 8.2 ghcr.io/concrete5-community/docker5:9.3.3
9.3.3-full atomik_full 8.2 ghcr.io/concrete5-community/docker5:9.3.3-full
9.3.2 atomik_blank 8.2 ghcr.io/concrete5-community/docker5:9.3.2
9.3.2-full atomik_full 8.2 ghcr.io/concrete5-community/docker5:9.3.2-full
9.2.9 9.2 atomik_blank 8.2 ghcr.io/concrete5-community/docker5:9.2.9
ghcr.io/concrete5-community/docker5:9.2
9.2.9-full 9.2-full atomik_full 8.2 ghcr.io/concrete5-community/docker5:9.2.9-full
ghcr.io/concrete5-community/docker5:9.2-full
9.2.8 atomik_blank 8.2 ghcr.io/concrete5-community/docker5:9.2.8
9.2.8-full atomik_full 8.2 ghcr.io/concrete5-community/docker5:9.2.8-full
9.2.7 atomik_blank 8.2 ghcr.io/concrete5-community/docker5:9.2.7
9.2.7-full atomik_full 8.2 ghcr.io/concrete5-community/docker5:9.2.7-full
9.2.6 atomik_blank 8.2 ghcr.io/concrete5-community/docker5:9.2.6
9.2.6-full atomik_full 8.2 ghcr.io/concrete5-community/docker5:9.2.6-full
9.2.5 atomik_blank 8.2 ghcr.io/concrete5-community/docker5:9.2.5
9.2.5-full atomik_full 8.2 ghcr.io/concrete5-community/docker5:9.2.5-full
9.2.4 atomik_blank 8.2 ghcr.io/concrete5-community/docker5:9.2.4
9.2.4-full atomik_full 8.2 ghcr.io/concrete5-community/docker5:9.2.4-full
9.2.3 atomik_blank 8.2 ghcr.io/concrete5-community/docker5:9.2.3
9.2.3-full atomik_full 8.2 ghcr.io/concrete5-community/docker5:9.2.3-full
9.2.2 atomik_blank 8.2 ghcr.io/concrete5-community/docker5:9.2.2
9.2.2-full atomik_full 8.2 ghcr.io/concrete5-community/docker5:9.2.2-full
9.2.1 atomik_blank 8.2 ghcr.io/concrete5-community/docker5:9.2.1
9.2.1-full atomik_full 8.2 ghcr.io/concrete5-community/docker5:9.2.1-full
9.2.0 atomik_blank 8.2 ghcr.io/concrete5-community/docker5:9.2.0
9.2.0-full atomik_full 8.2 ghcr.io/concrete5-community/docker5:9.2.0-full
9.1.3 9.1 elemental_blank 8.1 ghcr.io/concrete5-community/docker5:9.1.3
ghcr.io/concrete5-community/docker5:9.1
9.1.3-full 9.1-full atomik_full 8.1 ghcr.io/concrete5-community/docker5:9.1.3-full
ghcr.io/concrete5-community/docker5:9.1-full
9.1.2 elemental_blank 8.1 ghcr.io/concrete5-community/docker5:9.1.2
9.1.2-full atomik_full 8.1 ghcr.io/concrete5-community/docker5:9.1.2-full
9.1.1 elemental_blank 8.1 ghcr.io/concrete5-community/docker5:9.1.1
9.1.1-full atomik_full 8.1 ghcr.io/concrete5-community/docker5:9.1.1-full
9.1.0 elemental_blank 8.1 ghcr.io/concrete5-community/docker5:9.1.0
9.1.0-full atomik_full 8.1 ghcr.io/concrete5-community/docker5:9.1.0-full
9.0.2 9.0 elemental_blank 8.1 ghcr.io/concrete5-community/docker5:9.0.2
ghcr.io/concrete5-community/docker5:9.0
9.0.2-full 9.0-full atomik_full 8.1 ghcr.io/concrete5-community/docker5:9.0.2-full
ghcr.io/concrete5-community/docker5:9.0-full
9.0.1 elemental_blank 8.1 ghcr.io/concrete5-community/docker5:9.0.1
9.0.1-full atomik_full 8.1 ghcr.io/concrete5-community/docker5:9.0.1-full
8.5.21 8
8.5
elemental_blank 7.4 ghcr.io/concrete5-community/docker5:8.5.21
ghcr.io/concrete5-community/docker5:8
ghcr.io/concrete5-community/docker5:8.5
8.5.21-full 8-full
8.5-full
elemental_full 7.4 ghcr.io/concrete5-community/docker5:8.5.21-full
ghcr.io/concrete5-community/docker5:8-full
ghcr.io/concrete5-community/docker5:8.5-full
8.5.20 elemental_blank 7.4 ghcr.io/concrete5-community/docker5:8.5.20
8.5.20-full elemental_full 7.4 ghcr.io/concrete5-community/docker5:8.5.20-full
8.5.19 elemental_blank 7.4 ghcr.io/concrete5-community/docker5:8.5.19
8.5.19-full elemental_full 7.4 ghcr.io/concrete5-community/docker5:8.5.19-full
8.5.18 elemental_blank 7.4 ghcr.io/concrete5-community/docker5:8.5.18
8.5.18-full elemental_full 7.4 ghcr.io/concrete5-community/docker5:8.5.18-full
8.5.17 elemental_blank 7.4 ghcr.io/concrete5-community/docker5:8.5.17
8.5.17-full elemental_full 7.4 ghcr.io/concrete5-community/docker5:8.5.17-full
8.5.16 elemental_blank 7.4 ghcr.io/concrete5-community/docker5:8.5.16
8.5.16-full elemental_full 7.4 ghcr.io/concrete5-community/docker5:8.5.16-full
8.5.15 elemental_blank 7.4 ghcr.io/concrete5-community/docker5:8.5.15
8.5.15-full elemental_full 7.4 ghcr.io/concrete5-community/docker5:8.5.15-full
8.5.14 elemental_blank 7.4 ghcr.io/concrete5-community/docker5:8.5.14
8.5.14-full elemental_full 7.4 ghcr.io/concrete5-community/docker5:8.5.14-full
8.5.13 elemental_blank 7.4 ghcr.io/concrete5-community/docker5:8.5.13
8.5.13-full elemental_full 7.4 ghcr.io/concrete5-community/docker5:8.5.13-full
8.5.12 elemental_blank 7.4 ghcr.io/concrete5-community/docker5:8.5.12
8.5.12-full elemental_full 7.4 ghcr.io/concrete5-community/docker5:8.5.12-full
8.5.7 elemental_blank 7.4 ghcr.io/concrete5-community/docker5:8.5.7
8.5.7-full elemental_full 7.4 ghcr.io/concrete5-community/docker5:8.5.7-full
8.5.6 elemental_blank 7.4 ghcr.io/concrete5-community/docker5:8.5.6
8.5.6-full elemental_full 7.4 ghcr.io/concrete5-community/docker5:8.5.6-full
8.5.5 elemental_blank 7.4 ghcr.io/concrete5-community/docker5:8.5.5
8.5.5-full elemental_full 7.4 ghcr.io/concrete5-community/docker5:8.5.5-full
8.5.4 elemental_blank 7.4 ghcr.io/concrete5-community/docker5:8.5.4
8.5.4-full elemental_full 7.4 ghcr.io/concrete5-community/docker5:8.5.4-full
8.5.2 elemental_blank 7.4 ghcr.io/concrete5-community/docker5:8.5.2
8.5.2-full elemental_full 7.4 ghcr.io/concrete5-community/docker5:8.5.2-full
5.7.5.13 5.7
5.7.5
elemental_blank 5.6 ghcr.io/concrete5-community/docker5:5.7.5.13
ghcr.io/concrete5-community/docker5:5.7
ghcr.io/concrete5-community/docker5:5.7.5
5.7.5.13-full 5.7-full
5.7.5-full
elemental_full 5.6 ghcr.io/concrete5-community/docker5:5.7.5.13-full
ghcr.io/concrete5-community/docker5:5.7-full
ghcr.io/concrete5-community/docker5:5.7.5-full

You can also try the latest development versions, built directly from the official git repository.

Branch Starting Point Default PHP Version Image
9.5.x atomik_blank 8.2 ghcr.io/concrete5-community/docker5:9.5.x
9.5.x atomik_full 8.2 ghcr.io/concrete5-community/docker5:9.5.x-full
9.4.x atomik_blank 8.2 ghcr.io/concrete5-community/docker5:9.4.x
9.4.x atomik_full 8.2 ghcr.io/concrete5-community/docker5:9.4.x-full
9.3.x atomik_blank 8.2 ghcr.io/concrete5-community/docker5:9.3.x
9.3.x atomik_full 8.2 ghcr.io/concrete5-community/docker5:9.3.x-full
9.2.x atomik_blank 8.2 ghcr.io/concrete5-community/docker5:9.2.x
9.2.x atomik_full 8.2 ghcr.io/concrete5-community/docker5:9.2.x-full
8.5.x elemental_blank 7.4 ghcr.io/concrete5-community/docker5:8.5.x
8.5.x elemental_full 7.4 ghcr.io/concrete5-community/docker5:8.5.x-full

References

Pre-compiled images: https://github.com/concrete5-community/docker5/pkgs/container/docker5

Source repository: https://github.com/concrete5-community/docker5

Configuration parameters

  • Password of the admin user: 12345
  • Name of the ConcreteCMS database: c5
  • Database user name: c5
  • Database user password: 12345
  • Exposed port for the website: 80
  • Exposed port for the database: 3306
  • Exposed port for the webmail: 8025

Additional CLI commands

docker5 images come with some service CLI commands. You can get a list of them by running the ccm-help CLI command.

Installing additional components

You can install additional components with the ccm-install CLI command.

composerpkg

You can install composerpkg with:

ccm-install composerpkg

Blocks Cloner

You can install Blocks Cloner in a concrete5/ConcreteCMS version 8.5.4 or later come with:

ccm-install blocks_cloner

Validator of CIF files

You can install concrete-cif with:

ccm-install concrete-cif

PHP CS Fixer

You can install PHP CS Fixer with:

ccm-install php-cs-fixer

PHP Versions

Every docker image contains multiple PHP versions: 5.6, 7.4, 8.1, 8.2, 8.3, 8.4 and 8.5.

When using the default entry point you can override the default one by specifying the CCM_PHP_VERSION environment variable, like this:

docker run --rm -e "CCM_PHP_VERSION=7.4" ghcr.io/concrete5-community/docker5:8.5.4-full

From within the container you can use the switch-php command:

switch-php 7.4

Composer Versions

Every docker image contains composer v1, composer v2 and v2.2.

When using the default entry point you can override the default one by specifying the CCM_COMPOSER_VERSION environment variable, like this:

docker run --rm -e "CCM_COMPOSER_VERSION=2.2" ghcr.io/concrete5-community/docker5:9.0.2-full

From within the container you can use the switch-composer command:

switch-composer 2.2

PHPUnit Versions

Every docker image contains many PHPUnit versions.

When using the default entry point you can override the default one by specifying the CCM_PHPUNIT_VERSION environment variable, like this:

docker run --rm -e "CCM_PHPUNIT_VERSION=10" ghcr.io/concrete5-community/docker5:9.0.2-full

From within the container you can use the switch-phpunit command:

switch-phpunit 10

Starting/stopping services

The default entry point will start the database and web services at startup, and stop them at shutdown.

You can also control them by using the ccm-service command to start/stop/restart these services, as well as to determine if they are running.

# Start all the services
ccm-service start
# Stop all the services
ccm-service stop
# Restart only the database service
ccm-service restart db
# Check if the PHP-FPM service and the Nginx services are running
ccm-service status php-fpm nginx

ARM64 support

docker5 images are published for both linux/amd64 and linux/arm64. The image tags listed above point to multi-platform manifests, so Docker automatically pulls the native image for your machine (for example on Windows on ARM / Snapdragon, Apple Silicon, or ARM Linux servers): you don't need to specify any --platform option.

Native ARM64 images are strongly recommended on ARM machines: running the linux/amd64 images under QEMU emulation is unreliable (for example PHP-FPM may hang, resulting in 502 Bad Gateway errors). So, avoid forcing --platform linux/amd64 on ARM hosts. If you really need a specific architecture, the full version tags (like 9.5.5 and 9.5.5-full) also exist with an -amd64 or -arm64 suffix (for example 9.5.5-full-arm64).

Please note that the ARM64 images use Mailpit instead of MailHog (which doesn't provide ARM64 binaries): it listens on the same ports (25 for SMTP, 8025 for the webmail).

If you build the images yourself on Windows, make sure that the shell scripts have LF line endings (this repository enforces that via its .gitattributes file): scripts with CRLF line endings fail with errors like /bin/sh: 1: /build: not found.

Notifications

This repository contains a copuple of scheduled GitHub Actions. If you want to be notified about problems, you can subscribe to this Telegram channel.

About

Docker images with pre-installed Concrete CMS

Resources

Stars

31 stars

Watchers

6 watching

Forks

Releases

Packages

Used by

Contributors

Languages