diff --git a/bitnami/prestashop/1.7/ol-7/Dockerfile b/bitnami/prestashop/1.7/ol-7/Dockerfile new file mode 100644 index 000000000000..e20edf2086fc --- /dev/null +++ b/bitnami/prestashop/1.7/ol-7/Dockerfile @@ -0,0 +1,45 @@ +FROM bitnami/oraclelinux-extras:7-r3 +LABEL maintainer "Bitnami " + +# Install required system packages and dependencies +RUN install_packages bzip2-libs cyrus-sasl-lib expat freetype glibc gmp keyutils-libs krb5-libs libcom_err libcurl libgcc libgcrypt libgpg-error libicu libidn libjpeg-turbo libpng libselinux libssh2 libstdc++ libxml2 libxslt ncurses-libs nspr nss nss-softokn-freebl nss-util openldap openssl-libs pcre postgresql-libs readline sqlite xz-libs zlib +RUN bitnami-pkg unpack apache-2.4.33-3 --checksum 0611709446389dbf1b9a08ee4b8b447443e356e286a9c6dee312d55f72e465d6 +RUN bitnami-pkg unpack php-7.0.30-3 --checksum 1de72790ae78f941b400212bba9f04201373b7573e679818a7f06edbb65cf473 +RUN bitnami-pkg unpack mysql-client-10.1.33-0 --checksum 250e5cd0f6f256fb39e8d8b703856dbc0257f3da9659b8565398173a3119dd9c +RUN bitnami-pkg install libphp-7.0.30-6 --checksum 31cf8fe7e06aee8a9954e5205b9d49e7ec8c8eef4d260a9ed21e1955ec10a9f9 +RUN bitnami-pkg unpack prestashop-1.7.3-3-0 --checksum c923cecf81536df7c0beddb03c4c015794a2ee86e6690aeed2d3b8a4836c4f4b + +COPY rootfs / +ENV ALLOW_EMPTY_PASSWORD="no" \ + APACHE_HTTPS_PORT_NUMBER="443" \ + APACHE_HTTP_PORT_NUMBER="80" \ + BITNAMI_APP_NAME="prestashop" \ + BITNAMI_IMAGE_VERSION="1.7.3-3-ol-7-r0" \ + MARIADB_HOST="mariadb" \ + MARIADB_PORT_NUMBER="3306" \ + MARIADB_ROOT_PASSWORD="" \ + MARIADB_ROOT_USER="root" \ + MYSQL_CLIENT_CREATE_DATABASE_NAME="" \ + MYSQL_CLIENT_CREATE_DATABASE_PASSWORD="" \ + MYSQL_CLIENT_CREATE_DATABASE_PRIVILEGES="ALL" \ + MYSQL_CLIENT_CREATE_DATABASE_USER="" \ + PATH="/opt/bitnami/apache/bin:/opt/bitnami/php/bin:/opt/bitnami/mysql/bin:/opt/bitnami/prestashop/bin:$PATH" \ + PRESTASHOP_COOKIE_CHECK_IP="yes" \ + PRESTASHOP_DATABASE_NAME="bitnami_prestashop" \ + PRESTASHOP_DATABASE_PASSWORD="" \ + PRESTASHOP_DATABASE_USER="bn_prestashop" \ + PRESTASHOP_EMAIL="user@example.com" \ + PRESTASHOP_FIRST_NAME="Bitnami" \ + PRESTASHOP_HOST="" \ + PRESTASHOP_LAST_NAME="User" \ + PRESTASHOP_PASSWORD="bitnami" \ + SMTP_HOST="" \ + SMTP_PASSWORD="" \ + SMTP_PORT="" \ + SMTP_PROTOCOL="" \ + SMTP_USER="" + +EXPOSE 80 443 + +ENTRYPOINT ["/app-entrypoint.sh"] +CMD ["nami","start","--foreground","apache"] diff --git a/bitnami/prestashop/1.7/ol-7/docker-compose.yml b/bitnami/prestashop/1.7/ol-7/docker-compose.yml new file mode 100644 index 000000000000..43898ad46035 --- /dev/null +++ b/bitnami/prestashop/1.7/ol-7/docker-compose.yml @@ -0,0 +1,33 @@ +version: '2' + +services: + mariadb: + image: 'bitnami/mariadb:10.1-ol-7' + environment: + - MARIADB_USER=bn_prestashop + - MARIADB_DATABASE=bitnami_prestashop + - ALLOW_EMPTY_PASSWORD=yes + volumes: + - 'mariadb_data:/bitnami' + prestashop: + image: 'bitnami/prestashop:1.7-ol-7' + environment: + - MARIADB_HOST=mariadb + - MARIADB_PORT_NUMBER=3306 + - PRESTASHOP_HOST=localhost + - PRESTASHOP_DATABASE_USER=bn_prestashop + - PRESTASHOP_DATABASE_NAME=bitnami_prestashop + - ALLOW_EMPTY_PASSWORD=yes + ports: + - '80:80' + - '443:443' + volumes: + - 'prestashop_data:/bitnami' + depends_on: + - mariadb + +volumes: + mariadb_data: + driver: local + prestashop_data: + driver: local diff --git a/bitnami/prestashop/1.7/ol-7/rootfs/apache-inputs.json b/bitnami/prestashop/1.7/ol-7/rootfs/apache-inputs.json new file mode 100644 index 000000000000..493f9fc7b0fa --- /dev/null +++ b/bitnami/prestashop/1.7/ol-7/rootfs/apache-inputs.json @@ -0,0 +1,4 @@ +{ + "httpPort": "{{$global.env.APACHE_HTTP_PORT_NUMBER}}", + "httpsPort": "{{$global.env.APACHE_HTTPS_PORT_NUMBER}}" +} \ No newline at end of file diff --git a/bitnami/prestashop/1.7/ol-7/rootfs/app-entrypoint.sh b/bitnami/prestashop/1.7/ol-7/rootfs/app-entrypoint.sh new file mode 100755 index 000000000000..b6af0bd85969 --- /dev/null +++ b/bitnami/prestashop/1.7/ol-7/rootfs/app-entrypoint.sh @@ -0,0 +1,14 @@ +#!/bin/bash -e + +. /opt/bitnami/base/functions +. /opt/bitnami/base/helpers + +print_welcome_page + +if [[ "$1" == "nami" && "$2" == "start" ]] || [[ "$1" == "/init.sh" ]]; then + . /init.sh + nami_initialize apache php mysql-client prestashop + info "Starting prestashop... " +fi + +exec tini -- "$@" diff --git a/bitnami/prestashop/1.7/ol-7/rootfs/init.sh b/bitnami/prestashop/1.7/ol-7/rootfs/init.sh new file mode 100644 index 000000000000..0b4a75ddf24f --- /dev/null +++ b/bitnami/prestashop/1.7/ol-7/rootfs/init.sh @@ -0,0 +1,29 @@ +## +## @brief Helper function to show an error when a password is empty and exit +## param $1 Input name +## +empty_password_error() { + error "The $1 environment variable is empty or not set. Set the environment variable ALLOW_EMPTY_PASSWORD=yes to allow the container to be started with blank passwords. This is recommended only for development." + exit 1 +} + +## +## @brief Helper function to show a warning when the ALLOW_EMPTY_PASSWORD flag is enabled +## +empty_password_enabled_warn() { + warn "You set the environment variable ALLOW_EMPTY_PASSWORD=${ALLOW_EMPTY_PASSWORD}. For safety reasons, do not use this flag in a production environment." +} + +# Validate passwords +if [[ "$ALLOW_EMPTY_PASSWORD" =~ ^(yes|Yes|YES)$ ]]; then + empty_password_enabled_warn +else + # Database creation by MySQL client + if [[ -n "$MYSQL_CLIENT_CREATE_DATABASE_USER" && -z "$MYSQL_CLIENT_CREATE_DATABASE_PASSWORD" ]]; then + empty_password_error MYSQL_CLIENT_CREATE_DATABASE_PASSWORD + fi + # Prestashop database + if [[ -z "$PRESTASHOP_DATABASE_PASSWORD" ]]; then + empty_password_error PRESTASHOP_DATABASE_PASSWORD + fi +fi diff --git a/bitnami/prestashop/1.7/ol-7/rootfs/mysql-client-inputs.json b/bitnami/prestashop/1.7/ol-7/rootfs/mysql-client-inputs.json new file mode 100644 index 000000000000..6a20ec0837a0 --- /dev/null +++ b/bitnami/prestashop/1.7/ol-7/rootfs/mysql-client-inputs.json @@ -0,0 +1,11 @@ +{ + "allowEmptyPassword": "{{$global.env.ALLOW_EMPTY_PASSWORD}}", + "createDatabaseName": "{{$global.env.MYSQL_CLIENT_CREATE_DATABASE_NAME}}", + "createDatabasePassword": "{{$global.env.MYSQL_CLIENT_CREATE_DATABASE_PASSWORD}}", + "createDatabasePrivileges": "{{$global.env.MYSQL_CLIENT_CREATE_DATABASE_PRIVILEGES}}", + "createDatabaseUser": "{{$global.env.MYSQL_CLIENT_CREATE_DATABASE_USER}}", + "host": "{{$global.env.MARIADB_HOST}}", + "port": "{{$global.env.MARIADB_PORT_NUMBER}}", + "rootPassword": "{{$global.env.MARIADB_ROOT_PASSWORD}}", + "rootUser": "{{$global.env.MARIADB_ROOT_USER}}" +} \ No newline at end of file diff --git a/bitnami/prestashop/1.7/ol-7/rootfs/prestashop-inputs.json b/bitnami/prestashop/1.7/ol-7/rootfs/prestashop-inputs.json new file mode 100644 index 000000000000..0af95a659c6d --- /dev/null +++ b/bitnami/prestashop/1.7/ol-7/rootfs/prestashop-inputs.json @@ -0,0 +1,18 @@ +{ + "cookieCheckIP": "{{$global.env.PRESTASHOP_COOKIE_CHECK_IP}}", + "databaseName": "{{$global.env.PRESTASHOP_DATABASE_NAME}}", + "databasePassword": "{{$global.env.PRESTASHOP_DATABASE_PASSWORD}}", + "databaseServerHost": "{{$global.env.MARIADB_HOST}}", + "databaseServerPort": "{{$global.env.MARIADB_PORT_NUMBER}}", + "databaseUser": "{{$global.env.PRESTASHOP_DATABASE_USER}}", + "email": "{{$global.env.PRESTASHOP_EMAIL}}", + "firstName": "{{$global.env.PRESTASHOP_FIRST_NAME}}", + "host": "{{$global.env.PRESTASHOP_HOST}}", + "lastName": "{{$global.env.PRESTASHOP_LAST_NAME}}", + "password": "{{$global.env.PRESTASHOP_PASSWORD}}", + "smtpHost": "{{$global.env.SMTP_HOST}}", + "smtpPassword": "{{$global.env.SMTP_PASSWORD}}", + "smtpPort": "{{$global.env.SMTP_PORT}}", + "smtpProtocol": "{{$global.env.SMTP_PROTOCOL}}", + "smtpUser": "{{$global.env.SMTP_USER}}" +} \ No newline at end of file diff --git a/bitnami/prestashop/README.md b/bitnami/prestashop/README.md index 6673a0c797df..1daebd6edfd2 100644 --- a/bitnami/prestashop/README.md +++ b/bitnami/prestashop/README.md @@ -23,6 +23,13 @@ $ docker-compose up -d * Bitnami images are built on CircleCI and automatically pushed to the Docker Hub. * All our images are based on [minideb](https://github.com/bitnami/minideb) a minimalist Debian based container image which gives you a small base container image and the familiarity of a leading linux distribution. +# Supported tags and respective `Dockerfile` links + +* [`1.7-ol-7`, `1.7.3-3-ol-7-r0` (1.7/ol-7/Dockerfile)](https://github.com/bitnami/bitnami-docker-prestashop/blob/1.7.3-3-ol-7-r0/1.7/ol-7/Dockerfile) +* [`1.7`, `1.7.3-3-r1`, `latest` (1.7/Dockerfile)](https://github.com/bitnami/bitnami-docker-prestashop/blob/1.7.3-3-r1/1.7/Dockerfile) + +Subscribe to project updates by watching the [bitnami/prestashop GitHub repo](https://github.com/bitnami/bitnami-docker-prestashop). + # Prerequisites To run this application you need [Docker Engine](https://www.docker.com/products/docker-engine) >= `1.10.0`. [Docker Compose](https://www.docker.com/products/docker-compose) is recommended with a version `1.6.0` or later. diff --git a/bitnami/prestashop/circle.yml b/bitnami/prestashop/circle.yml index 269008bf8619..a590c6fd91ad 100644 --- a/bitnami/prestashop/circle.yml +++ b/bitnami/prestashop/circle.yml @@ -7,6 +7,7 @@ jobs: environment: RELEASE_SERIES_LIST: "1.7" LATEST_STABLE: "1.7" + DISTRIBUTIONS_LIST: "debian-8,ol-7" IMAGE_NAME: prestashop CHART_NAME: prestashop CHART_REPO: https://github.com/kubernetes/charts @@ -63,4 +64,4 @@ workflows: branches: only: /.*/ tags: - only: /^[0-9].*-r[0-9]+$/ + only: /^.*(?