From e7c1cd50631081a129dbc1647e3c972e382b7e14 Mon Sep 17 00:00:00 2001 From: Wonderfall Date: Sun, 30 Jul 2017 04:49:47 +0200 Subject: [PATCH] add parsoid image --- parsoid/Dockerfile | 28 +++++++++++++++++++ parsoid/rootfs/etc/s6.d/.s6-svscan/finish | 2 ++ parsoid/rootfs/etc/s6.d/ghost/run | 3 ++ parsoid/rootfs/usr/local/bin/run.sh | 19 +++++++++++++ parsoid/rootfs/usr/local/etc/disqus.conf | 16 +++++++++++ .../rootfs/usr/local/etc/ghost.example.conf | 21 ++++++++++++++ parsoid/rootfs/usr/local/etc/isso.conf | 7 +++++ 7 files changed, 96 insertions(+) create mode 100644 parsoid/Dockerfile create mode 100644 parsoid/rootfs/etc/s6.d/.s6-svscan/finish create mode 100644 parsoid/rootfs/etc/s6.d/ghost/run create mode 100644 parsoid/rootfs/usr/local/bin/run.sh create mode 100644 parsoid/rootfs/usr/local/etc/disqus.conf create mode 100644 parsoid/rootfs/usr/local/etc/ghost.example.conf create mode 100644 parsoid/rootfs/usr/local/etc/isso.conf diff --git a/parsoid/Dockerfile b/parsoid/Dockerfile new file mode 100644 index 0000000..4efa7b4 --- /dev/null +++ b/parsoid/Dockerfile @@ -0,0 +1,28 @@ +FROM alpine:3.6 + +ENV NODE_ENV=production \ + GID=991 UID=991 \ + INTERFACE=0.0.0.0 \ + PORT=8000 \ + ADDRESS=http://localhost/w/ \ + DOMAIN=localhost + +RUN apk -U --no-cache add \ + ca-certificates \ + libressl \ + nodejs-current \ + nodejs-current-npm \ + s6 \ + git \ + su-exec \ + && git clone https://gerrit.wikimedia.org/r/p/mediawiki/services/parsoid --depth=1 \ + && cd parsoid && npm install + +COPY rootfs / + +RUN chmod +x /usr/local/bin/* /etc/s6.d/*/* /etc/s6.d/.s6-svscan/* + +EXPOSE 8000 + +ENTRYPOINT ["run.sh"] +CMD ["/bin/s6-svscan", "/etc/s6.d"] diff --git a/parsoid/rootfs/etc/s6.d/.s6-svscan/finish b/parsoid/rootfs/etc/s6.d/.s6-svscan/finish new file mode 100644 index 0000000..039e4d0 --- /dev/null +++ b/parsoid/rootfs/etc/s6.d/.s6-svscan/finish @@ -0,0 +1,2 @@ +#!/bin/sh +exit 0 diff --git a/parsoid/rootfs/etc/s6.d/ghost/run b/parsoid/rootfs/etc/s6.d/ghost/run new file mode 100644 index 0000000..edf729d --- /dev/null +++ b/parsoid/rootfs/etc/s6.d/ghost/run @@ -0,0 +1,3 @@ +#!/bin/sh +cd /parsoid +exec node bin/server.js diff --git a/parsoid/rootfs/usr/local/bin/run.sh b/parsoid/rootfs/usr/local/bin/run.sh new file mode 100644 index 0000000..8806971 --- /dev/null +++ b/parsoid/rootfs/usr/local/bin/run.sh @@ -0,0 +1,19 @@ +#!/bin/sh +echo +echo ">>> wonderfall/parsoid container <<<" +echo + +cd /parsoid +cp config.example.yaml config.yaml +sed -i "s|http://localhost/w/|$ADDRESS|g" config.yaml +sed -i "s|domain: 'localhost'|domain: '$DOMAIN'|g" config.yaml + +echo "> Updating permissions..." +chown -R ${UID}:${GID} /parsoid /etc/s6.d + +echo "> Executing process..." +if [ '$@' == '' ]; then + exec su-exec ${UID}:${GID} /bin/s6-svscan /etc/s6.d +else + exec su-exec ${UID}:${GID} "$@" +fi diff --git a/parsoid/rootfs/usr/local/etc/disqus.conf b/parsoid/rootfs/usr/local/etc/disqus.conf new file mode 100644 index 0000000..9b20532 --- /dev/null +++ b/parsoid/rootfs/usr/local/etc/disqus.conf @@ -0,0 +1,16 @@ + +
+ + +comments powered by Disqus + diff --git a/parsoid/rootfs/usr/local/etc/ghost.example.conf b/parsoid/rootfs/usr/local/etc/ghost.example.conf new file mode 100644 index 0000000..2b01024 --- /dev/null +++ b/parsoid/rootfs/usr/local/etc/ghost.example.conf @@ -0,0 +1,21 @@ +{ + "url": "https://my-ghost-blog.com", + + "server": { + "host": "0.0.0.0", + "port": "2368" + }, + + "database": { + "client": "sqlite3", + "connection": { + "filename": "content/data/ghost-dev.db" + }, + "useNullAsDefault": true, + "debug": false + }, + + "mail": { + "transport": "Direct" + } +} diff --git a/parsoid/rootfs/usr/local/etc/isso.conf b/parsoid/rootfs/usr/local/etc/isso.conf new file mode 100644 index 0000000..4287ebc --- /dev/null +++ b/parsoid/rootfs/usr/local/etc/isso.conf @@ -0,0 +1,7 @@ + + + +