mirror of
https://github.com/hoellen/dockerfiles.git
synced 2025-04-20 04:19:18 +00:00
UNMAINTENED
This commit is contained in:
parent
3bd074f9d1
commit
88ac35c10b
77
unmaintained/cowrie/Dockerfile
Normal file
77
unmaintained/cowrie/Dockerfile
Normal file
@ -0,0 +1,77 @@
|
|||||||
|
FROM alpine:edge
|
||||||
|
|
||||||
|
ARG MPFR_VERSION=3.1.5
|
||||||
|
ARG MPC_VERSION=1.0.3
|
||||||
|
|
||||||
|
ARG GPG_MPFR="07F3 DBBE CC1A 3960 5078 094D 980C 1976 98C3 739D"
|
||||||
|
ARG GPG_MPC="AD17 A21E F8AE D8F1 CC02 DBD9 F7D5 C9BF 765C 61E3"
|
||||||
|
ARG SHA1_MPC="b8be66396c726fdc36ebb0f692ed8a8cca3bcc66"
|
||||||
|
|
||||||
|
ENV UID=991 GID=991
|
||||||
|
|
||||||
|
RUN BUILD_DEPS=" \
|
||||||
|
build-base \
|
||||||
|
libtool \
|
||||||
|
libffi-dev \
|
||||||
|
libressl-dev \
|
||||||
|
python-dev \
|
||||||
|
gmp-dev \
|
||||||
|
mariadb-dev \
|
||||||
|
py2-pip \
|
||||||
|
tar \
|
||||||
|
gnupg" \
|
||||||
|
&& apk -U upgrade && apk add \
|
||||||
|
${BUILD_DEPS} \
|
||||||
|
libffi \
|
||||||
|
gmp \
|
||||||
|
libressl \
|
||||||
|
python \
|
||||||
|
py-setuptools \
|
||||||
|
openssh-client \
|
||||||
|
mariadb-client-libs \
|
||||||
|
tini \
|
||||||
|
su-exec \
|
||||||
|
&& cd /tmp && wget -q http://www.mpfr.org/mpfr-current/mpfr-${MPFR_VERSION}.tar.gz \
|
||||||
|
&& echo "Verifying authenticity of mpfr-${MPFR_VERSION}.tar.gz..." \
|
||||||
|
&& wget -q http://www.mpfr.org/mpfr-current/mpfr-${MPFR_VERSION}.tar.gz.asc \
|
||||||
|
&& gpg --recv-keys 98C3739D \
|
||||||
|
&& FINGERPRINT="$(LANG=C gpg --verify mpfr-${MPFR_VERSION}.tar.gz.asc mpfr-${MPFR_VERSION}.tar.gz 2>&1 \
|
||||||
|
| sed -n "s#Primary key fingerprint: \(.*\)#\1#p")" \
|
||||||
|
&& if [ -z "${FINGERPRINT}" ]; then echo "Warning! Invalid GPG signature!" && exit 1; fi \
|
||||||
|
&& if [ "${FINGERPRINT}" != "${GPG_MPFR}" ]; then echo "Warning! Wrong GPG fingerprint!" && exit 1; fi \
|
||||||
|
&& echo "All seems good, now unpacking mpfr-${MPFR_VERSION}.tar.gz..." \
|
||||||
|
&& tar xzf mpfr-${MPFR_VERSION}.tar.gz && cd mpfr-${MPFR_VERSION} \
|
||||||
|
&& ./configure && make && make install \
|
||||||
|
&& cd /tmp && wget -q ftp://ftp.gnu.org/gnu/mpc/mpc-${MPC_VERSION}.tar.gz \
|
||||||
|
&& echo "Verifying both integrity and authenticity of mpc-${MPC_VERSION}.tar.gz..." \
|
||||||
|
&& CHECKSUM=$(sha1sum mpc-${MPC_VERSION}.tar.gz | awk '{print $1}') \
|
||||||
|
&& if [ "${CHECKSUM}" != "${SHA1_MPC}" ]; then echo "Warning! Checksum does not match!" && exit 1; fi \
|
||||||
|
&& wget -q ftp://ftp.gnu.org/gnu/mpc/mpc-${MPC_VERSION}.tar.gz.sig \
|
||||||
|
&& gpg --recv-keys 0xF7D5C9BF765C61E3 \
|
||||||
|
&& FINGERPRINT="$(LANG=C gpg --verify mpc-${MPC_VERSION}.tar.gz.sig mpc-${MPC_VERSION}.tar.gz 2>&1 \
|
||||||
|
| sed -n "s#Primary key fingerprint: \(.*\)#\1#p")" \
|
||||||
|
&& if [ -z "${FINGERPRINT}" ]; then echo "Warning! Invalid GPG signature!" && exit 1; fi \
|
||||||
|
&& if [ "${FINGERPRINT}" != "${GPG_MPC}" ]; then echo "Warning! Wrong GPG fingerprint!" && exit 1; fi \
|
||||||
|
&& echo "All seems good, now unpacking mpc-${MPC_VERSION}.tar.gz..." \
|
||||||
|
&& tar xzf mpc-${MPC_VERSION}.tar.gz && cd mpc-${MPC_VERSION} \
|
||||||
|
&& ./configure --with-mpfr-lib=/usr/local/lib --with-mpfr-include=/usr/local/include \
|
||||||
|
&& make && make install \
|
||||||
|
&& mkdir /cowrie && cd /cowrie \
|
||||||
|
&& wget -qO- https://github.com/micheloosterhof/cowrie/archive/master.tar.gz | tar xz --strip 1 \
|
||||||
|
&& pip install --no-cache -r requirements.txt \
|
||||||
|
&& pip install --no-cache mysql-python \
|
||||||
|
&& mv cowrie.cfg.dist cowrie.cfg \
|
||||||
|
&& apk del ${BUILD_DEPS} \
|
||||||
|
&& rm -rf /var/cache/apk/* /tmp/* /root/.gnupg
|
||||||
|
|
||||||
|
COPY run.sh /usr/local/bin/run.sh
|
||||||
|
|
||||||
|
RUN chmod +x /usr/local/bin/run.sh
|
||||||
|
|
||||||
|
VOLUME /cowrie/log /cowrie/dl /custom
|
||||||
|
|
||||||
|
EXPOSE 2222
|
||||||
|
|
||||||
|
LABEL maintainer="Wonderfall <wonderfall@targaryen.house>"
|
||||||
|
|
||||||
|
CMD ["run.sh"]
|
60
unmaintained/cowrie/README.md
Normal file
60
unmaintained/cowrie/README.md
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
### wonderfall/cowrie
|
||||||
|
|
||||||
|
#### What is this?
|
||||||
|
Cowrie is a medium interaction SSH honeypot designed to log brute force attacks and the shell interaction performed by the attacker. Cowrie is based on Kippo.
|
||||||
|
|
||||||
|
#### Build-time variables
|
||||||
|
- **MPFR_VERSION** : GNU MPFR version.
|
||||||
|
- **MPC_VERSION** : GNU MPC version.
|
||||||
|
- **GPG_** : fingerprints of signing keys.
|
||||||
|
- **SHA_** : fingerprints of tarballs
|
||||||
|
|
||||||
|
#### Environment variables
|
||||||
|
- **UID** *(default : 991)*
|
||||||
|
- **GID** *(default : 991)*
|
||||||
|
|
||||||
|
#### How to configure
|
||||||
|
You should provide your own configuration file from this base : https://raw.githubusercontent.com/micheloosterhof/cowrie/master/cowrie.cfg.dist
|
||||||
|
You can mount this single file to your Docker container.
|
||||||
|
|
||||||
|
#### Volumes
|
||||||
|
- **/cowrie/dl** : where downloads are stored.
|
||||||
|
- **/cowrie/log** : cowrie and tty sessions logs.
|
||||||
|
- **/cowrie/cowrie.cfg** : cowrie configuration file. **Provide yours!**
|
||||||
|
- **/custom** : customize cowrie structure with your own files
|
||||||
|
|
||||||
|
#### Docker compose (example)
|
||||||
|
```
|
||||||
|
cowrie:
|
||||||
|
image: wonderfall/cowrie
|
||||||
|
links: ### MySQL output
|
||||||
|
- cowrie-db:cowrie-db ### MySQL output
|
||||||
|
ports:
|
||||||
|
- "2222:2222"
|
||||||
|
volumes:
|
||||||
|
- /mnt/cowrie/dl:/cowrie/dl
|
||||||
|
- /mnt/cowrie/log:/cowrie/log
|
||||||
|
- /mnt/cowrie/custom:/custom
|
||||||
|
- /mnt/cowrie/cowrie.cfg:/cowrie/cowrie.cfg
|
||||||
|
environment:
|
||||||
|
- GID=1000
|
||||||
|
- UID=1000
|
||||||
|
|
||||||
|
### MySQL output
|
||||||
|
# First, you'll have to initialise tables with a .sql file
|
||||||
|
# mkdir -p /mnt/cowrie/sql
|
||||||
|
# wget https://raw.githubusercontent.com/micheloosterhof/cowrie/master/doc/sql/mysql.sql -P /mnt/cowrie/sql/cowrie.sql
|
||||||
|
# It needs also to be configured in the cowrie.cfg file
|
||||||
|
|
||||||
|
cowrie-db:
|
||||||
|
image: mariadb:10
|
||||||
|
volumes:
|
||||||
|
- /mnt/cowrie/db:/var/lib/mysql
|
||||||
|
- /mnt/cowrie/sql:/docker-entrypoint-initdb.d
|
||||||
|
environment:
|
||||||
|
- MYSQL_ROOT_PASSWORD=supersecretpassword
|
||||||
|
- MYSQL_DATABASE=cowrie
|
||||||
|
- MYSQL_USER=cowrie
|
||||||
|
- MYSQL_PASSWORD=supersecretpassword
|
||||||
|
```
|
||||||
|
|
12
unmaintained/cowrie/run.sh
Normal file
12
unmaintained/cowrie/run.sh
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
cd /cowrie
|
||||||
|
|
||||||
|
rm twistd.pid &>/dev/null
|
||||||
|
mkdir -p /cowrie/log/tty &>/dev/null
|
||||||
|
cp -R /custom/* /cowrie &>/dev/null
|
||||||
|
chown -R $UID:$GID /cowrie
|
||||||
|
|
||||||
|
COWRIEDIR=$(dirname $0)
|
||||||
|
export PYTHONPATH=${PYTHONPATH}:${COWRIEDIR}
|
||||||
|
|
||||||
|
exec su-exec $UID:$GID /sbin/tini -- twistd -n -l /cowrie/log/cowrie.log cowrie
|
30
unmaintained/freshrss/Dockerfile
Normal file
30
unmaintained/freshrss/Dockerfile
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
FROM wonderfall/nginx-php:7.1
|
||||||
|
|
||||||
|
ARG FRESHRSS_VER=1.8.0
|
||||||
|
|
||||||
|
ENV UID=991 GID=991 \
|
||||||
|
UPLOAD_MAX_SIZE=10M \
|
||||||
|
MEMORY_LIMIT=128M \
|
||||||
|
CRON_PERIOD=30m
|
||||||
|
|
||||||
|
RUN apk -U add --no-cache \
|
||||||
|
tar \
|
||||||
|
libressl \
|
||||||
|
ca-certificates \
|
||||||
|
&& mkdir freshrss && cd freshrss \
|
||||||
|
&& wget -qO- https://github.com/FreshRSS/FreshRSS/archive/${FRESHRSS_VER}.tar.gz | tar xz --strip 1 \
|
||||||
|
&& mv data data_tmp
|
||||||
|
|
||||||
|
COPY rootfs /
|
||||||
|
|
||||||
|
RUN chmod +x /usr/local/bin/run.sh /etc/s6.d/*/* /etc/s6.d/.s6-svscan/*
|
||||||
|
|
||||||
|
VOLUME /freshrss/data /php/session
|
||||||
|
|
||||||
|
EXPOSE 8888
|
||||||
|
|
||||||
|
LABEL maintainer="Wonderfall <wonderfall@targaryen.house>" \
|
||||||
|
description="A free, self-hostable aggregator" \
|
||||||
|
version="FreshRSS ${FRESHRSS_VER}"
|
||||||
|
|
||||||
|
CMD ["run.sh"]
|
24
unmaintained/freshrss/README.md
Normal file
24
unmaintained/freshrss/README.md
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
## wonderfall/freshrss
|
||||||
|
|
||||||
|
A free, self-hostable aggregator : https://github.com/FreshRSS/FreshRSS
|
||||||
|
|
||||||
|
#### Features
|
||||||
|
- Based on Alpine Linux (wonderfall/nginx-php image)
|
||||||
|
- Bundled with nginx and PHP7.1.
|
||||||
|
- Automatic feed update (frequency at 30 minutes by default)
|
||||||
|
|
||||||
|
#### Build-time variables
|
||||||
|
- **FRESHRSS_VER** : version of FreshRSS
|
||||||
|
|
||||||
|
#### Environment variables
|
||||||
|
- **UID** : user id
|
||||||
|
- **GID** : group id
|
||||||
|
- **MEMORY_LIMIT** : php memory limit *(default : 128M)*
|
||||||
|
- **UPLOAD_MAX_SIZE** : maximum upload size *(default : 10M)*
|
||||||
|
- **CRON_PERIOD** : feed update frequency *(default : 30m)*
|
||||||
|
|
||||||
|
#### Volumes
|
||||||
|
- **/freshrss/data**
|
||||||
|
|
||||||
|
#### Ports
|
||||||
|
- **8888** [(reverse proxy!)](https://github.com/hardware/mailserver/wiki/Reverse-proxy-configuration)
|
6
unmaintained/freshrss/rootfs/etc/s6.d/cron/run
Normal file
6
unmaintained/freshrss/rootfs/etc/s6.d/cron/run
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
while true; do
|
||||||
|
php -f /freshrss/app/actualize_script.php
|
||||||
|
sleep <CRON_PERIOD>
|
||||||
|
done
|
33
unmaintained/freshrss/rootfs/nginx/sites-enabled/nginx.conf
Normal file
33
unmaintained/freshrss/rootfs/nginx/sites-enabled/nginx.conf
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
server {
|
||||||
|
listen 8888;
|
||||||
|
root /freshrss;
|
||||||
|
index index.php index.html;
|
||||||
|
|
||||||
|
location ~* \.(jpg|jpeg|gif|css|png|js|map|woff|woff2|ttf|svg|eot)$ {
|
||||||
|
expires 30d;
|
||||||
|
access_log off;
|
||||||
|
}
|
||||||
|
|
||||||
|
location ~ ^/(data|cfg|tmp) {
|
||||||
|
deny all;
|
||||||
|
}
|
||||||
|
|
||||||
|
location ~* /(.*)\.(?:markdown|md|twig|yaml|yml|ht|htaccess|ini)$ {
|
||||||
|
deny all;
|
||||||
|
}
|
||||||
|
|
||||||
|
location ~ /\. {
|
||||||
|
deny all;
|
||||||
|
}
|
||||||
|
|
||||||
|
location / {
|
||||||
|
try_files $uri $uri/ /index.php;
|
||||||
|
}
|
||||||
|
|
||||||
|
location ~ \.php$ {
|
||||||
|
fastcgi_index index.php;
|
||||||
|
fastcgi_pass unix:/php/run/php-fpm.sock;
|
||||||
|
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
||||||
|
include /nginx/conf/fastcgi_params;
|
||||||
|
}
|
||||||
|
}
|
8
unmaintained/freshrss/rootfs/usr/local/bin/run.sh
Normal file
8
unmaintained/freshrss/rootfs/usr/local/bin/run.sh
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
sed -i -e "s/<UPLOAD_MAX_SIZE>/$UPLOAD_MAX_SIZE/g" /nginx/conf/nginx.conf /php/etc/php-fpm.conf \
|
||||||
|
-e "s/<MEMORY_LIMIT>/$MEMORY_LIMIT/g" /php/etc/php-fpm.conf \
|
||||||
|
-e "s/<CRON_PERIOD>/$CRON_PERIOD/g" /etc/s6.d/cron/run
|
||||||
|
|
||||||
|
[ ! "$(ls -A /freshrss/data)" ] && cp -R /freshrss/data_tmp/* /freshrss/data/
|
||||||
|
chown -R $UID:$GID /freshrss /nginx /php /tmp /etc/s6.d
|
||||||
|
exec su-exec $UID:$GID /bin/s6-svscan /etc/s6.d
|
43
unmaintained/ghost/Dockerfile
Normal file
43
unmaintained/ghost/Dockerfile
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
FROM alpine:3.6
|
||||||
|
|
||||||
|
ARG VERSION=1.14.0
|
||||||
|
|
||||||
|
ENV GHOST_NODE_VERSION_CHECK=false \
|
||||||
|
NODE_ENV=production \
|
||||||
|
GID=991 UID=991 \
|
||||||
|
ADDRESS=https://my-ghost-blog.com \
|
||||||
|
ENABLE_ISSO=False \
|
||||||
|
ISSO_HOST=isso.domain.tld \
|
||||||
|
ISSO_AVATAR=false \
|
||||||
|
ISSO_VOTE=false
|
||||||
|
|
||||||
|
WORKDIR /ghost
|
||||||
|
|
||||||
|
RUN apk -U --no-cache add \
|
||||||
|
bash \
|
||||||
|
ca-certificates \
|
||||||
|
grep \
|
||||||
|
libressl \
|
||||||
|
nodejs-current \
|
||||||
|
nodejs-current-npm \
|
||||||
|
s6 \
|
||||||
|
su-exec \
|
||||||
|
vim \
|
||||||
|
&& wget -q https://github.com/TryGhost/Ghost/releases/download/${VERSION}/Ghost-${VERSION}.zip -P /tmp \
|
||||||
|
&& unzip -q /tmp/Ghost-${VERSION}.zip -d /ghost \
|
||||||
|
&& npm install --production \
|
||||||
|
&& mv content/themes/casper casper
|
||||||
|
|
||||||
|
COPY rootfs /
|
||||||
|
|
||||||
|
RUN chmod +x /usr/local/bin/* /etc/s6.d/*/* /etc/s6.d/.s6-svscan/*
|
||||||
|
|
||||||
|
EXPOSE 2368
|
||||||
|
|
||||||
|
VOLUME /ghost/content
|
||||||
|
|
||||||
|
LABEL description="Ghost CMS ${VERSION}" \
|
||||||
|
maintainer="Wonderfall <wonderfall@targaryen.house>"
|
||||||
|
|
||||||
|
ENTRYPOINT ["run.sh"]
|
||||||
|
CMD ["/bin/s6-svscan", "/etc/s6.d"]
|
44
unmaintained/ghost/README.md
Normal file
44
unmaintained/ghost/README.md
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
## wonderfall/ghost
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
**Breaking changes if you're upgrading from 0.x. Please export your current data, and import them again in a new 1.x blog. You also have to move your images to the new volume if you want to keep them. Disqus is also not supported, please move to Isso, a much better comments system. Sorry for the mess!**
|
||||||
|
|
||||||
|
#### What is this? What features?
|
||||||
|
- A **simple** Ghost CMS build made for production.
|
||||||
|
- Based on Alpine Linux so it's lightweight!
|
||||||
|
- Bundled with latest node.js available (version check is disabled).
|
||||||
|
- Offers Isso integration.
|
||||||
|
|
||||||
|
#### Build-time variables
|
||||||
|
- **VERSION** : version of Ghost.
|
||||||
|
|
||||||
|
#### Environment variables
|
||||||
|
- **GID** : ghost user id *(default : 991)*
|
||||||
|
- **UID** : ghost group id *(default : 991)*
|
||||||
|
- **ADDRESS** : your domain (with *http(s)://*) *(default : https://my-ghost-blog.com)*
|
||||||
|
- **ENABLE_ISSO** : enables Isso support if set to *True* *(default : False)*
|
||||||
|
- **ISSO_HOST**, **ISSO_AVATAR**, **ISSO_VOTE** : Isso settings (*True* or *False*)
|
||||||
|
|
||||||
|
#### Volumes
|
||||||
|
- **/ghost/content** : contents of your blog
|
||||||
|
|
||||||
|
### Ports
|
||||||
|
- **2368** [(reverse proxy!)](https://github.com/hardware/mailserver/wiki/Reverse-proxy-configuration)
|
||||||
|
|
||||||
|
### How to configure?
|
||||||
|
Everything you need is in `/ghost/content/ghost.conf` (also mounted on your host...).
|
||||||
|
|
||||||
|
### docker-compose.yml sample
|
||||||
|
|
||||||
|
```
|
||||||
|
ghost-myblog:
|
||||||
|
image: wonderfall/ghost:1
|
||||||
|
container_name: ghost-myblog
|
||||||
|
environment:
|
||||||
|
- UID=8100
|
||||||
|
- GID=8100
|
||||||
|
- ADDRESS=https://myblog.com
|
||||||
|
volumes:
|
||||||
|
- /mnt/docker/myblog:/ghost/content
|
||||||
|
```
|
2
unmaintained/ghost/rootfs/etc/s6.d/.s6-svscan/finish
Normal file
2
unmaintained/ghost/rootfs/etc/s6.d/.s6-svscan/finish
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
exit 0
|
5
unmaintained/ghost/rootfs/etc/s6.d/ghost/run
Normal file
5
unmaintained/ghost/rootfs/etc/s6.d/ghost/run
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
cd /ghost
|
||||||
|
NODE_ENV=development node_modules/.bin/knex-migrator init
|
||||||
|
NODE_ENV=development node_modules/.bin/knex-migrator migrate
|
||||||
|
exec npm start
|
47
unmaintained/ghost/rootfs/usr/local/bin/run.sh
Normal file
47
unmaintained/ghost/rootfs/usr/local/bin/run.sh
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
echo
|
||||||
|
echo ">>> wonderfall/ghost container <<<"
|
||||||
|
echo
|
||||||
|
|
||||||
|
echo "> Initializing content folder..."
|
||||||
|
cd content
|
||||||
|
mkdir apps data images themes logs adapters &>/dev/null
|
||||||
|
rm -rf /ghost/content/themes/casper &>/dev/null
|
||||||
|
cp -r /ghost/casper themes/casper &>/dev/null
|
||||||
|
cd /ghost
|
||||||
|
|
||||||
|
if [ ! -f /ghost/content/ghost.conf ]; then
|
||||||
|
echo
|
||||||
|
echo "INFO : No configuration file was provided, an example will be used"
|
||||||
|
echo " You can access and modify it in the volume you mounted"
|
||||||
|
echo " Restart in order to apply your changes!"
|
||||||
|
echo
|
||||||
|
mv /usr/local/etc/ghost.example.conf /ghost/content/ghost.conf
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -f /ghost/config.production.json ]; then
|
||||||
|
ln -s content/ghost.conf config.production.json
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "> Applying preferences..."
|
||||||
|
|
||||||
|
sed -i -e "s|https://my-ghost-blog.com|${ADDRESS}|g" /ghost/content/ghost.conf
|
||||||
|
|
||||||
|
if [ "$ENABLE_ISSO" == "True" ] && ! grep -q 'isso' /ghost/content/themes/casper/post.hbs; then
|
||||||
|
cd /usr/local/etc
|
||||||
|
sed -i -e "/\/author/r isso.conf" /ghost/content/themes/casper/post.hbs
|
||||||
|
sed -i -e '/isso-thread/{n;d}' /ghost/content/themes/casper/post.hbs
|
||||||
|
sed -i -e "s/<HOST>/$ISSO_HOST/g" \
|
||||||
|
-e "s/<AVATAR>/$ISSO_AVATAR/g" \
|
||||||
|
-e "s/<VOTE>/$ISSO_VOTE/g" /ghost/content/themes/casper/post.hbs
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "> Updating permissions..."
|
||||||
|
chown -R ${UID}:${GID} /ghost /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
|
16
unmaintained/ghost/rootfs/usr/local/etc/disqus.conf
Normal file
16
unmaintained/ghost/rootfs/usr/local/etc/disqus.conf
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
|
||||||
|
<div id="disqus_thread"></div>
|
||||||
|
<script type="text/javascript">
|
||||||
|
var disqus_shortname = '<SHORTNAME>';
|
||||||
|
var disqus_identifier = '{{post.id}}';
|
||||||
|
|
||||||
|
/* * * DON'T EDIT BELOW THIS LINE * * */
|
||||||
|
(function() {
|
||||||
|
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
|
||||||
|
dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
|
||||||
|
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
|
||||||
|
})();
|
||||||
|
</script>
|
||||||
|
<noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
|
||||||
|
<a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>
|
||||||
|
|
21
unmaintained/ghost/rootfs/usr/local/etc/ghost.example.conf
Normal file
21
unmaintained/ghost/rootfs/usr/local/etc/ghost.example.conf
Normal file
@ -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"
|
||||||
|
}
|
||||||
|
}
|
7
unmaintained/ghost/rootfs/usr/local/etc/isso.conf
Normal file
7
unmaintained/ghost/rootfs/usr/local/etc/isso.conf
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
</footer>
|
||||||
|
<script data-isso="//<HOST>/"
|
||||||
|
data-isso-avatar="<AVATAR>"
|
||||||
|
data-isso-vote="<VOTE>"
|
||||||
|
src="//<HOST>/js/embed.min.js"></script>
|
||||||
|
|
||||||
|
<section id="isso-thread"></section>
|
47
unmaintained/kippo-graph/Dockerfile
Normal file
47
unmaintained/kippo-graph/Dockerfile
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
FROM alpine:edge
|
||||||
|
|
||||||
|
ENV GID=991 UID=991
|
||||||
|
|
||||||
|
RUN echo "@testing https://nl.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories \
|
||||||
|
&& BUILD_DEPS="tar libressl ca-certificates" \
|
||||||
|
&& apk -U upgrade && apk add \
|
||||||
|
$BUILD_DEPS \
|
||||||
|
nginx \
|
||||||
|
s6 \
|
||||||
|
su-exec \
|
||||||
|
coreutils \
|
||||||
|
bind-tools \
|
||||||
|
php7-fpm@testing \
|
||||||
|
php7-mysqlnd@testing \
|
||||||
|
php7-pdo@testing \
|
||||||
|
php7-pdo_mysql@testing \
|
||||||
|
php7-openssl@testing \
|
||||||
|
php7-gd@testing \
|
||||||
|
php7-curl@testing \
|
||||||
|
php7-phar@testing \
|
||||||
|
php7-dom@testing \
|
||||||
|
&& mkdir kippo-graph && cd kippo-graph \
|
||||||
|
&& wget -qO- https://github.com/ikoniaris/kippo-graph/archive/master.tar.gz | tar xz --strip 1 \
|
||||||
|
&& chmod 777 generated-graphs \
|
||||||
|
&& mv config.php.dist config.php \
|
||||||
|
&& rm /kippo-graph/include/maxmind/GeoLite2-City.mmdb /kippo-graph/include/maxmind/geoip2.phar \
|
||||||
|
&& wget -q https://geolite.maxmind.com/download/geoip/database/GeoLite2-City.mmdb.gz -P /kippo-graph/include/maxmind \
|
||||||
|
&& gzip -d /kippo-graph/include/maxmind/GeoLite2-City.mmdb.gz \
|
||||||
|
&& wget -q https://github.com/maxmind/GeoIP2-php/releases/download/v2.4.5/geoip2.phar -P /kippo-graph/include/maxmind \
|
||||||
|
&& apk del $BUILD_DEPS \
|
||||||
|
&& rm -f /var/cache/apk/*
|
||||||
|
|
||||||
|
COPY nginx.conf /etc/nginx/nginx.conf
|
||||||
|
COPY php-fpm.conf /etc/php7/php-fpm.conf
|
||||||
|
COPY run.sh /usr/local/bin/run.sh
|
||||||
|
COPY s6.d /etc/s6.d
|
||||||
|
|
||||||
|
RUN chmod +x /usr/local/bin/run.sh /etc/s6.d/*/* /etc/s6.d/.s6-svscan/*
|
||||||
|
|
||||||
|
VOLUME /kippo-graph/generated-graphs
|
||||||
|
|
||||||
|
EXPOSE 8888
|
||||||
|
|
||||||
|
LABEL maintainer="Wonderfall <wonderfall@targaryen.house>"
|
||||||
|
|
||||||
|
CMD ["run.sh"]
|
29
unmaintained/kippo-graph/README.md
Normal file
29
unmaintained/kippo-graph/README.md
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
### wonderfall/kippo-graph
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
#### What is this?
|
||||||
|
Kippo-Graph is a full featured script to visualize statistics for a Kippo based SSH honeypot.
|
||||||
|
|
||||||
|
#### Environment variables
|
||||||
|
- **UID** *(default : 991)*
|
||||||
|
- **GID** *(default : 991)*
|
||||||
|
|
||||||
|
#### How to configure
|
||||||
|
You should provide your own configuration file from this base : https://github.com/ikoniaris/kippo-graph/blob/master/config.php.dist
|
||||||
|
You can mount this single file to your Docker container.
|
||||||
|
|
||||||
|
#### Docker compose (example)
|
||||||
|
```
|
||||||
|
kippo-graph:
|
||||||
|
image: wonderfall/kippo-graph
|
||||||
|
links:
|
||||||
|
- cowrie-db:cowrie-db
|
||||||
|
volumes:
|
||||||
|
- /mnt/kippo-graph/config.php:/kippo-graph/config.php
|
||||||
|
- /mnt/cowrie/log:/opt/cowrie/log
|
||||||
|
environment:
|
||||||
|
- GID=991
|
||||||
|
- UID=991
|
||||||
|
```
|
||||||
|
|
84
unmaintained/kippo-graph/nginx.conf
Normal file
84
unmaintained/kippo-graph/nginx.conf
Normal file
@ -0,0 +1,84 @@
|
|||||||
|
worker_processes auto;
|
||||||
|
pid /tmp/nginx.pid;
|
||||||
|
daemon off;
|
||||||
|
|
||||||
|
events {
|
||||||
|
worker_connections 1024;
|
||||||
|
use epoll;
|
||||||
|
}
|
||||||
|
|
||||||
|
http {
|
||||||
|
include /etc/nginx/mime.types;
|
||||||
|
default_type application/octet-stream;
|
||||||
|
|
||||||
|
access_log off;
|
||||||
|
error_log /tmp/ngx_error.log error;
|
||||||
|
|
||||||
|
sendfile on;
|
||||||
|
keepalive_timeout 15;
|
||||||
|
keepalive_disable msie6;
|
||||||
|
keepalive_requests 100;
|
||||||
|
tcp_nopush on;
|
||||||
|
tcp_nodelay on;
|
||||||
|
server_tokens off;
|
||||||
|
|
||||||
|
fastcgi_temp_path /tmp/fastcgi 1 2;
|
||||||
|
client_body_temp_path /tmp/client_body 1 2;
|
||||||
|
proxy_temp_path /tmp/proxy 1 2;
|
||||||
|
uwsgi_temp_path /tmp/uwsgi 1 2;
|
||||||
|
scgi_temp_path /tmp/scgi 1 2;
|
||||||
|
|
||||||
|
gzip on;
|
||||||
|
gzip_comp_level 5;
|
||||||
|
gzip_min_length 512;
|
||||||
|
gzip_buffers 4 8k;
|
||||||
|
gzip_proxied any;
|
||||||
|
gzip_vary on;
|
||||||
|
gzip_disable "msie6";
|
||||||
|
gzip_types
|
||||||
|
text/css
|
||||||
|
text/javascript
|
||||||
|
text/xml
|
||||||
|
text/plain
|
||||||
|
text/x-component
|
||||||
|
application/javascript
|
||||||
|
application/x-javascript
|
||||||
|
application/json
|
||||||
|
application/xml
|
||||||
|
application/rss+xml
|
||||||
|
application/vnd.ms-fontobject
|
||||||
|
font/truetype
|
||||||
|
font/opentype
|
||||||
|
image/svg+xml;
|
||||||
|
|
||||||
|
server {
|
||||||
|
listen 8888;
|
||||||
|
root /kippo-graph;
|
||||||
|
index index.php index.html;
|
||||||
|
|
||||||
|
location ~ ^/(data|cfg|tmp) {
|
||||||
|
deny all;
|
||||||
|
}
|
||||||
|
|
||||||
|
location ~* /(.*)\.(?:markdown|md|twig|yaml|yml|ht|htaccess|ini)$ {
|
||||||
|
deny all;
|
||||||
|
}
|
||||||
|
|
||||||
|
location ~ /\. {
|
||||||
|
deny all;
|
||||||
|
}
|
||||||
|
|
||||||
|
location / {
|
||||||
|
try_files $uri $uri/ /index.php;
|
||||||
|
}
|
||||||
|
|
||||||
|
location ~ \.php$ {
|
||||||
|
fastcgi_index index.php;
|
||||||
|
fastcgi_pass unix:/tmp/php-fpm.sock;
|
||||||
|
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
||||||
|
include /etc/nginx/fastcgi_params;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
11
unmaintained/kippo-graph/php-fpm.conf
Normal file
11
unmaintained/kippo-graph/php-fpm.conf
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
[global]
|
||||||
|
daemonize = no
|
||||||
|
|
||||||
|
[www]
|
||||||
|
listen = /tmp/php-fpm.sock
|
||||||
|
pm = dynamic
|
||||||
|
pm.max_children = 5
|
||||||
|
pm.start_servers = 2
|
||||||
|
pm.min_spare_servers = 1
|
||||||
|
pm.max_spare_servers = 3
|
||||||
|
chdir = /
|
3
unmaintained/kippo-graph/run.sh
Normal file
3
unmaintained/kippo-graph/run.sh
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
chown -R $UID:$GID /kippo-graph /etc/nginx /etc/php7 /var/log /var/lib/nginx /tmp /etc/s6.d
|
||||||
|
exec su-exec $UID:$GID /bin/s6-svscan /etc/s6.d
|
3
unmaintained/kippo-graph/s6.d/.s6-svscan/finish
Normal file
3
unmaintained/kippo-graph/s6.d/.s6-svscan/finish
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
exit 0
|
2
unmaintained/kippo-graph/s6.d/nginx/run
Normal file
2
unmaintained/kippo-graph/s6.d/nginx/run
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
exec nginx
|
2
unmaintained/kippo-graph/s6.d/php/run
Normal file
2
unmaintained/kippo-graph/s6.d/php/run
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
exec php-fpm7
|
38
unmaintained/mediawiki/Dockerfile
Normal file
38
unmaintained/mediawiki/Dockerfile
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
FROM wonderfall/nginx-php:7.1
|
||||||
|
|
||||||
|
ARG MEDIAWIKI_VER=1.29
|
||||||
|
ARG SUB_VERSION=1
|
||||||
|
|
||||||
|
ENV UID=991 GID=991 \
|
||||||
|
UPLOAD_MAX_SIZE=10M \
|
||||||
|
MEMORY_LIMIT=128M
|
||||||
|
|
||||||
|
RUN apk -U add \
|
||||||
|
tar \
|
||||||
|
libressl \
|
||||||
|
ca-certificates \
|
||||||
|
git \
|
||||||
|
lua \
|
||||||
|
coreutils \
|
||||||
|
diffutils \
|
||||||
|
build-base \
|
||||||
|
autoconf \
|
||||||
|
&& pecl install apcu \
|
||||||
|
&& mkdir mediawiki && cd mediawiki \
|
||||||
|
&& wget -qO- https://releases.wikimedia.org/mediawiki/${MEDIAWIKI_VER}/mediawiki-${MEDIAWIKI_VER}.${SUB_VERSION}.tar.gz | tar xz --strip 1 \
|
||||||
|
&& apk del build-base autoconf \
|
||||||
|
&& rm -rf /var/cache/apk/*
|
||||||
|
|
||||||
|
COPY rootfs /
|
||||||
|
|
||||||
|
RUN chmod +x /usr/local/bin/run.sh /etc/s6.d/*/* /etc/s6.d/.s6-svscan/*
|
||||||
|
|
||||||
|
VOLUME /config /skins /extensions /mediawiki/images /php/session
|
||||||
|
|
||||||
|
EXPOSE 8888
|
||||||
|
|
||||||
|
LABEL maintainer="Wonderfall <wonderfall@targaryen.house>" \
|
||||||
|
description="MediaWiki is a free software open source wiki package written in PHP" \
|
||||||
|
version="MediaWiki ${MEDIAWIKI_VER}.${SUB_VERSION}"
|
||||||
|
|
||||||
|
CMD ["run.sh"]
|
69
unmaintained/mediawiki/README.md
Normal file
69
unmaintained/mediawiki/README.md
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
## wonderfall/mediawiki
|
||||||
|
|
||||||
|
Host your own Wiki!
|
||||||
|
|
||||||
|
#### Features
|
||||||
|
- Based on Alpine Linux (wonderfall/nginx-php image)
|
||||||
|
- Bundled with nginx and PHP7.1.
|
||||||
|
|
||||||
|
#### Build-time variables
|
||||||
|
- **MEDIAWIKI_VER** : Mediawiki version
|
||||||
|
- **SUB_VERSION** : Mediawiki subversion
|
||||||
|
|
||||||
|
#### Environment variables
|
||||||
|
- **UID** : privatebin user id
|
||||||
|
- **GID** : privatebin group id
|
||||||
|
- **MEMORY_LIMIT** : php memorny limit *(default : 128M)*
|
||||||
|
- **UPLOAD_MAX_SIZE** : maximum upload size *(default : 10M)*
|
||||||
|
|
||||||
|
#### Volumes
|
||||||
|
- /mediawiki/images
|
||||||
|
- /extensions
|
||||||
|
- /skins
|
||||||
|
- /config
|
||||||
|
- /mediawiki/custom
|
||||||
|
|
||||||
|
#### Ports
|
||||||
|
- **8888** [(reverse proxy!)](https://github.com/hardware/mailserver/wiki/Reverse-proxy-configuration)
|
||||||
|
|
||||||
|
#### docker-compose.yml sample
|
||||||
|
|
||||||
|
```
|
||||||
|
mywiki:
|
||||||
|
image: wonderfall/mediawiki
|
||||||
|
container_name: mywiki
|
||||||
|
links:
|
||||||
|
- mywiki-db:mywiki-db
|
||||||
|
- mywiki-parsoid:mywiki-parsoid
|
||||||
|
environment:
|
||||||
|
- UPLOAD_MAX_SIZE=20M
|
||||||
|
- MEMORY_LIMIT=512M
|
||||||
|
- UID=1668
|
||||||
|
- GID=1668
|
||||||
|
volumes:
|
||||||
|
- /mnt/mywiki/images:/mediawiki/images
|
||||||
|
- /mnt/mywiki/extensions:/extensions
|
||||||
|
- /mnt/mywiki/skins:/skins
|
||||||
|
- /mnt/mywiki/config:/config
|
||||||
|
- /mnt/mywiki/custom:/mediawiki/custom
|
||||||
|
|
||||||
|
mywiki-db:
|
||||||
|
image: mariadb:10.1
|
||||||
|
container_name: mywiki-db
|
||||||
|
volumes:
|
||||||
|
- /mnt/mywiki/db:/var/lib/mysql
|
||||||
|
environment:
|
||||||
|
- MYSQL_ROOT_PASSWORD=supersecret
|
||||||
|
- MYSQL_DATABASE=mywiki
|
||||||
|
- MYSQL_USER=mywiki
|
||||||
|
- MYSQL_PASSWORD=supersecret
|
||||||
|
|
||||||
|
mywiki-parsoid:
|
||||||
|
image: wonderfall/parsoid
|
||||||
|
container_name: mywiki-parsoid
|
||||||
|
environment:
|
||||||
|
- UID=1669
|
||||||
|
- GID=1669
|
||||||
|
- ADDRESS=https://wiki.domain.com/
|
||||||
|
- DOMAIN=mywiki-parsoid
|
||||||
|
```
|
43
unmaintained/mediawiki/rootfs/nginx/sites-enabled/nginx.conf
Normal file
43
unmaintained/mediawiki/rootfs/nginx/sites-enabled/nginx.conf
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
server {
|
||||||
|
listen 8888;
|
||||||
|
root /mediawiki;
|
||||||
|
index index.php index.html;
|
||||||
|
|
||||||
|
client_body_timeout 60;
|
||||||
|
|
||||||
|
location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
|
||||||
|
try_files $uri /index.php;
|
||||||
|
expires max;
|
||||||
|
log_not_found off;
|
||||||
|
}
|
||||||
|
|
||||||
|
location ^~ /cache/ {
|
||||||
|
deny all;
|
||||||
|
}
|
||||||
|
|
||||||
|
location /dumps {
|
||||||
|
root /mediawiki/local;
|
||||||
|
}
|
||||||
|
|
||||||
|
location / {
|
||||||
|
try_files $uri $uri/ @rewrite;
|
||||||
|
}
|
||||||
|
|
||||||
|
location @rewrite {
|
||||||
|
rewrite ^/(.*)$ /index.php;
|
||||||
|
}
|
||||||
|
|
||||||
|
location ^~ /maintenance/ {
|
||||||
|
return 403;
|
||||||
|
}
|
||||||
|
|
||||||
|
location ^~ /images/ {}
|
||||||
|
|
||||||
|
location ~ \.php$ {
|
||||||
|
fastcgi_index index.php;
|
||||||
|
fastcgi_pass unix:/php/run/php-fpm.sock;
|
||||||
|
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
||||||
|
include /nginx/conf/fastcgi_params;
|
||||||
|
try_files $uri @rewrite;
|
||||||
|
}
|
||||||
|
}
|
4
unmaintained/mediawiki/rootfs/php/conf.d/apcu.ini
Normal file
4
unmaintained/mediawiki/rootfs/php/conf.d/apcu.ini
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
extension=apcu.so
|
||||||
|
apc.enabled=1
|
||||||
|
apc.shm_size=<APC_SHM_SIZE>
|
||||||
|
apc.ttl=7200
|
15
unmaintained/mediawiki/rootfs/usr/local/bin/run.sh
Normal file
15
unmaintained/mediawiki/rootfs/usr/local/bin/run.sh
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
sed -i -e "s/<UPLOAD_MAX_SIZE>/$UPLOAD_MAX_SIZE/g" /nginx/conf/nginx.conf /php/etc/php-fpm.conf \
|
||||||
|
-e "s/<MEMORY_LIMIT>/$MEMORY_LIMIT/g" /php/etc/php-fpm.conf \
|
||||||
|
-e "s/<APC_SHM_SIZE>/$APC_SHM_SIZE/g" /php/conf.d/apcu.ini
|
||||||
|
|
||||||
|
chown -R $UID:$GID /mediawiki /nginx /php /tmp /etc/s6.d
|
||||||
|
|
||||||
|
if [ -f /config/LocalSettings.php ] && [ ! -f /mediawiki/LocalSettings.php ]; then
|
||||||
|
ln -s /config/LocalSettings.php /mediawiki/LocalSettings.php
|
||||||
|
fi
|
||||||
|
|
||||||
|
cp -r /skins/* /mediawiki/skins/
|
||||||
|
cp -r /extensions/* /mediawiki/extensions/
|
||||||
|
|
||||||
|
exec su-exec $UID:$GID /bin/s6-svscan /etc/s6.d
|
28
unmaintained/parsoid/Dockerfile
Normal file
28
unmaintained/parsoid/Dockerfile
Normal file
@ -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"]
|
28
unmaintained/parsoid/README.md
Normal file
28
unmaintained/parsoid/README.md
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
## wonderfall/parsoid
|
||||||
|
|
||||||
|
#### What is this? What features?
|
||||||
|
- A **simple** Parsoid image.
|
||||||
|
- Based on Alpine Linux so it's lightweight!
|
||||||
|
- Bundled with latest node.js available (version check is disabled).
|
||||||
|
|
||||||
|
#### Build-time variables
|
||||||
|
- **VERSION** : version of Ghost.
|
||||||
|
|
||||||
|
#### Environment variables
|
||||||
|
- **GID** : ghost user id *(default : 991)*
|
||||||
|
- **UID** : ghost group id *(default : 991)*
|
||||||
|
- **ADDRESS** : your address *(default : http://localhost/w/)*
|
||||||
|
- **DOMAIN** : name of the container *(default : localhost)*
|
||||||
|
|
||||||
|
### docker-compose.yml sample
|
||||||
|
|
||||||
|
```
|
||||||
|
mywiki-parsoid:
|
||||||
|
image: wonderfall/parsoid
|
||||||
|
container_name: mywiki-parsoid
|
||||||
|
environment:
|
||||||
|
- UID=1669
|
||||||
|
- GID=1669
|
||||||
|
- ADDRESS=https://wiki.domain.com/
|
||||||
|
- DOMAIN=mywiki-parsoid
|
||||||
|
```
|
2
unmaintained/parsoid/rootfs/etc/s6.d/.s6-svscan/finish
Normal file
2
unmaintained/parsoid/rootfs/etc/s6.d/.s6-svscan/finish
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
exit 0
|
3
unmaintained/parsoid/rootfs/etc/s6.d/parsoid/run
Normal file
3
unmaintained/parsoid/rootfs/etc/s6.d/parsoid/run
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
cd /parsoid
|
||||||
|
exec node bin/server.js
|
19
unmaintained/parsoid/rootfs/usr/local/bin/run.sh
Normal file
19
unmaintained/parsoid/rootfs/usr/local/bin/run.sh
Normal file
@ -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
|
16
unmaintained/parsoid/rootfs/usr/local/etc/disqus.conf
Normal file
16
unmaintained/parsoid/rootfs/usr/local/etc/disqus.conf
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
|
||||||
|
<div id="disqus_thread"></div>
|
||||||
|
<script type="text/javascript">
|
||||||
|
var disqus_shortname = '<SHORTNAME>';
|
||||||
|
var disqus_identifier = '{{post.id}}';
|
||||||
|
|
||||||
|
/* * * DON'T EDIT BELOW THIS LINE * * */
|
||||||
|
(function() {
|
||||||
|
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
|
||||||
|
dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
|
||||||
|
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
|
||||||
|
})();
|
||||||
|
</script>
|
||||||
|
<noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
|
||||||
|
<a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>
|
||||||
|
|
21
unmaintained/parsoid/rootfs/usr/local/etc/ghost.example.conf
Normal file
21
unmaintained/parsoid/rootfs/usr/local/etc/ghost.example.conf
Normal file
@ -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"
|
||||||
|
}
|
||||||
|
}
|
7
unmaintained/parsoid/rootfs/usr/local/etc/isso.conf
Normal file
7
unmaintained/parsoid/rootfs/usr/local/etc/isso.conf
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
</footer>
|
||||||
|
<script data-isso="//<HOST>/"
|
||||||
|
data-isso-avatar="<AVATAR>"
|
||||||
|
data-isso-vote="<VOTE>"
|
||||||
|
src="//<HOST>/js/embed.min.js"></script>
|
||||||
|
|
||||||
|
<section id="isso-thread"></section>
|
16
unmaintained/pgbouncer/Dockerfile
Normal file
16
unmaintained/pgbouncer/Dockerfile
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
FROM alpine:3.6
|
||||||
|
|
||||||
|
ENV UID=991 GID=991
|
||||||
|
|
||||||
|
RUN apk -U --no-cache add \
|
||||||
|
pgbouncer \
|
||||||
|
tini \
|
||||||
|
su-exec
|
||||||
|
|
||||||
|
COPY run.sh /usr/local/bin/run.sh
|
||||||
|
|
||||||
|
RUN chmod +x /usr/local/bin/run.sh
|
||||||
|
|
||||||
|
VOLUME /etc/pgbouncer
|
||||||
|
|
||||||
|
CMD ["run.sh"]
|
10
unmaintained/pgbouncer/README.md
Normal file
10
unmaintained/pgbouncer/README.md
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
## wonderfall/pgbouncer
|
||||||
|
|
||||||
|
Minimal image for [PgBouncer](https://pgbouncer.github.io/).
|
||||||
|
|
||||||
|
### Volumes
|
||||||
|
- /etc/pgbouncer
|
||||||
|
|
||||||
|
### Environment variables
|
||||||
|
- **GID** : user id *(default : 991)*
|
||||||
|
- **UID** : group id *(default : 991)*
|
4
unmaintained/pgbouncer/run.sh
Normal file
4
unmaintained/pgbouncer/run.sh
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
mkdir /run/pgbouncer
|
||||||
|
chown -R $UID:$GID /etc/pgbouncer /var/log/pgbouncer /run/pgbouncer
|
||||||
|
exec su-exec $UID:$GID /sbin/tini -- pgbouncer /etc/pgbouncer/pgbouncer.ini
|
Loading…
x
Reference in New Issue
Block a user