Skip to content

Instantly share code, notes, and snippets.

@jamiejackson
Last active July 22, 2018 14:23
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jamiejackson/f091c410723cae78ff4eb642b08ad592 to your computer and use it in GitHub Desktop.
Save jamiejackson/f091c410723cae78ff4eb642b08ad592 to your computer and use it in GitHub Desktop.
Installing CFSpreadsheet Extension in Docker Lucee 5.2

Update: I have a universal, albeit convoluted, method for installing plugins: https://github.com/jamiejackson/lucee5-install-extensions

I'm trying to demonstrate that it is painful to install third-party extensions in Lucee images, because Lucee doesn't provide a way to know when/whether extension installation is complete.

After you've spent hours cobbling reliable test for installation completion, some extensions might not be too hard to reliably install. However, each new one (I'm looking at the redis extension now) is its own animal, and each one is a time sink.

To run this example:

Docker Compose

docker-compose run --rm lucee
version: '3.6'
services:
luc:
build:
context: ./
container_name: lucee
ports:
- 8888:8888
FROM lucee/lucee52:latest
ENV DEPLOY_DIR=/opt/lucee/server/lucee-server/deploy
WORKDIR $DEPLOY_DIR
RUN echo download to deploy dir \
&& curl -O https://raw.githubusercontent.com/Leftbower/cfspreadsheet-lucee-5/master/cfspreadsheet-lucee-5.lex
RUN ls -al "$DEPLOY_DIR" \
&& echo "warmup plugin" \
&& echo "<cfscript>spreadsheetNew()</cfscript>" > /var/www/index.cfm \
&& catalina.sh start \
&& echo "keep testing the home page until cfspreadsheet is functional" \
&& until $(curl --output /dev/null --silent --head --fail http://localhost:8888); \
do printf '.' \n \; \
sleep 3; \
done \
&& printf "\ncfspreadsheet is functional\n" \
&& catalina.sh stop
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment