Update to Symfony 4 as default
This commit is contained in:
parent
4b89901311
commit
ca89eeee3f
|
|
@ -2,7 +2,7 @@ FROM bitnami/minideb-extras:stretch-r420
|
|||
LABEL maintainer "Bitnami <containers@bitnami.com>"
|
||||
|
||||
# Install required system packages and dependencies
|
||||
RUN install_packages libbz2-1.0 libc6 libcomerr2 libcurl3 libffi6 libfreetype6 libgcc1 libgcrypt20 libgmp10 libgnutls30 libgpg-error0 libgssapi-krb5-2 libhogweed4 libicu57 libidn11 libidn2-0 libjpeg62-turbo libk5crypto3 libkeyutils1 libkrb5-3 libkrb5support0 libldap-2.4-2 liblzma5 libmemcached11 libmemcachedutil2 libncurses5 libnettle6 libnghttp2-14 libp11-kit0 libpng16-16 libpq5 libpsl5 libreadline7 librtmp1 libsasl2-2 libssh2-1 libssl1.0.2 libssl1.1 libstdc++6 libsybdb5 libtasn1-6 libtidy5 libtinfo5 libunistring0 libxml2 libxslt1.1 libzip4 zlib1g
|
||||
RUN install_packages libbz2-1.0 libc6 libcomerr2 libcurl3 libffi6 libfreetype6 libgcc1 libgcrypt20 libgmp10 libgnutls30 libgpg-error0 libgssapi-krb5-2 libhogweed4 libicu57 libidn11 libidn2-0 libjpeg62-turbo libk5crypto3 libkeyutils1 libkrb5-3 libkrb5support0 libldap-2.4-2 liblzma5 libmemcached11 libmemcachedutil2 libncurses5 libnettle6 libnghttp2-14 libp11-kit0 libpng16-16 libpq5 libpsl5 libreadline7 librtmp1 libsasl2-2 libssh2-1 libssl1.0.2 libssl1.1 libstdc++6 libsybdb5 libtasn1-6 libtidy5 libtinfo5 libunistring0 libxml2 libxslt1.1 libzip4 unzip zlib1g
|
||||
RUN bitnami-pkg unpack php-7.3.7-0 --checksum 706d0a7a939eaa105f6091e77ae72193b986297db5d03f3678099d8a419164c6
|
||||
RUN bitnami-pkg install mysql-client-10.3.16-0 --checksum c22e014b6fc259a67fcdd52b365e62ed08e6d7e6871888d9ef935c8531ada9b2
|
||||
RUN bitnami-pkg install symfony-1.5.11-20 --checksum e512f0bbcf6c8a6c01f87adcb8f193699a88db2f811986a65de2a0468c736fc8
|
||||
|
|
|
|||
|
|
@ -15,21 +15,40 @@ echo "Starting application ..."
|
|||
if [ "$1" = "/run.sh" ]; then
|
||||
# Create a Symfony app if not found
|
||||
if [ ! -d "$PROJECT_DIRECTORY" ] ; then
|
||||
log "Creating example Symfony application"
|
||||
nami execute symfony createProject --databaseServerHost "$MARIADB_HOST" --databaseServerPort "$MARIADB_PORT_NUMBER" --databaseAdminUser "$MARIADB_USER" "$SYMFONY_PROJECT_NAME" | grep -v undefined
|
||||
log "Creating a project with symfony/skeleton"
|
||||
|
||||
composer create-project symfony/skeleton $SYMFONY_PROJECT_NAME
|
||||
|
||||
if [ -z "$SYMFONY_NO_DB" ] ; then
|
||||
log "Installing symfony/orm-pack"
|
||||
composer require symfony/orm-pack -d $PROJECT_DIRECTORY
|
||||
fi
|
||||
|
||||
export DATABASE_URL=mysql://$MARIADB_USER@$MARIADB_HOST/$MARIADB_DATABASE
|
||||
|
||||
if [ ! -f "$PROJECT_DIRECTORY/.env.local" ] ; then
|
||||
touch $PROJECT_DIRECTORY
|
||||
echo "DATABASE_URL=$DATABASE_URL" >> $PROJECT_DIRECTORY/.env.local
|
||||
log "Added MariaDB container credentials to .env.local"
|
||||
fi
|
||||
|
||||
log "Symfony app created"
|
||||
else
|
||||
log "App already created"
|
||||
fi
|
||||
|
||||
# Symfony 3.x -> web/
|
||||
[ -d "$PROJECT_DIRECTORY/web" ] && export WEB_DIR=$PROJECT_DIRECTORY/web
|
||||
# Symfony 4.x -> public/
|
||||
[ -d "$PROJECT_DIRECTORY/public" ] && export WEB_DIR=$PROJECT_DIRECTORY/public
|
||||
|
||||
# Link Symfony app to the index
|
||||
if [ ! -f "$PROJECT_DIRECTORY/web/index.php" ]; then
|
||||
sudo ln -s "$PROJECT_DIRECTORY/web/app.php" "$PROJECT_DIRECTORY/web/index.php"
|
||||
if [ ! -f "$WEB_DIR/index.php" ] && [ -f "$WEB_DIR/app.php" ]; then
|
||||
sudo ln -s "$WEB_DIR/app.php" "$WEB_DIR/web/index.php"
|
||||
fi
|
||||
fi
|
||||
|
||||
echo "symfony successfully initialized"
|
||||
|
||||
nami_initialize php
|
||||
info "Starting symfony... "
|
||||
fi
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
#!/bin/bash
|
||||
|
||||
php -S 0.0.0.0:8000 -t $PROJECT_DIRECTORY/web/
|
||||
php -S 0.0.0.0:8000 -t $WEB_DIR
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ FROM bitnami/oraclelinux-extras:7-r400
|
|||
LABEL maintainer "Bitnami <containers@bitnami.com>"
|
||||
|
||||
# Install required system packages and dependencies
|
||||
RUN install_packages bzip2-libs cyrus-sasl-lib freetds freetype glibc gmp gnutls keyutils-libs krb5-libs libcom_err libcurl libffi libgcc libgcrypt libgpg-error libicu libidn libjpeg-turbo libmemcached libpng libselinux libssh2 libstdc++ libtasn1 libtidy libxml2 libxslt ncurses-libs nettle nspr nss nss-softokn-freebl nss-util openldap openssl-libs p11-kit pcre postgresql-libs readline xz-libs zlib
|
||||
RUN install_packages bzip2-libs cyrus-sasl-lib freetds freetype glibc gmp gnutls keyutils-libs krb5-libs libcom_err libcurl libffi libgcc libgcrypt libgpg-error libicu libidn libjpeg-turbo libmemcached libpng libselinux libssh2 libstdc++ libtasn1 libtidy libxml2 libxslt ncurses-libs nettle nspr nss nss-softokn-freebl nss-util openldap openssl-libs p11-kit pcre postgresql-libs readline unzip xz-libs zlib
|
||||
RUN bitnami-pkg unpack php-7.3.7-0 --checksum 433c0d4c346ba1cc2c3e4a117c28acf418460e777863fb341c9be99a3b6afa87
|
||||
RUN bitnami-pkg install mysql-client-10.3.16-0 --checksum bc7ef5b2abef585c0079a7e4cb2a099c5f40cf39402c52078438a39882953ab4
|
||||
RUN bitnami-pkg install symfony-1.5.11-20 --checksum d4714f97e462524266a97626854747c743e1d4b5a9f9be155f480eef9b592631
|
||||
|
|
@ -10,11 +10,7 @@ RUN bitnami-pkg install symfony-1.5.11-20 --checksum d4714f97e462524266a97626854
|
|||
COPY rootfs /
|
||||
ENV BITNAMI_APP_NAME="symfony" \
|
||||
BITNAMI_IMAGE_VERSION="1.5.11-ol-7-r358" \
|
||||
MARIADB_HOST="mariadb" \
|
||||
MARIADB_PORT_NUMBER="3306" \
|
||||
MARIADB_USER="root" \
|
||||
PATH="/opt/bitnami/php/bin:/opt/bitnami/php/sbin:/opt/bitnami/mysql/bin:/opt/bitnami/symfony/bin:$PATH" \
|
||||
SYMFONY_PROJECT_NAME="myapp"
|
||||
PATH="/opt/bitnami/php/bin:/opt/bitnami/php/sbin:/opt/bitnami/mysql/bin:/opt/bitnami/symfony/bin:$PATH"
|
||||
|
||||
EXPOSE 8000
|
||||
|
||||
|
|
|
|||
|
|
@ -15,21 +15,40 @@ echo "Starting application ..."
|
|||
if [ "$1" = "/run.sh" ]; then
|
||||
# Create a Symfony app if not found
|
||||
if [ ! -d "$PROJECT_DIRECTORY" ] ; then
|
||||
log "Creating example Symfony application"
|
||||
nami execute symfony createProject --databaseServerHost "$MARIADB_HOST" --databaseServerPort "$MARIADB_PORT_NUMBER" --databaseAdminUser "$MARIADB_USER" "$SYMFONY_PROJECT_NAME" | grep -v undefined
|
||||
log "Creating a project with symfony/skeleton"
|
||||
|
||||
composer create-project symfony/skeleton $SYMFONY_PROJECT_NAME
|
||||
|
||||
if [ -z "$SYMFONY_NO_DB" ] ; then
|
||||
log "Installing symfony/orm-pack"
|
||||
composer require symfony/orm-pack -d $PROJECT_DIRECTORY
|
||||
fi
|
||||
|
||||
export DATABASE_URL=mysql://$MARIADB_USER@$MARIADB_HOST/$MARIADB_DATABASE
|
||||
|
||||
if [ ! -f "$PROJECT_DIRECTORY/.env.local" ] ; then
|
||||
touch $PROJECT_DIRECTORY
|
||||
echo "DATABASE_URL=$DATABASE_URL" >> $PROJECT_DIRECTORY/.env.local
|
||||
log "Added MariaDB container credentials to .env.local"
|
||||
fi
|
||||
|
||||
log "Symfony app created"
|
||||
else
|
||||
log "App already created"
|
||||
fi
|
||||
|
||||
# Symfony 3.x -> web/
|
||||
[ -d "$PROJECT_DIRECTORY/web" ] && export WEB_DIR=$PROJECT_DIRECTORY/web
|
||||
# Symfony 4.x -> public/
|
||||
[ -d "$PROJECT_DIRECTORY/public" ] && export WEB_DIR=$PROJECT_DIRECTORY/public
|
||||
|
||||
# Link Symfony app to the index
|
||||
if [ ! -f "$PROJECT_DIRECTORY/web/index.php" ]; then
|
||||
sudo ln -s "$PROJECT_DIRECTORY/web/app.php" "$PROJECT_DIRECTORY/web/index.php"
|
||||
if [ ! -f "$WEB_DIR/index.php" ] && [ -f "$WEB_DIR/app.php" ]; then
|
||||
sudo ln -s "$WEB_DIR/app.php" "$WEB_DIR/web/index.php"
|
||||
fi
|
||||
fi
|
||||
|
||||
echo "symfony successfully initialized"
|
||||
|
||||
nami_initialize php
|
||||
info "Starting symfony... "
|
||||
fi
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
#!/bin/bash
|
||||
|
||||
php -S 0.0.0.0:8000 -t $PROJECT_DIRECTORY/web/
|
||||
php -S 0.0.0.0:8000 -t $WEB_DIR
|
||||
|
|
|
|||
|
|
@ -1,8 +1,11 @@
|
|||
|
||||
# Bitnami Symfony Development Container
|
||||
|
||||
> Note that this is a development container that includes the [`symfony` command-line tool](https://symfony.com/blog/introducing-the-new-symfony-installer).
|
||||
> This allows you to create a project based on any version of symfony.
|
||||
> Note that this is a development container. If a Symfony app is not already
|
||||
> present, `composer create-project symfony/skeleton $SYMFONY_PROJECT_NAME`
|
||||
> is run to create a Symfony 4.x project.
|
||||
>
|
||||
> In the absence of the `$SYMFONY_NO_DB,` envvar/flag, `symfony/orm-pack` is installed.
|
||||
|
||||
## TL;DR;
|
||||
|
||||
|
|
@ -11,6 +14,8 @@
|
|||
```bash
|
||||
$ mkdir ~/myapp && cd ~/myapp
|
||||
$ curl -LO https://raw.githubusercontent.com/bitnami/bitnami-docker-symfony/master/docker-compose.yml
|
||||
# Set some default envvars
|
||||
$ echo "SYMFONY_PROJECT_NAME=myapp\nMARIADB_HOST=mariadb\nMARIADB_PORT_NUMBER=3306\nMARIADB_USER=bobby\nMARIADB_PASSWORD=tables\nMARIADB_DATABASE=myapp" > .env
|
||||
$ docker-compose up
|
||||
```
|
||||
|
||||
|
|
@ -75,6 +80,12 @@ Download the [docker-compose.yml](https://raw.githubusercontent.com/bitnami/bitn
|
|||
$ curl -LO https://raw.githubusercontent.com/bitnami/bitnami-docker-symfony/master/docker-compose.yml
|
||||
```
|
||||
|
||||
Set a few environment variables
|
||||
|
||||
```bash
|
||||
$ echo "SYMFONY_PROJECT_NAME=myapp\nMARIADB_HOST=mariadb\nMARIADB_PORT_NUMBER=3306\nMARIADB_USER=bobby\nMARIADB_PASSWORD=tables\nMARIADB_DATABASE=myapp" > .env
|
||||
```
|
||||
|
||||
Finally launch the Symfony application development environment using:
|
||||
|
||||
```bash
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
version: '2'
|
||||
|
||||
services:
|
||||
myapp:
|
||||
image: 'bitnami/symfony:1'
|
||||
|
|
@ -6,9 +7,11 @@ services:
|
|||
- '8000:8000'
|
||||
volumes:
|
||||
- '.:/app'
|
||||
env_file:
|
||||
- .env
|
||||
depends_on:
|
||||
- mariadb
|
||||
mariadb:
|
||||
image: 'bitnami/mariadb:10.3'
|
||||
environment:
|
||||
- ALLOW_EMPTY_PASSWORD=yes
|
||||
env_file:
|
||||
- .env
|
||||
|
|
|
|||
Loading…
Reference in New Issue