рдЕрдЧрд░ рдореИрдВ рдЬреАрдердм рд╕реЗ рдирдП рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рд▓рд┐рдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рддреЛ рдореИрдВ рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рдХрд┐ рдХреНрдпрд╛ рдкреНрд░рддрд┐рдкрд╛рджрди рдЕрдЪреНрдЫрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХреЗ рдЧреНрд░реЗрд╡ рдХреА рд╕рднреА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЧрд╛рдпрдм рд╣реИрдВ рдФрд░ рд╕рдВрдХрд▓рди рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджрд╕реНрддрд╛рд╡реЗрдЬ рдЧрд╛рдпрдм рд╣реИрдВ :(
рдЖрдк рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ
рд╣рдо рдЗрд╕ рд╕рдкреНрддрд╛рд╣ рд░реЗрдВрдбрд░рд┐рдВрдЧ рдЗрдВрдЬрди рдХреЗ рд╕рд╛рде рдЕрдкрдирд╛ рдкреВрд░реНрдг рд╕рд╛рдордЧреНрд░реА рдкреНрд░рдмрдВрдзрди рдордВрдЪ рдЦреЛрд▓реЗрдВрдЧреЗред
<3
рд╣рд╛рдп рд╡рд┐рдВрд╕реЗрдВрдЯ, рдЬреИрд╕рд╛ рдХрд┐ рдЬрд┐рдУ рджреНрд╡рд╛рд░рд╛ рдкреБрд╖реНрдЯрд┐ рдХреА рдЧрдИ рд╣реИ, рд╣рдо рдЕрдЧрд▓реЗ рджрд┐рдиреЛрдВ рдореЗрдВ рд╕рднреА рдЬрд╛рдирдХрд╛рд░реА рдЬреЛрдбрд╝ рджреЗрдВрдЧреЗ, рд╣рдо рдХреЗрд╡рд▓ рдбреЙрдХреНрд╕ рдСрдирд▓рд╛рдЗрди рдбрд╛рд▓рддреЗ рд╣реИрдВ рдФрд░ рдЕрдЧрд▓реЗ рджрд┐рдиреЛрдВ/рд╕рдкреНрддрд╛рд╣ рдореЗрдВ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ (рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдФрд░ рд╡рд┐рд╢рд┐рд╖реНрдЯ рддрдХрдиреАрдХреА рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдХреЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝) рдЬреЛрдбрд╝ рджреЗрдВрдЧреЗред
рдпрд╣рд╛рдВ рдЖрдк рд╣рдорд╛рд░рд╛ рдкреЗрд▓рд┐рдХрди рдкреИрдХреЗрдЬ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ: https://github.com/ovh/docs-rendering
рдореБрдЭреЗ рд░реАрдбрдореА рдФрд░ рдХреБрдЫ рдпреЛрдЧрджрд╛рди рдирд┐рдпрдореЛрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рдирд╛ рд╣реИред
рдПрдЯреАрдПрдо рдпрд╣ рдкреНрд░рдпреЛрдЧ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реИред
рдЕрдЧрд▓реЗ рд╣рдлреНрддреЗ, рд╣рдо рд╕реНрдерд╛рдиреАрдп рдордВрдЪрди рдХреЛ рдЧрддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреА рдбреЙрдХрд░ рдЫрд╡рд┐ рдХреЛ рдЖрдЧреЗ рдмрдврд╝рд╛рдПрдВрдЧреЗред
FROM python:3.5
ENV SRV_DIR=//srv
ENV WORKING_DIR=//srv/pelican
ENV PORT=8000
ADD ./files $SRV_DIR
WORKDIR $WORKING_DIR
RUN mkdir output pages cache
VOLUME ["$WORKING_DIR/pages/"]
RUN pip install -r requirements.txt
EXPOSE $PORT
RUN chmod +x $SRV_DIR/developer_server.sh
CMD ./$SRV_DIR/develop_server.sh restart $PORT
#!/usr/bin/env bash
##
# This section should match your Makefile
##
PY=${PY:-python}
PELICAN=${PELICAN:-pelican}
PELICANOPTS=
BASEDIR=$(pwd)
INPUTDIR=$BASEDIR/pages
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 &
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
<3 рдореИрдВ рдЕрдЧрд▓реЗ рджрд┐рди рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░реВрдВрдЧрд╛ред
рдпрд╣рд╛рдБ :)
рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рджреЗрд╡реЗрдирд╡: https://github.com/ovh/docs-developer-env
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рд╣рдо рдЗрд╕ рд╕рдкреНрддрд╛рд╣ рд░реЗрдВрдбрд░рд┐рдВрдЧ рдЗрдВрдЬрди рдХреЗ рд╕рд╛рде рдЕрдкрдирд╛ рдкреВрд░реНрдг рд╕рд╛рдордЧреНрд░реА рдкреНрд░рдмрдВрдзрди рдордВрдЪ рдЦреЛрд▓реЗрдВрдЧреЗред