Commit c411453f authored by Felix Delattre's avatar Felix Delattre

simplified setup

parent 7f6bb0e0
......@@ -9,7 +9,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
bash \
coreutils \
python3-pip \
python3-virtualenv \
python3-dev \
python3-setuptools \
pelican \
......@@ -18,11 +17,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
node-postcss-modules-extract-imports
# Install pelican and dependencies
COPY files/requirements.txt requirements.txt
COPY files/start.sh /start.sh
RUN pip3 install wheel
RUN pip3 install -r requirements.txt
RUN npm install -g npm@latest
RUN pip3 install pelican-webassets webassets
RUN npm install -g postcss-cli cssnano postcss-cssnext postcss-preset-env
# Cleanup
......@@ -32,5 +27,5 @@ RUN apt-get autoremove --yes $build_dependencies && apt-get autoremove --yes &&
EXPOSE 8000
WORKDIR /srv/pelican
VOLUME ["/srv/pelican"]
CMD /start.sh restart 8000
CMD make serve
beautifulsoup4
blinker
docutils
feedgenerator
ghp-import
Jinja2
Markdown
markdown-include
markdown-attr-plus
MarkupSafe
pelican-alias
pelican-webassets
pillow
Pygments
pytz
six
Unidecode
webassets
#!/usr/bin/env bash
##
# This section should match your Makefile
##
PY=${PY:-python3}
PELICAN=${PELICAN:-pelican}
PELICANOPTS=
BASEDIR=$(pwd)
INPUTDIR=$BASEDIR/content
OUTPUTDIR=$BASEDIR/output
CONFFILE=$BASEDIR/pelicanconf.py
###
# Don't change stuff below here unless you are sure
###
SRV_PID=$BASEDIR/srv.pid
PELICAN_PID=$BASEDIR/pelican.pid
function usage(){
echo "usage: $0 (stop) (start) (restart) [port]"
echo "This starts Pelican in debug and reload mode and then launches"
echo "an HTTP server to help site development. It doesn't read"
echo "your Pelican settings, so if you edit any paths in your Makefile"
echo "you will need to edit your settings as well."
exit 3
}
function alive() {
kill -0 $1 >/dev/null 2>&1
}
function shut_down(){
PID=$(cat $SRV_PID)
if [[ $? -eq 0 ]]; then
if alive $PID; then
echo "Stopping HTTP server"
kill $PID
else
echo "Stale PID, deleting"
fi
rm $SRV_PID
else
echo "HTTP server PIDFile not found"
fi
PID=$(cat $PELICAN_PID)
if [[ $? -eq 0 ]]; then
if alive $PID; then
echo "Killing Pelican"
kill $PID
else
echo "Stale PID, deleting"
fi
rm $PELICAN_PID
else
echo "Pelican PIDFile not found"
fi
}
function start_up(){
local port=$1
echo "Starting up Pelican and HTTP server"
shift
cd $BASEDIR;
$PELICAN --debug --autoreload -r $INPUTDIR -o $OUTPUTDIR -s $CONFFILE $PELICANOPTS -p $port -b 0.0.0.0 &
pelican_pid=$!
echo $pelican_pid > $PELICAN_PID
if ! alive $pelican_pid ; then
echo "Pelican didn't start. Is the Pelican package installed?"
return 1
fi
cd $OUTPUTDIR;
$PY -m pelican.server $port
srv_pid=$!
echo $srv_pid > $SRV_PID
if ! alive $srv_pid ; then
echo "The HTTP server didn't start. Is there another service using port" $port "?"
return 1
fi
sleep 1
echo 'Exiting Pelican and HTTP server processes.'
}
###
# MAIN
###
[[ ($# -eq 0) || ($# -gt 2) ]] && usage
port=''
[[ $# -eq 2 ]] && port=$2
if [[ $1 == "stop" ]]; then
shut_down
elif [[ $1 == "restart" ]]; then
shut_down
start_up $port
elif [[ $1 == "start" ]]; then
if ! start_up $port; then
shut_down
fi
else
usage
fi
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment