Implement Cassandra DB & PHP Extension (#2214)
* Implementing Cassandra DB & PHP Extension * Update documentation for Cassandra * Added Cassandra for testing CI
This commit is contained in:
		
				
					committed by
					
						
						Shao Yu-Lung (Allen)
					
				
			
			
				
	
			
			
			
						parent
						
							768f14b6dd
						
					
				
				
					commit
					1602ff2dd0
				
			@@ -29,7 +29,7 @@ env:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    - PHP_VERSION=NA BUILD_SERVICE=solr
 | 
					    - PHP_VERSION=NA BUILD_SERVICE=solr
 | 
				
			||||||
    - PHP_VERSION=NA BUILD_SERVICE="mssql rethinkdb aerospike"
 | 
					    - PHP_VERSION=NA BUILD_SERVICE="mssql rethinkdb aerospike"
 | 
				
			||||||
    - PHP_VERSION=NA BUILD_SERVICE="blackfire minio percona nginx caddy apache2 mysql mariadb postgres postgres-postgis neo4j mongo redis"
 | 
					    - PHP_VERSION=NA BUILD_SERVICE="blackfire minio percona nginx caddy apache2 mysql mariadb postgres postgres-postgis neo4j mongo redis cassandra"
 | 
				
			||||||
    - PHP_VERSION=NA BUILD_SERVICE="adminer phpmyadmin pgadmin"
 | 
					    - PHP_VERSION=NA BUILD_SERVICE="adminer phpmyadmin pgadmin"
 | 
				
			||||||
    - PHP_VERSION=NA BUILD_SERVICE="memcached beanstalkd beanstalkd-console rabbitmq elasticsearch certbot mailhog maildev selenium jenkins proxy proxy2 haproxy"
 | 
					    - PHP_VERSION=NA BUILD_SERVICE="memcached beanstalkd beanstalkd-console rabbitmq elasticsearch certbot mailhog maildev selenium jenkins proxy proxy2 haproxy"
 | 
				
			||||||
    - PHP_VERSION=NA BUILD_SERVICE="kibana grafana laravel-echo-server"
 | 
					    - PHP_VERSION=NA BUILD_SERVICE="kibana grafana laravel-echo-server"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -125,6 +125,7 @@ That's it! enjoy :)
 | 
				
			|||||||
    - Neo4j
 | 
					    - Neo4j
 | 
				
			||||||
    - CouchDB
 | 
					    - CouchDB
 | 
				
			||||||
    - RethinkDB 
 | 
					    - RethinkDB 
 | 
				
			||||||
 | 
					    - Cassandra
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- **Database Management Apps:**
 | 
					- **Database Management Apps:**
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										5
									
								
								cassandra/Dockerfile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								cassandra/Dockerfile
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,5 @@
 | 
				
			|||||||
 | 
					ARG CASSANDRA_VERSION=latest
 | 
				
			||||||
 | 
					FROM bitnami/cassandra:${CASSANDRA_VERSION}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					LABEL maintainer="Stefan Neuhaus <https://www.github.com/stefnats>"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -45,6 +45,8 @@ volumes:
 | 
				
			|||||||
    driver: ${VOLUMES_DRIVER}
 | 
					    driver: ${VOLUMES_DRIVER}
 | 
				
			||||||
  sonarqube:
 | 
					  sonarqube:
 | 
				
			||||||
    driver: ${VOLUMES_DRIVER}
 | 
					    driver: ${VOLUMES_DRIVER}
 | 
				
			||||||
 | 
					  cassandra:
 | 
				
			||||||
 | 
					    driver: ${VOLUMES_DRIVER}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
services:
 | 
					services:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -67,6 +69,7 @@ services:
 | 
				
			|||||||
          - INSTALL_IMAP=${WORKSPACE_INSTALL_IMAP}
 | 
					          - INSTALL_IMAP=${WORKSPACE_INSTALL_IMAP}
 | 
				
			||||||
          - INSTALL_MONGO=${WORKSPACE_INSTALL_MONGO}
 | 
					          - INSTALL_MONGO=${WORKSPACE_INSTALL_MONGO}
 | 
				
			||||||
          - INSTALL_AMQP=${WORKSPACE_INSTALL_AMQP}
 | 
					          - INSTALL_AMQP=${WORKSPACE_INSTALL_AMQP}
 | 
				
			||||||
 | 
					          - INSTALL_CASSANDRA=${WORKSPACE_INSTALL_CASSANDRA}
 | 
				
			||||||
          - INSTALL_PHPREDIS=${WORKSPACE_INSTALL_PHPREDIS}
 | 
					          - INSTALL_PHPREDIS=${WORKSPACE_INSTALL_PHPREDIS}
 | 
				
			||||||
          - INSTALL_MSSQL=${WORKSPACE_INSTALL_MSSQL}
 | 
					          - INSTALL_MSSQL=${WORKSPACE_INSTALL_MSSQL}
 | 
				
			||||||
          - INSTALL_NODE=${WORKSPACE_INSTALL_NODE}
 | 
					          - INSTALL_NODE=${WORKSPACE_INSTALL_NODE}
 | 
				
			||||||
@@ -153,6 +156,7 @@ services:
 | 
				
			|||||||
          - INSTALL_IMAP=${PHP_FPM_INSTALL_IMAP}
 | 
					          - INSTALL_IMAP=${PHP_FPM_INSTALL_IMAP}
 | 
				
			||||||
          - INSTALL_MONGO=${PHP_FPM_INSTALL_MONGO}
 | 
					          - INSTALL_MONGO=${PHP_FPM_INSTALL_MONGO}
 | 
				
			||||||
          - INSTALL_AMQP=${PHP_FPM_INSTALL_AMQP}
 | 
					          - INSTALL_AMQP=${PHP_FPM_INSTALL_AMQP}
 | 
				
			||||||
 | 
					          - INSTALL_CASSANDRA=${PHP_FPM_INSTALL_CASSANDRA}
 | 
				
			||||||
          - INSTALL_MSSQL=${PHP_FPM_INSTALL_MSSQL}
 | 
					          - INSTALL_MSSQL=${PHP_FPM_INSTALL_MSSQL}
 | 
				
			||||||
          - INSTALL_BCMATH=${PHP_FPM_INSTALL_BCMATH}
 | 
					          - INSTALL_BCMATH=${PHP_FPM_INSTALL_BCMATH}
 | 
				
			||||||
          - INSTALL_GMP=${PHP_FPM_INSTALL_GMP}
 | 
					          - INSTALL_GMP=${PHP_FPM_INSTALL_GMP}
 | 
				
			||||||
@@ -220,6 +224,7 @@ services:
 | 
				
			|||||||
          - INSTALL_ZIP_ARCHIVE=${PHP_WORKER_INSTALL_ZIP_ARCHIVE}
 | 
					          - INSTALL_ZIP_ARCHIVE=${PHP_WORKER_INSTALL_ZIP_ARCHIVE}
 | 
				
			||||||
          - INSTALL_MYSQL_CLIENT=${PHP_WORKER_INSTALL_MYSQL_CLIENT}
 | 
					          - INSTALL_MYSQL_CLIENT=${PHP_WORKER_INSTALL_MYSQL_CLIENT}
 | 
				
			||||||
          - INSTALL_AMQP=${PHP_WORKER_INSTALL_AMQP}
 | 
					          - INSTALL_AMQP=${PHP_WORKER_INSTALL_AMQP}
 | 
				
			||||||
 | 
					          - INSTALL_CASSANDRA=${PHP_WORKER_INSTALL_CASSANDRA}
 | 
				
			||||||
          - INSTALL_GHOSTSCRIPT=${PHP_WORKER_INSTALL_GHOSTSCRIPT}
 | 
					          - INSTALL_GHOSTSCRIPT=${PHP_WORKER_INSTALL_GHOSTSCRIPT}
 | 
				
			||||||
          - INSTALL_SWOOLE=${PHP_WORKER_INSTALL_SWOOLE}
 | 
					          - INSTALL_SWOOLE=${PHP_WORKER_INSTALL_SWOOLE}
 | 
				
			||||||
          - INSTALL_TAINT=${PHP_WORKER_INSTALL_TAINT}
 | 
					          - INSTALL_TAINT=${PHP_WORKER_INSTALL_TAINT}
 | 
				
			||||||
@@ -246,6 +251,7 @@ services:
 | 
				
			|||||||
          - INSTALL_BCMATH=${PHP_FPM_INSTALL_BCMATH}
 | 
					          - INSTALL_BCMATH=${PHP_FPM_INSTALL_BCMATH}
 | 
				
			||||||
          - INSTALL_MEMCACHED=${PHP_FPM_INSTALL_MEMCACHED}
 | 
					          - INSTALL_MEMCACHED=${PHP_FPM_INSTALL_MEMCACHED}
 | 
				
			||||||
          - INSTALL_AMQP=${PHP_FPM_INSTALL_AMQP}
 | 
					          - INSTALL_AMQP=${PHP_FPM_INSTALL_AMQP}
 | 
				
			||||||
 | 
					          - INSTALL_CASSANDRA=${PHP_FPM_INSTALL_CASSANDRA}
 | 
				
			||||||
      volumes:
 | 
					      volumes:
 | 
				
			||||||
        - ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}
 | 
					        - ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}
 | 
				
			||||||
        - ./laravel-horizon/supervisord.d:/etc/supervisord.d
 | 
					        - ./laravel-horizon/supervisord.d:/etc/supervisord.d
 | 
				
			||||||
@@ -584,6 +590,38 @@ services:
 | 
				
			|||||||
      networks:
 | 
					      networks:
 | 
				
			||||||
        - backend
 | 
					        - backend
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Cassandra ############################################
 | 
				
			||||||
 | 
					    cassandra:
 | 
				
			||||||
 | 
					      build: ./cassandra
 | 
				
			||||||
 | 
					      ports:
 | 
				
			||||||
 | 
					        - "${CASSANDRA_TRANSPORT_PORT_NUMBER}:7000"
 | 
				
			||||||
 | 
					        - "${CASSANDRA_JMX_PORT_NUMBER}:7199"
 | 
				
			||||||
 | 
					        - "${CASSANDRA_CQL_PORT_NUMBER}:9042"
 | 
				
			||||||
 | 
					      privileged: true
 | 
				
			||||||
 | 
					      environment:
 | 
				
			||||||
 | 
					        - CASSANDRA_VERSION=${CASSANDRA_VERSION}
 | 
				
			||||||
 | 
					        - CASSANDRA_TRANSPORT_PORT_NUMBER=${CASSANDRA_TRANSPORT_PORT_NUMBER}
 | 
				
			||||||
 | 
					        - CASSANDRA_JMX_PORT_NUMBER=${CASSANDRA_JMX_PORT_NUMBER}
 | 
				
			||||||
 | 
					        - CASSANDRA_CQL_PORT_NUMBER=${CASSANDRA_CQL_PORT_NUMBER}
 | 
				
			||||||
 | 
					        - CASSANDRA_USER=${CASSANDRA_USER}
 | 
				
			||||||
 | 
					        - CASSANDRA_PASSWORD_SEEDER=${CASSANDRA_PASSWORD_SEEDER}
 | 
				
			||||||
 | 
					        - CASSANDRA_PASSWORD=${CASSANDRA_PASSWORD}
 | 
				
			||||||
 | 
					        - CASSANDRA_NUM_TOKENS=${CASSANDRA_NUM_TOKENS}
 | 
				
			||||||
 | 
					        - CASSANDRA_HOST=${CASSANDRA_HOST}
 | 
				
			||||||
 | 
					        - CASSANDRA_CLUSTER_NAME=${CASSANDRA_CLUSTER_NAME}
 | 
				
			||||||
 | 
					        - CASSANDRA_SEEDS=${CASSANDRA_SEEDS}
 | 
				
			||||||
 | 
					        - CASSANDRA_ENDPOINT_SNITCH=${CASSANDRA_ENDPOINT_SNITCH}
 | 
				
			||||||
 | 
					        - CASSANDRA_ENABLE_RPC=${CASSANDRA_ENABLE_RPC}
 | 
				
			||||||
 | 
					        - CASSANDRA_DATACENTER=${CASSANDRA_DATACENTER}
 | 
				
			||||||
 | 
					        - CASSANDRA_RACK=${CASSANDRA_RACK}
 | 
				
			||||||
 | 
					      hostname: laradock-cassandra
 | 
				
			||||||
 | 
					      volumes:
 | 
				
			||||||
 | 
					        - ${DATA_PATH_HOST}/cassandra:/var/lib/cassandra
 | 
				
			||||||
 | 
					      depends_on:
 | 
				
			||||||
 | 
					        - php-fpm
 | 
				
			||||||
 | 
					      networks:
 | 
				
			||||||
 | 
					        - backend
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Beanstalkd Console ###################################
 | 
					### Beanstalkd Console ###################################
 | 
				
			||||||
    beanstalkd-console:
 | 
					    beanstalkd-console:
 | 
				
			||||||
      build: ./beanstalkd-console
 | 
					      build: ./beanstalkd-console
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										36
									
								
								env-example
									
									
									
									
									
								
							
							
						
						
									
										36
									
								
								env-example
									
									
									
									
									
								
							@@ -106,6 +106,7 @@ WORKSPACE_INSTALL_XSL=false
 | 
				
			|||||||
WORKSPACE_INSTALL_IMAP=false
 | 
					WORKSPACE_INSTALL_IMAP=false
 | 
				
			||||||
WORKSPACE_INSTALL_MONGO=false
 | 
					WORKSPACE_INSTALL_MONGO=false
 | 
				
			||||||
WORKSPACE_INSTALL_AMQP=false
 | 
					WORKSPACE_INSTALL_AMQP=false
 | 
				
			||||||
 | 
					WORKSPACE_INSTALL_CASSANDRA=false
 | 
				
			||||||
WORKSPACE_INSTALL_MSSQL=false
 | 
					WORKSPACE_INSTALL_MSSQL=false
 | 
				
			||||||
WORKSPACE_INSTALL_DRUSH=false
 | 
					WORKSPACE_INSTALL_DRUSH=false
 | 
				
			||||||
WORKSPACE_DRUSH_VERSION=8.1.17
 | 
					WORKSPACE_DRUSH_VERSION=8.1.17
 | 
				
			||||||
@@ -161,6 +162,7 @@ PHP_FPM_INSTALL_PHPDBG=false
 | 
				
			|||||||
PHP_FPM_INSTALL_IMAP=false
 | 
					PHP_FPM_INSTALL_IMAP=false
 | 
				
			||||||
PHP_FPM_INSTALL_MONGO=false
 | 
					PHP_FPM_INSTALL_MONGO=false
 | 
				
			||||||
PHP_FPM_INSTALL_AMQP=false
 | 
					PHP_FPM_INSTALL_AMQP=false
 | 
				
			||||||
 | 
					PHP_FPM_INSTALL_CASSANDRA=false
 | 
				
			||||||
PHP_FPM_INSTALL_MSSQL=false
 | 
					PHP_FPM_INSTALL_MSSQL=false
 | 
				
			||||||
PHP_FPM_INSTALL_SSH2=false
 | 
					PHP_FPM_INSTALL_SSH2=false
 | 
				
			||||||
PHP_FPM_INSTALL_SOAP=false
 | 
					PHP_FPM_INSTALL_SOAP=false
 | 
				
			||||||
@@ -205,6 +207,7 @@ PHP_WORKER_INSTALL_SWOOLE=false
 | 
				
			|||||||
PHP_WORKER_INSTALL_TAINT=false
 | 
					PHP_WORKER_INSTALL_TAINT=false
 | 
				
			||||||
PHP_WORKER_INSTALL_FFMPEG=false
 | 
					PHP_WORKER_INSTALL_FFMPEG=false
 | 
				
			||||||
PHP_WORKER_INSTALL_GMP=false
 | 
					PHP_WORKER_INSTALL_GMP=false
 | 
				
			||||||
 | 
					PHP_WORKER_INSTALL_CASSANDRA=false
 | 
				
			||||||
 | 
					
 | 
				
			||||||
PHP_WORKER_PUID=1000
 | 
					PHP_WORKER_PUID=1000
 | 
				
			||||||
PHP_WORKER_PGID=1000
 | 
					PHP_WORKER_PGID=1000
 | 
				
			||||||
@@ -731,3 +734,36 @@ SONARQUBE_POSTGRES_HOST=postgres
 | 
				
			|||||||
SONARQUBE_POSTGRES_DB=sonar
 | 
					SONARQUBE_POSTGRES_DB=sonar
 | 
				
			||||||
SONARQUBE_POSTGRES_USER=sonar
 | 
					SONARQUBE_POSTGRES_USER=sonar
 | 
				
			||||||
SONARQUBE_POSTGRES_PASSWORD=sonarPass
 | 
					SONARQUBE_POSTGRES_PASSWORD=sonarPass
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### CASSANDRA ################################################
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Cassandra Version, supported tags can be found at https://hub.docker.com/r/bitnami/cassandra/
 | 
				
			||||||
 | 
					CASSANDRA_VERSION=latest
 | 
				
			||||||
 | 
					# Inter-node cluster communication port. Default: 7000
 | 
				
			||||||
 | 
					CASSANDRA_TRANSPORT_PORT_NUMBER=7000
 | 
				
			||||||
 | 
					# JMX connections port. Default: 7199
 | 
				
			||||||
 | 
					CASSANDRA_JMX_PORT_NUMBER=7199
 | 
				
			||||||
 | 
					# Client port. Default: 9042.
 | 
				
			||||||
 | 
					CASSANDRA_CQL_PORT_NUMBER=9042
 | 
				
			||||||
 | 
					# Cassandra user name. Defaults: cassandra
 | 
				
			||||||
 | 
					CASSANDRA_USER=cassandra
 | 
				
			||||||
 | 
					# Password seeder will change the Cassandra default credentials at initialization. In clusters, only one node should be marked as password seeder. Default: no
 | 
				
			||||||
 | 
					CASSANDRA_PASSWORD_SEEDER=no
 | 
				
			||||||
 | 
					# Cassandra user password. Default: cassandra
 | 
				
			||||||
 | 
					CASSANDRA_PASSWORD=cassandra
 | 
				
			||||||
 | 
					# Number of tokens for the node. Default: 256.
 | 
				
			||||||
 | 
					CASSANDRA_NUM_TOKENS=256
 | 
				
			||||||
 | 
					# Hostname used to configure Cassandra. It can be either an IP or a domain. If left empty, it will be resolved to the machine IP.
 | 
				
			||||||
 | 
					CASSANDRA_HOST=
 | 
				
			||||||
 | 
					# Cluster name to configure Cassandra.. Defaults: My Cluster
 | 
				
			||||||
 | 
					CASSANDRA_CLUSTER_NAME="My Cluster"
 | 
				
			||||||
 | 
					# : Hosts that will act as Cassandra seeds. No defaults.
 | 
				
			||||||
 | 
					CASSANDRA_SEEDS=
 | 
				
			||||||
 | 
					 # Snitch name (which determines which data centers and racks nodes belong to). Default SimpleSnitch
 | 
				
			||||||
 | 
					CASSANDRA_ENDPOINT_SNITCH=SimpleSnitch
 | 
				
			||||||
 | 
					 # Enable the thrift RPC endpoint. Default :true
 | 
				
			||||||
 | 
					CASSANDRA_ENABLE_RPC=true
 | 
				
			||||||
 | 
					# Datacenter name for the cluster. Ignored in SimpleSnitch endpoint snitch. Default: dc1.
 | 
				
			||||||
 | 
					CASSANDRA_DATACENTER=dc1
 | 
				
			||||||
 | 
					# Rack name for the cluster. Ignored in SimpleSnitch endpoint snitch. Default: rack1.
 | 
				
			||||||
 | 
					CASSANDRA_RACK=rack1
 | 
				
			||||||
@@ -45,6 +45,28 @@ RUN if [ ${INSTALL_PGSQL} = true ]; then \
 | 
				
			|||||||
  && docker-php-ext-install pdo_pgsql \
 | 
					  && docker-php-ext-install pdo_pgsql \
 | 
				
			||||||
  ;fi
 | 
					  ;fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Install Cassandra drivers:
 | 
				
			||||||
 | 
					ARG INSTALL_CASSANDRA=false
 | 
				
			||||||
 | 
					RUN if [ ${INSTALL_CASSANDRA} = true ]; then \
 | 
				
			||||||
 | 
					  apk --update add cassandra-cpp-driver \
 | 
				
			||||||
 | 
					  ;fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					WORKDIR /usr/src
 | 
				
			||||||
 | 
					RUN if [ ${INSTALL_CASSANDRA} = true ]; then \
 | 
				
			||||||
 | 
					  git clone https://github.com/datastax/php-driver.git \
 | 
				
			||||||
 | 
					  && cd php-driver/ext \
 | 
				
			||||||
 | 
					  && phpize \
 | 
				
			||||||
 | 
					  && mkdir -p /usr/src/php-driver/build \
 | 
				
			||||||
 | 
					  && cd /usr/src/php-driver/build \
 | 
				
			||||||
 | 
					  && ../ext/configure > /dev/null \
 | 
				
			||||||
 | 
					  && make clean >/dev/null \
 | 
				
			||||||
 | 
					  && make >/dev/null 2>&1 \
 | 
				
			||||||
 | 
					  && make install \
 | 
				
			||||||
 | 
					  && docker-php-ext-enable cassandra \
 | 
				
			||||||
 | 
					;fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
###########################################################################
 | 
					###########################################################################
 | 
				
			||||||
# PHP Memcached:
 | 
					# PHP Memcached:
 | 
				
			||||||
###########################################################################
 | 
					###########################################################################
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -85,6 +85,26 @@ RUN if [ ${INSTALL_AMQP} = true ]; then \
 | 
				
			|||||||
    docker-php-ext-install sockets \
 | 
					    docker-php-ext-install sockets \
 | 
				
			||||||
;fi
 | 
					;fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Install Cassandra drivers:
 | 
				
			||||||
 | 
					ARG INSTALL_CASSANDRA=false
 | 
				
			||||||
 | 
					RUN if [ ${INSTALL_CASSANDRA} = true ]; then \
 | 
				
			||||||
 | 
					  apk --update add cassandra-cpp-driver \
 | 
				
			||||||
 | 
					  ;fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					WORKDIR /usr/src
 | 
				
			||||||
 | 
					RUN if [ ${INSTALL_CASSANDRA} = true ]; then \
 | 
				
			||||||
 | 
					  git clone https://github.com/datastax/php-driver.git \
 | 
				
			||||||
 | 
					  && cd php-driver/ext \
 | 
				
			||||||
 | 
					  && phpize \
 | 
				
			||||||
 | 
					  && mkdir -p /usr/src/php-driver/build \
 | 
				
			||||||
 | 
					  && cd /usr/src/php-driver/build \
 | 
				
			||||||
 | 
					  && ../ext/configure --with-php-config=/usr/bin/php-config7.1 > /dev/null \
 | 
				
			||||||
 | 
					  && make clean >/dev/null \
 | 
				
			||||||
 | 
					  && make >/dev/null 2>&1 \
 | 
				
			||||||
 | 
					  && make install \
 | 
				
			||||||
 | 
					  && docker-php-ext-enable cassandra \
 | 
				
			||||||
 | 
					;fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Install Phalcon ext
 | 
					# Install Phalcon ext
 | 
				
			||||||
ARG INSTALL_PHALCON=false
 | 
					ARG INSTALL_PHALCON=false
 | 
				
			||||||
ARG PHALCON_VERSION
 | 
					ARG PHALCON_VERSION
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -406,6 +406,37 @@ RUN if [ ${INSTALL_AMQP} = true ]; then \
 | 
				
			|||||||
    ln -s /etc/php/${LARADOCK_PHP_VERSION}/mods-available/amqp.ini /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/30-amqp.ini \
 | 
					    ln -s /etc/php/${LARADOCK_PHP_VERSION}/mods-available/amqp.ini /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/30-amqp.ini \
 | 
				
			||||||
;fi
 | 
					;fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					###########################################################################
 | 
				
			||||||
 | 
					# CASSANDRA:
 | 
				
			||||||
 | 
					###########################################################################
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ARG INSTALL_CASSANDRA=false
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					RUN if [ ${INSTALL_CASSANDRA} = true ]; then \
 | 
				
			||||||
 | 
					    apt-get install libgmp-dev -y && \
 | 
				
			||||||
 | 
					    curl https://downloads.datastax.com/cpp-driver/ubuntu/18.04/dependencies/libuv/v1.28.0/libuv1-dev_1.28.0-1_amd64.deb -o libuv1-dev.deb && \
 | 
				
			||||||
 | 
					    curl https://downloads.datastax.com/cpp-driver/ubuntu/18.04/dependencies/libuv/v1.28.0/libuv1_1.28.0-1_amd64.deb -o libuv1.deb && \
 | 
				
			||||||
 | 
					    curl https://downloads.datastax.com/cpp-driver/ubuntu/18.04/cassandra/v2.12.0/cassandra-cpp-driver-dev_2.12.0-1_amd64.deb -o cassandra-cpp-driver-dev.deb && \
 | 
				
			||||||
 | 
					    curl https://downloads.datastax.com/cpp-driver/ubuntu/18.04/cassandra/v2.12.0/cassandra-cpp-driver_2.12.0-1_amd64.deb -o cassandra-cpp-driver.deb && \
 | 
				
			||||||
 | 
					    dpkg -i libuv1.deb && \
 | 
				
			||||||
 | 
					    dpkg -i libuv1-dev.deb && \
 | 
				
			||||||
 | 
					    dpkg -i cassandra-cpp-driver.deb && \
 | 
				
			||||||
 | 
					    dpkg -i cassandra-cpp-driver-dev.deb && \
 | 
				
			||||||
 | 
					    rm libuv1.deb libuv1-dev.deb cassandra-cpp-driver-dev.deb cassandra-cpp-driver.deb && \
 | 
				
			||||||
 | 
					    cd /usr/src && \
 | 
				
			||||||
 | 
					    git clone https://github.com/datastax/php-driver.git && \
 | 
				
			||||||
 | 
					    cd /usr/src/php-driver/ext && \
 | 
				
			||||||
 | 
					    phpize && \
 | 
				
			||||||
 | 
					    mkdir /usr/src/php-driver/build && \
 | 
				
			||||||
 | 
					    cd /usr/src/php-driver/build && \
 | 
				
			||||||
 | 
					    ../ext/configure > /dev/null && \
 | 
				
			||||||
 | 
					    make clean >/dev/null && \
 | 
				
			||||||
 | 
					    make >/dev/null 2>&1 && \
 | 
				
			||||||
 | 
					    make install && \
 | 
				
			||||||
 | 
					    echo "extension=cassandra.so" >> /etc/php/${LARADOCK_PHP_VERSION}/mods-available/cassandra.ini && \
 | 
				
			||||||
 | 
					    ln -s /etc/php/${LARADOCK_PHP_VERSION}/mods-available/cassandra.ini /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/30-cassandra.ini \
 | 
				
			||||||
 | 
					;fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
###########################################################################
 | 
					###########################################################################
 | 
				
			||||||
# PHP REDIS EXTENSION
 | 
					# PHP REDIS EXTENSION
 | 
				
			||||||
###########################################################################
 | 
					###########################################################################
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user