view SMWConTalk2022-10 as slides
<slideshow style="bitplan" headingmark="⌘⌘" incmark="…" scaled="true" font="Arial" >
</slideshow>
This page: https://wiki.bitplan.com/index.php/SMWConTalk2022-10
This page: https://wiki.bitplan.com/index.php/SMWConTalk2022-10
The Dockerfile syntax and semantic does not allow for proper programming logic - see e.g. iterate in run command stackoverflow question
In 2015 we started with 1000 line bash script
profiwiki-install --help
./profiwiki-install.sh
options:
-c|--clean : clean - clean up docker containers and volumes (juse with caution)
-h|--help : show this usage
-i : use install.php to create LocalSettings.php
-ismw SMW_VERSION : install semanticmediawiki with the given version using composer
-composer|--composer : install composer
-l|--local : local install (default is docker)
-n|--needed : check and install needed prequisites
-m|--mysql : initialize and start mysql
-r|--random : create random passwords
-smw|--smw : install Semantic MediaWiki
Here is an excerpt:
#
# get the passwords
# and save them in the given shell file
# paramams
# 1: l_pwconfig - the file for the password configuration
#
get_passwords() {
local l_pwconfig="$1"
if [ -f $l_pwconfig ]
then
# get the sysop password
export SYSOP_PASSWD=$(cat $l_pwconfig | grep SYSOP_PASSWD | cut -f2 -d'"')
export MYSQL_PASSWORD=$(cat $l_pwconfig | grep MYSQL_PASSWORD | cut -f2 -d'"')
else
if [ "$random_passwords" = "true" ]
then
# create a random SYSOP passsword
export SYSOP_PASSWD=$(random_password)
export MYSQL_PASSWORD=$(random_password)
else
password_dialog "ProfiWiki Setup" "Please specify passwords"
fi
local l_now=$(timestamp)
cat << EOF > $l_pwconfig
#!/bin/bash
# generated by $0 at $l_now
export SYSOP_PASSWD="$SYSOP_PASSWD"
export MYSQL_PASSWORD="$MYSQL_PASSWORD"
EOF
fi
}