├── .gitattributes
├── Asset-UPNP
└── Dockerfile
├── Beardrage
├── Dockerfile
├── README.md
├── edge.sh
└── sickbeard.sh
├── ComicStreamer
├── Dockerfile
├── comicstreamer.sh
└── firstrun.sh
├── FoldingAtHome
├── Dockerfile
├── FAHClient-run.sh
├── config.xml
└── firstrun.sh
├── Myyna
├── Dockerfile
└── src
│ ├── firstrun.sh
│ ├── mongo.sh
│ └── myyna.sh
├── README.md
├── Sickbeard
├── Dockerfile
├── README.md
├── edge.sh
└── sickbeard.sh
├── acestream
├── Dockerfile
└── src
│ ├── start.sh
│ └── supervisord.conf
├── amule-fpm
├── Dockerfile
├── amule.conf
├── amule.sh
├── amule.tar.gz
├── debout.sh
├── firstrun.sh
└── remote.conf
├── amule
├── Dockerfile
└── src
│ ├── amule.deb
│ ├── amule.sh
│ ├── conf
│ ├── amule.conf
│ ├── nodes.dat
│ └── remote.conf
│ └── supervisord.conf
├── baikal
├── Dockerfile
└── src
│ ├── apache-config.conf
│ ├── apache.sh
│ └── firstrun.sh
├── bright-game
├── Dockerfile
└── src
│ ├── apache-config.conf
│ ├── apache.sh
│ ├── cronjob
│ └── firstrun.sh
├── calibre-desk
├── Dockerfile
└── src
│ ├── 00_config.sh
│ ├── Xvfb
│ ├── autostart
│ ├── noVNC.sh
│ ├── noVNC
│ ├── .gitignore
│ ├── .gitmodules
│ ├── .travis.yml
│ ├── CONTRIBUTING.md
│ ├── LICENSE.txt
│ ├── README.md
│ ├── debian
│ │ ├── changelog
│ │ ├── compat
│ │ ├── control
│ │ ├── copyright
│ │ ├── novnc.install
│ │ └── rules
│ ├── docs
│ │ ├── LICENSE.Apache-2.0
│ │ ├── LICENSE.BSD-2-Clause
│ │ ├── LICENSE.BSD-3-Clause
│ │ ├── LICENSE.GPL-3
│ │ ├── LICENSE.LGPL-3
│ │ ├── LICENSE.MPL-2.0
│ │ ├── LICENSE.OFL-1.1
│ │ ├── LICENSE.zlib
│ │ ├── VERSION
│ │ ├── flash_policy.txt
│ │ ├── links
│ │ ├── notes
│ │ ├── packaging.txt
│ │ ├── release.txt
│ │ ├── rfb_notes
│ │ ├── rfbproto-3.3.pdf
│ │ ├── rfbproto-3.7.pdf
│ │ └── rfbproto-3.8.pdf
│ ├── favicon.ico
│ ├── images
│ │ ├── alt.png
│ │ ├── clipboard.png
│ │ ├── connect.png
│ │ ├── ctrl.png
│ │ ├── ctrlaltdel.png
│ │ ├── disconnect.png
│ │ ├── drag.png
│ │ ├── esc.png
│ │ ├── favicon.ico
│ │ ├── favicon.png
│ │ ├── keyboard.png
│ │ ├── mouse_left.png
│ │ ├── mouse_middle.png
│ │ ├── mouse_none.png
│ │ ├── mouse_right.png
│ │ ├── power.png
│ │ ├── screen_320x460.png
│ │ ├── screen_57x57.png
│ │ ├── screen_700x700.png
│ │ ├── settings.png
│ │ ├── showextrakeys.png
│ │ └── tab.png
│ ├── include
│ │ ├── Orbitron700.ttf
│ │ ├── Orbitron700.woff
│ │ ├── base.css
│ │ ├── base64.js
│ │ ├── black.css
│ │ ├── blue.css
│ │ ├── chrome-app
│ │ │ └── tcp-client.js
│ │ ├── des.js
│ │ ├── display.js
│ │ ├── input.js
│ │ ├── jsunzip.js
│ │ ├── keyboard.js
│ │ ├── keysym.js
│ │ ├── keysymdef.js
│ │ ├── logo.js
│ │ ├── playback.js
│ │ ├── rfb.js
│ │ ├── ui.js
│ │ ├── util.js
│ │ ├── web-socket-js
│ │ │ ├── README.txt
│ │ │ ├── WebSocketMain.swf
│ │ │ ├── swfobject.js
│ │ │ └── web_socket.js
│ │ ├── websock.js
│ │ └── webutil.js
│ ├── index.html
│ ├── karma.conf.js
│ ├── package.json
│ ├── tests
│ │ ├── arrays.html
│ │ ├── arrays.js
│ │ ├── assertions.js
│ │ ├── base64.html
│ │ ├── base64.js
│ │ ├── browser.js
│ │ ├── canvas.html
│ │ ├── cursor.html
│ │ ├── face.png
│ │ ├── face.png.js
│ │ ├── fake.websocket.js
│ │ ├── input.html
│ │ ├── keyboard-tests.html
│ │ ├── run_from_console.casper.js
│ │ ├── run_from_console.js
│ │ ├── run_from_console.zombie.js
│ │ ├── stats.js
│ │ ├── test.base64.js
│ │ ├── test.display.js
│ │ ├── test.helper.js
│ │ ├── test.keyboard.js
│ │ ├── test.rfb.js
│ │ ├── test.util.js
│ │ ├── test.websock.js
│ │ ├── viewport.css
│ │ ├── viewport.html
│ │ ├── vnc_perf.html
│ │ └── vnc_playback.html
│ ├── utils
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── img2js.py
│ │ ├── json2graph.py
│ │ ├── launch.sh
│ │ ├── nova-novncproxy
│ │ ├── parse.js
│ │ ├── rebind
│ │ ├── rebind.c
│ │ ├── u2x11
│ │ ├── web.py
│ │ ├── websocket.py
│ │ ├── websockify
│ │ ├── websockify.py
│ │ └── wsproxy.py
│ ├── vnc.html
│ └── vnc_auto.html
│ ├── rc.xml
│ ├── x11vnc
│ ├── xrdp
│ ├── xrdp-sesman
│ └── xrdp.ini
├── couchpotato
├── Dockerfile
├── README.md
├── couchpotato.sh
└── edge.sh
├── cyca
├── Dockerfile
└── src
│ ├── apache-config.conf
│ ├── apache.sh
│ ├── cronjob
│ └── firstrun.sh
├── daapd-server
├── Dockerfile
└── src
│ ├── Makefile.am
│ ├── Makefile.in
│ ├── config-files
│ ├── avahi-daemon.conf
│ ├── forked-daapd.conf
│ └── supervisord.conf
│ ├── excludes
│ └── my_init.d
│ ├── 001-fix-the-time.sh
│ ├── 002-set-config-files.sh
│ └── 003-bring-up-the-app.sh
├── deluge
├── Dockerfile
├── init
│ ├── 10_set_perms.sh
│ └── 20_apt_update.sh
├── services
│ ├── deluge-web
│ │ └── run
│ └── deluge
│ │ └── run
└── sources.list
├── dokuwiki
├── Dockerfile
└── src
│ ├── 001-fix-the-time.sh
│ ├── 002-copy-files.sh
│ ├── apache-config.conf
│ └── apache.sh
├── fpm-packager
├── Dockerfile
├── src
│ └── 5071.patch
└── startup
│ └── movedeb.sh
├── freshrss
├── Dockerfile
└── src
│ ├── apache-config.conf
│ ├── apache.sh
│ ├── cronjob
│ └── firstrun.sh
├── gerrit
├── Dockerfile
├── LICENSE
├── README.md
└── src
│ ├── firstrun.sh
│ ├── gerrit.config
│ └── supervisord.conf
├── headless-kodi-helix-yatse
├── Dockerfile
└── src
│ ├── advancedsettings.xml
│ ├── firstrun.sh
│ ├── headless.patch
│ └── kodi.sh
├── headless-kodi-helix
├── .gitattributes
├── Dockerfile
├── README.md
└── src
│ ├── advancedsettings.xml
│ ├── excludes
│ ├── firstrun.sh
│ ├── headless.patch
│ └── kodi.sh
├── headless-kodi-isengard-yatse
├── Dockerfile
└── src
│ ├── advancedsettings.xml
│ ├── firstrun.sh
│ ├── headless.patch
│ └── kodi.sh
├── headless-kodi-isengard
├── .gitattributes
├── Dockerfile
├── README.md
└── src
│ ├── advancedsettings.xml
│ ├── excludes
│ ├── firstrun.sh
│ ├── headless.patch
│ └── kodi.sh
├── headphones
├── Dockerfile
├── README.md
├── edge.sh
└── headphones.sh
├── htpcmanager
├── Dockerfile
├── edge.sh
└── htpcmanager.sh
├── hublin
├── Dockerfile
└── src
│ ├── default.json
│ ├── start.sh
│ └── supervisord.conf
├── jirafeau
├── Dockerfile
└── src
│ ├── apache-config.conf
│ ├── apache.sh
│ └── firstrun.sh
├── kodi-deb-install
├── Dockerfile
└── src
│ ├── advancedsettings.xml
│ ├── firstrun.sh
│ └── kodi.sh
├── kodi-debian-install
├── Dockerfile
└── src
│ └── kodi-headless-debian_0.0.1_amd64.deb
├── kodi-isengard-headless-deb
├── Dockerfile
└── src
│ ├── advancedsettings.xml
│ ├── firstrun.sh
│ ├── kodi-headless_15_amd64.deb
│ └── kodi.sh
├── koma-isengard
├── .gitattributes
├── Dockerfile
├── README.md
└── src
│ ├── 001-fix-the-time.sh
│ ├── advancedsettings.xml
│ ├── createdatabase
│ ├── createuser
│ ├── excludes
│ ├── headless.patch
│ ├── kodi.sh
│ ├── mariadb.sh
│ └── media-firstrun.sh
├── koma
├── .gitattributes
├── Dockerfile
├── README.md
└── src
│ ├── 5071.patch
│ ├── advancedsettings.xml
│ ├── createdatabase
│ ├── createuser
│ ├── excludes
│ ├── kodi.sh
│ ├── mariadb.sh
│ └── media-firstrun.sh
├── logstash-pfsense
├── Dockerfile
└── src
│ ├── apache-config.conf
│ ├── apache.sh
│ ├── dashboards
│ └── default.json
│ ├── elasticsearch.sh
│ ├── firstrun.sh
│ ├── logstash-conf
│ ├── 01-inputs.conf
│ ├── 10-syslog.conf
│ ├── 11-pfsense.conf
│ ├── 30-outputs.conf
│ └── patterns
│ │ └── pfsense2-2.grok
│ └── logstash.sh
├── lychee
├── Dockerfile
└── src
│ ├── apache-config.conf
│ ├── apache.sh
│ └── firstrun.sh
├── magpie
├── Dockerfile
└── src
│ ├── firstrun.sh
│ ├── magpie.sh
│ └── web.cfg
├── mariadb-mywebsql
├── Dockerfile
└── src
│ ├── 001-set-the-time.sh
│ ├── 002-set-the-website.sh
│ ├── 003-set-the-dbconfig.sh
│ ├── apache-config.conf
│ ├── apache.sh
│ ├── excludes
│ └── mariadb.sh
├── mariadb
├── Dockerfile
├── README.md
└── src
│ ├── firstrun.sh
│ ├── inotify.sh
│ ├── mariadb.sh
│ └── runsql-script
├── minetest
├── Dockerfile
└── src
│ ├── init
│ ├── 001-fix-the-time.sh
│ ├── 002-set-config-files.sh
│ └── 003-define-world--and-start.sh
│ └── minetest.conf
├── musicbrainz-carton
├── Dockerfile
└── src
│ ├── DBDefs.pm
│ ├── cpanfile
│ ├── install.sh
│ └── updatedb.sh
├── musicbrainz
├── Dockerfile
└── src
│ ├── DBDefs.pm
│ └── install.sh
├── mythtv
├── Dockerfile
└── src
│ ├── 000-default-mythbuntu.conf
│ ├── 001-fix-the-time.sh
│ ├── 002-fix-the-config-etc.sh
│ ├── 003-bring-up-the-database.sh
│ ├── 004-bring-up-rdp.sh
│ ├── 005-bring-up-the-backend.sh
│ ├── 006-bring-up-mythweb.sh
│ ├── Kill-Mythtv-Backend.desktop
│ ├── bomb.png
│ ├── config.xml
│ ├── my.cnf
│ ├── mythtv-setup.desktop
│ ├── mythweb.conf
│ ├── ports.conf
│ ├── supervisor-files
│ ├── db-supervisord.conf
│ └── rdp-supervisord.conf
│ └── xrdp.ini
├── mywebsql
├── Dockerfile
└── src
│ ├── apache-config.conf
│ ├── apache.sh
│ └── firstrun.sh
├── nagios
└── Dockerfile
├── nzbmegasearch
├── Dockerfile
└── src
│ └── install.sh
├── pacs
├── Dockerfile
├── LICENSE
├── Original-License
├── README.md
└── src
│ ├── create.mysql
│ ├── databases.sql
│ ├── dcm4chee-arr-mysql.ddl
│ ├── firstrun.sh
│ ├── get.list
│ ├── makedb.sh
│ ├── my.cnf
│ └── supervisord.conf
├── photoshow
├── Dockerfile
└── src
│ └── install.sh
├── pints
├── Dockerfile
└── src
│ ├── apache-config.conf
│ ├── apache.sh
│ ├── firstrun.sh
│ └── mariadb.sh
├── piwigo
├── Dockerfile
└── src
│ ├── apache-config.conf
│ ├── apache.sh
│ └── firstrun.sh
├── pydio-original-no-ssl
├── Dockerfile
└── src
│ ├── apache-config.conf
│ ├── apache.sh
│ ├── firstrun.sh
│ ├── php.ini
│ └── ssmtp.conf
├── pydio
├── Dockerfile
└── src
│ ├── apache-config.conf
│ ├── apache.sh
│ ├── firstrun.sh
│ ├── php.ini
│ ├── ports.conf
│ └── ssmtp.conf
├── pynab
├── Dockerfile
└── src
│ ├── 001-pynab
│ ├── config-files
│ ├── config.js
│ ├── config.py
│ └── groups.json
│ ├── install.py
│ ├── json-parser
│ ├── json.license
│ └── json.sh
│ ├── pynab.ini
│ ├── startup-files
│ ├── 001-fix-the-time.sh
│ ├── 002-set-the-config.sh
│ ├── 003-postgres-initialise.sh
│ ├── 004-set-the-groups.sh
│ └── 005-start-all-the-rest-up.sh
│ └── supervisor-files
│ ├── nginx-pynab-supervisord.conf
│ └── postgres-supervisord.conf
├── readerself
├── Dockerfile
└── src
│ ├── apache-config.conf
│ ├── apache.sh
│ ├── cronjob
│ └── firstrun.sh
├── sabnzbd
├── Dockerfile
├── README.md
└── sabnzbd.sh
├── serviio
├── Dockerfile
└── src
│ ├── apache-config.conf
│ ├── apache.sh
│ ├── firstrun.sh
│ ├── ports.conf
│ └── supervisord.conf
├── shout-irc
├── Dockerfile
└── src
│ ├── config.js
│ ├── firstrun.sh
│ └── shout.sh
├── sickrage
├── Dockerfile
├── README.md
├── edge.sh
└── sickrage.sh
├── simplehelp
├── Dockerfile
└── src
│ ├── firstrun.sh
│ └── supervisord.conf
├── sonarr
├── Dockerfile
├── LICENSE.md
├── README.md
└── src
│ └── supervisord.conf
├── sonerezh
├── Dockerfile
└── src
│ ├── apache-config.conf
│ ├── apache.sh
│ └── firstrun.sh
├── synaman
├── Dockerfile
└── src
│ └── startup-files
│ └── firstrun.sh
├── syslog-server
├── Dockerfile
└── README.md
├── taskboard
├── Dockerfile
└── src
│ ├── apache-config.conf
│ ├── apache.sh
│ └── firstrun.sh
├── tftp-server
├── Dockerfile
└── src
│ ├── 001-set-perms.sh
│ └── bring-up-the-server.sh
├── uniserv
├── Dockerfile
├── firstrun.sh
└── start.sh
├── unmark
├── Dockerfile
└── src
│ ├── apache-config.conf
│ ├── apache.sh
│ ├── cronjob
│ └── firstrun.sh
├── usenet-pack
├── Dockerfile
└── src
│ ├── config-files
│ ├── config.ini
│ ├── sabnzbd.ini
│ └── settings.conf
│ ├── couchpotato.sh
│ ├── firstrun.sh
│ ├── sabnzbd.sh
│ └── sickbeard.sh
├── websync
├── Dockerfile
├── init
│ ├── 30_ssh_keygen.sh
│ └── 40_set_config.sh
└── services
│ └── websync
│ └── run
├── yify-pop
├── Dockerfile
└── src
│ ├── start.sh
│ └── supervisord.conf
└── znc
├── Dockerfile
└── src
├── excludes
├── firstrun.sh
├── supervisord.conf
└── znc.conf
/.gitattributes:
--------------------------------------------------------------------------------
1 | # Auto detect text files and force unix-style line endings
2 | *.deb -text
3 |
4 |
--------------------------------------------------------------------------------
/Asset-UPNP/Dockerfile:
--------------------------------------------------------------------------------
1 | # set base os
2 | FROM phusion/baseimage:0.9.16
3 | ENV DEBIAN_FRONTEND noninteractive
4 | # Set correct environment variables
5 | ENV HOME /root
6 | ENV TERM xterm
7 | # Configure user nobody to match unRAID's settings
8 | RUN \
9 | usermod -u 99 nobody && \
10 | usermod -g 100 nobody && \
11 | usermod -d /home nobody && \
12 | chown -R nobody:users /home && \
13 |
14 | #Install Asset-upnp
15 | apt-get update && \
16 | apt-get install -y wget && \
17 | mkdir -p /usr/bin/asset && \
18 | chmod -R 777 /usr/bin/asset && \
19 | cd /usr/bin/asset && \
20 | wget http://www.dbpoweramp.com/install/AssetUPnP-Linux-x64.tar.gz && \
21 | tar -zxvf *.gz && \
22 | rm *.gz && \
23 | apt-get purge --remove -y wget && \
24 | apt-get autoremove -y && \
25 | apt-get clean
26 | VOLUME /root/.dBpoweramp
27 | VOLUME /music
28 | EXPOSE 45537/tcp 26125/tcp 1900/udp
29 | ENTRYPOINT ["/usr/bin/asset/bin/AssetUPnP"]
30 |
31 |
--------------------------------------------------------------------------------
/Beardrage/README.md:
--------------------------------------------------------------------------------
1 | This is a Dockerfile setup for sickbeard - http://sickbeard.com/
2 |
3 |
4 | PERSONALISED VERSION TAILORED FOR AN ALREADY RUNNING SERVER AND NOT SUITED FOR ANYONE ELSE
5 |
6 | To run:
7 |
8 | ```
9 | docker run -d --name="sickbeard" -v /path/to/sickbeard/data:/config -v /path/to/downloads:/downloads -v /path/to/tv:/tv -v /etc/localtime:/etc/localtime:ro -p 8081:8081 needo/sickbeard
10 | ```
11 |
12 | Edge
13 | ----
14 | If you would like to run the latest updates from the master branch as well as enable in-app updates run:
15 |
16 | ```
17 | docker run -d --name="sickbeard" -v /path/to/sickbeard/data:/config -v /path/to/downloads:/downloads -v /path/to/tv:/tv -v /etc/localtime:/etc/localtime:ro -e EDGE=1 -p 8081:8081 needo/sickbeard
18 | ```
19 |
--------------------------------------------------------------------------------
/Beardrage/edge.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | # Does the user want sickrage or sickbeard, if edge set 1 this selects version and path to update
3 | if [ "$SICKRAGE" -eq 0 ]; then
4 | sickdir="/opt/sickbeard"
5 | sickgit="https://github.com/midgetspy/Sick-Beard.git"
6 | else
7 | sickdir="/opt/sickrage"
8 | sickgit="https://github.com/SiCKRAGETV/SickRage.git"
9 | fi
10 | # Does the user want the latest version
11 | if [ "$EDGE" -eq 0 ]; then
12 | echo "Bleeding edge not requested"
13 | else
14 | rm -rf $sickdir
15 | git clone $sickgit $sickdir
16 | chown -R nobody:users $sickdir
17 | fi
18 |
--------------------------------------------------------------------------------
/Beardrage/sickbeard.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | # Does the user want sickrage or sickbeard, if edge set 1 this selects version and path to update
3 | if [ "$SICKRAGE" -eq 0 ]; then
4 | sickrun="/opt/sickbeard/SickBeard.py"
5 | sickconf="/config/SickBeard"
6 | else
7 | sickrun="/opt/sickrage/SickBeard.py"
8 | sickconf="/config/SickRage"
9 | fi
10 | chown -R nobody:users /config
11 | exec /sbin/setuser nobody python $sickrun --datadir $sickconf
12 |
--------------------------------------------------------------------------------
/ComicStreamer/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM phusion/baseimage:0.9.16
2 | ENV DEBIAN_FRONTEND noninteractive
3 | # Set correct environment variables
4 | ENV HOME /root
5 | ENV TERM xterm
6 | # Use baseimage-docker's init system
7 | CMD ["/sbin/my_init"]
8 | # Add local files
9 | ADD firstrun.sh /root/firstrun.sh
10 | ADD comicstreamer.sh /root/comicstreamer.sh
11 |
12 | # move startup files and make executable
13 |
14 | RUN mkdir -p /etc/my_init.d && \
15 | mv /root/firstrun.sh /etc/my_init.d/firstrun.sh && \
16 | chmod +x /etc/my_init.d/firstrun.sh && \
17 | mkdir /etc/service/comicstreamer && \
18 | mv /root/comicstreamer.sh /etc/service/comicstreamer/run && \
19 | chmod +x /etc/service/comicstreamer/run && \
20 |
21 | # install apps and dependencies
22 | apt-get update && \
23 | apt-get install python python-dev python-pip build-essential libjpeg8 libjpeg8-dev zlib1g-dev libtiff5-dev libtiff5 libfreetype6 libfreetype6-dev liblcms2-2 liblcms2-dev libwebp5 libwebp-dev libopenjpeg-dev libopenjpeg2 tcl8.6 tcl8.6-dev git-core -y && \
24 | pip install tornado sqlalchemy watchdog python-dateutil pillow configobj natsort
25 |
26 | # expose required port
27 | EXPOSE 32500
28 | VOLUME /root/.ComicStreamer /comics
29 |
--------------------------------------------------------------------------------
/ComicStreamer/comicstreamer.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | exec /opt/comicstreamer/comicstreamer
3 |
--------------------------------------------------------------------------------
/ComicStreamer/firstrun.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | if [ -d "/opt/comicstreamer" ]; then
3 | echo "using existing installation"
4 | else
5 | echo "pulling comicstreamer from git"
6 | git clone https://github.com/beville/ComicStreamer.git /opt/comicstreamer
7 | sleep 5
8 | fi
9 |
--------------------------------------------------------------------------------
/FoldingAtHome/FAHClient-run.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | cd /config
3 | exec /sbin/setuser nobody /opt/fah/usr/bin/FAHClient --config /config/config.xml
4 |
--------------------------------------------------------------------------------
/FoldingAtHome/config.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 | #Following allows access from local network
10 |
11 |
12 |
13 | #Change password for remote access
14 |
15 |
16 |
17 | #Change Team Number and Username if desired. Currently folding for UnRAID team!
18 |
19 |
20 |
21 |
22 |
23 | #Following allows access from local network
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/FoldingAtHome/firstrun.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | chown -R nobody:users /config
3 |
4 | # Check if config exists. If not, copy in the sample config
5 | if [ -f /config/config.xml ]; then
6 | chown nobody:users /config/config.xml
7 | chmod 777 /config/config.xml
8 | echo "Using existing config file."
9 |
10 | else
11 |
12 | echo "Creating config from template."
13 | cp /root/config.xml /config/config.xml
14 | chown nobody:users /config/config.xml
15 | chmod 777 /config/config.xml
16 | fi
17 |
18 | if [ -d /config/work ]; then
19 | echo "Cleaning empty work unit folders"
20 | find /config/work -depth -type d -empty -exec rmdir {} \;
21 | else
22 | echo "work area is empty and ready for folding"
23 | fi
24 |
--------------------------------------------------------------------------------
/Myyna/Dockerfile:
--------------------------------------------------------------------------------
1 | # set base os
2 | FROM phusion/baseimage:0.9.16
3 | ENV DEBIAN_FRONTEND noninteractive
4 | # Set environment variables for my_init, terminal and apache
5 | ENV HOME /root
6 | ENV TERM xterm
7 | CMD ["/sbin/my_init"]
8 |
9 | # Add local files
10 | ADD /src/ root/
11 |
12 | # Install dependencies
13 | RUN apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10 && \
14 | echo 'deb http://downloads-distro.mongodb.org/repo/debian-sysvinit dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list && \
15 | apt-get update && \
16 | apt-get install g++ curl libssl-dev apache2-utils git-core python make -y && \
17 |
18 | # Compile node
19 | cd /root && \
20 | git clone git://github.com/ry/node.git && \
21 | cd node && \
22 | ./configure && \
23 | make && \
24 | make install && \
25 | cd /root && \
26 | rm -rf node && \
27 |
28 | # install everything else
29 | apt-get install -y mongodb-10gen && \
30 | apt-get install imagemagick -y && \
31 | cd /root && \
32 | git clone https://github.com/cubettech/myyna && \
33 | cd myyna && \
34 | chmod -R 777 application/config uploads && \
35 |
36 | # clean apt and tmp etc ...
37 | apt-get clean && \
38 | rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* && \
39 |
40 | # fix start up files
41 | mkdir -p /etc/service/mongo && \
42 | mkdir -p /etc/service/myyna && \
43 | mv /root/myyna.sh /etc/service/myyna/run && \
44 | mv /root/mongo.sh /etc/service/mongo/run && \
45 | mv /root/firstrun.sh /etc/my_init.d/firstrun.sh && \
46 | chmod +x /etc/service/myyna/run && \
47 | chmod +x /etc/service/mongo/run && \
48 | chmod +x /etc/my_init.d/firstrun.sh
49 |
50 | EXPOSE 3000
51 |
--------------------------------------------------------------------------------
/Myyna/src/firstrun.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | mkdir -p /config/mongo
3 | if [ -f "/config/myyna/app.js" ]; then
4 | echo "using existing website"
5 | else
6 | echo "fetching myyna files"
7 | cp -pr /root/myyna /config/myyna
8 | sleep 10
9 | fi
10 |
--------------------------------------------------------------------------------
/Myyna/src/mongo.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | exec /usr/bin/mongod --dbpath /config/mongo
3 |
--------------------------------------------------------------------------------
/Myyna/src/myyna.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | exec /usr/local/bin/node /config/myyna/app
3 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | Sparklyballs' Docker containers
2 |
3 | All have been built for unraid, but will work in other environments.
4 | The Main difference is setting of uid and gid for user nobody, comment out those lines.
5 |
--------------------------------------------------------------------------------
/Sickbeard/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM phusion/baseimage:0.9.16
2 |
3 | ENV DEBIAN_FRONTEND noninteractive
4 |
5 | # Set correct environment variables
6 | ENV HOME /root
7 | ENV TERM xterm
8 | # Use baseimage-docker's init system
9 | CMD ["/sbin/my_init"]
10 |
11 | # Add local files
12 | ADD edge.sh /root/edge.sh
13 | ADD sickbeard.sh /root/sickbeard.sh
14 |
15 | # Fix a Debianism of the nobody's uid being 65534
16 | RUN usermod -u 99 nobody && \
17 | usermod -g 100 nobody && \
18 |
19 | add-apt-repository "deb http://us.archive.ubuntu.com/ubuntu/ trusty universe multiverse" && \
20 | add-apt-repository "deb http://us.archive.ubuntu.com/ubuntu/ trusty-updates universe multiverse" && \
21 | apt-get update -q && \
22 |
23 | # Install Dependencies
24 | apt-get install -qy python python-cheetah ca-certificates wget unrar git-core && \
25 |
26 | # Install SickBeard
27 |
28 | git clone https://github.com/midgetspy/Sick-Beard.git /opt/sickbeard && \
29 | chown nobody:users /opt/sickbeard && \
30 |
31 |
32 |
33 | # Downloads and TV Directories
34 | mkdir /mnt/XBMC-Media && \
35 |
36 | # Add edge.sh to execute during container startup
37 | mkdir -p /etc/my_init.d && \
38 | mv /root/edge.sh /etc/my_init.d/edge.sh && \
39 | chmod +x /etc/my_init.d/edge.sh && \
40 |
41 | # Add Sickbeard to runit
42 | mkdir /etc/service/sickbeard && \
43 | mv /root/sickbeard.sh /etc/service/sickbeard/run && \
44 | chmod +x /etc/service/sickbeard/run
45 |
46 | EXPOSE 8081
47 |
48 | # SickBeard Configuration
49 | VOLUME /config
50 |
--------------------------------------------------------------------------------
/Sickbeard/README.md:
--------------------------------------------------------------------------------
1 | This is a Dockerfile setup for sickbeard - http://sickbeard.com/
2 |
3 | PERSONALISED VERSION TAILORED FOR AN ALREADY RUNNING SERVER AND NOT SUITED FOR ANYONE ELSE
4 |
5 | To run:
6 |
7 | ```
8 | docker run -d --name="sickbeard" -v /path/to/sickbeard/data:/config -v /path/to/downloads:/downloads -v /path/to/tv:/tv -v /etc/localtime:/etc/localtime:ro -p 8081:8081 needo/sickbeard
9 | ```
10 |
11 | Edge
12 | ----
13 | If you would like to run the latest updates from the master branch as well as enable in-app updates run:
14 |
15 | ```
16 | docker run -d --name="sickbeard" -v /path/to/sickbeard/data:/config -v /path/to/downloads:/downloads -v /path/to/tv:/tv -v /etc/localtime:/etc/localtime:ro -e EDGE=1 -p 8081:8081 needo/sickbeard
17 | ```
18 |
--------------------------------------------------------------------------------
/Sickbeard/edge.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | # Does the user want the latest version
3 | if [ -z "$EDGE" ]; then
4 | echo "Bleeding edge not requested"
5 | else
6 | cd /opt/sickbeard
7 | git pull
8 | chown -R nobody:users /opt/sickbeard
9 | fi
10 |
--------------------------------------------------------------------------------
/Sickbeard/sickbeard.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | exec /sbin/setuser nobody python /opt/sickbeard/SickBeard.py --datadir=/config
4 |
--------------------------------------------------------------------------------
/acestream/src/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 |
4 |
5 | cat > /home/tv/aceproxy-master/plugins/config/torrenttv.py << EOF
6 | url = '$TTV_URL'
7 | updateevery = 0
8 | EOF
9 |
10 |
11 |
12 |
13 | sed -i 's/vlcuse = False/vlcuse = True/' /home/tv/aceproxy-master/aceconfig.py
14 | sed -i 's/videoobey = True/videoobey = False/' /home/tv/aceproxy-master/aceconfig.py
15 | sed -i 's/videopausedelay = .*/videopausedelay = 0/' /home/tv/aceproxy-master/aceconfig.py
16 | sed -i 's/videodelay = .*/videodelay = 0/' /home/tv/aceproxy-master/aceconfig.py
17 | sed -i 's/videodestroydelay = .*/videodestroydelay = 30/' /home/tv/aceproxy-master/aceconfig.py
18 |
19 | exec /usr/bin/supervisord
20 |
--------------------------------------------------------------------------------
/acestream/src/supervisord.conf:
--------------------------------------------------------------------------------
1 | [supervisord]
2 | nodaemon=true
3 |
4 | [program:acestream]
5 | command=acestreamengine --client-console --bind-all --login test --password test
6 | directory = /home/tv/
7 |
8 | [program:acehttp]
9 | command=/home/tv/aceproxy-master/acehttp.py
10 | user = tv
11 | directory = /home/tv/
12 | autorestart = true
13 |
14 | [program:vlc]
15 | command=vlc -I telnet --clock-jitter 0 --sout-mux-caching 500 --network-caching 500 --telnet-password admin --telnet-host 127.0.0.1
16 | environment=VLC_PLUGIN_PATH="/usr/lib/vlc/plugins/"
17 | user = tv
18 | directory = /home/tv/
19 |
20 |
--------------------------------------------------------------------------------
/amule-fpm/amule.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | exec /sbin/setuser nobody /opt/amule/amule/bin/bin/amuled -c /config -f /opt/amule/amule/bin/bin/amuled -c /config -f --use-amuleweb=/opt/amule/amule/bin/bin/amuleweb
3 |
4 |
--------------------------------------------------------------------------------
/amule-fpm/amule.tar.gz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sparklyballs/docker-containers/d5844bdc0d1651fc95c2997c44b419d436164cae/amule-fpm/amule.tar.gz
--------------------------------------------------------------------------------
/amule-fpm/debout.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | cp /root/project/debout/*.deb /root/debout/
3 |
--------------------------------------------------------------------------------
/amule-fpm/firstrun.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | if [ -f "/config/amule.conf" ]; then
3 | echo "using existing config"
4 | else
5 | cp /root/*.conf /config/
6 | fi
7 | chown -R nobody:users /config
8 |
9 |
--------------------------------------------------------------------------------
/amule-fpm/remote.conf:
--------------------------------------------------------------------------------
1 | Locale=
2 | [EC]
3 | Host=localhost
4 | Port=4712
5 | Password=ef7628c92bff39c0b3532d36a617cf09
6 | [Webserver]
7 | Port=4711
8 | UPnPWebServerEnabled=0
9 | UPnPTCPPort=50001
10 | Template=default
11 | UseGzip=1
12 | AllowGuest=0
13 | AdminPassword=ef7628c92bff39c0b3532d36a617cf09
14 | GuestPassword=
15 |
16 |
--------------------------------------------------------------------------------
/amule/Dockerfile:
--------------------------------------------------------------------------------
1 | # set base os
2 | FROM phusion/baseimage:0.9.16
3 |
4 | # Set correct environment variables
5 | ENV DEBIAN_FRONTEND=noninteractive HOME="/root" TERM=xterm
6 | CMD ["/sbin/my_init"]
7 |
8 | # add local files
9 | ADD src/ /root/
10 |
11 | # set volumes for completed downloads and config file(s)
12 | VOLUME /config /downloads
13 |
14 | # expose port(s)
15 | EXPOSE 4711/tcp 4712/tcp 4672/udp 4665/udp 4662/tcp 4661/tcp
16 |
17 | # set startup file
18 | RUN mv /root/amule.sh /etc/my_init.d/amule.sh && \
19 | chmod +x /etc/my_init.d/amule.sh && \
20 |
21 | # set nobody to UID 99 GUID 100
22 | usermod -u 99 nobody && \
23 | usermod -g 100 nobody && \
24 | usermod -d /home nobody && \
25 | chown -R nobody:users /home && \
26 |
27 | # update apt and install gdebi-core
28 | apt-get update && \
29 | apt-get install -y git-core gdebi-core supervisor && \
30 |
31 | # install amule and cleanup
32 | cd /root/ && \
33 | mkdir -p /opt/amule && \
34 | gdebi -n amule.deb && \
35 | rm -rf amule.deb && \
36 | git clone https://github.com/MatteoRagni/AmuleWebUI-Reloaded /opt/amule/amule/bin/share/amule/webserver/AmuleWebUI-Reloaded && \
37 | chown -R nobody:users /opt/amule && \
38 | apt-get purge --remove -y git-core gdebi-core && \
39 | apt-get clean autoclean && \
40 | apt-get autoremove -y && \
41 | rm -rf /var/lib/{apt,dpkg,cache,log}/ && \
42 |
43 | # set supervisor file
44 | mv /root/supervisord.conf /etc/supervisor/conf.d/supervisord.conf
45 |
46 |
47 |
--------------------------------------------------------------------------------
/amule/src/amule.deb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sparklyballs/docker-containers/d5844bdc0d1651fc95c2997c44b419d436164cae/amule/src/amule.deb
--------------------------------------------------------------------------------
/amule/src/amule.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | if [ -f "/config/amule.conf" ]; then
3 | echo "using existing config"
4 | else
5 | cp /root/conf/* /config/
6 | fi
7 | sleep 10
8 | chown -R nobody:users /config
9 | exec /usr/bin/supervisord
10 |
--------------------------------------------------------------------------------
/amule/src/conf/nodes.dat:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sparklyballs/docker-containers/d5844bdc0d1651fc95c2997c44b419d436164cae/amule/src/conf/nodes.dat
--------------------------------------------------------------------------------
/amule/src/conf/remote.conf:
--------------------------------------------------------------------------------
1 | Locale=
2 | [EC]
3 | Host=localhost
4 | Port=4712
5 | Password=ef7628c92bff39c0b3532d36a617cf09
6 | [Webserver]
7 | Port=4711
8 | UPnPWebServerEnabled=0
9 | UPnPTCPPort=50001
10 | Template=default
11 | UseGzip=1
12 | AllowGuest=0
13 | AdminPassword=ef7628c92bff39c0b3532d36a617cf09
14 | GuestPassword=
15 |
16 |
--------------------------------------------------------------------------------
/amule/src/supervisord.conf:
--------------------------------------------------------------------------------
1 | [supervisord]
2 | nodaemon=true
3 | [program:amule-server]
4 | user=nobody
5 | command=/opt/amule/amule/bin/bin/amuled -o -c /config -f --use-amuleweb=/opt/amule/amule/bin/bin/amuleweb
6 |
--------------------------------------------------------------------------------
/baikal/Dockerfile:
--------------------------------------------------------------------------------
1 | # set base os
2 | FROM phusion/baseimage:0.9.16
3 |
4 | # Set environment variables for my_init, terminal and apache
5 | ENV DEBIAN_FRONTEND=noninteractive HOME="/root" TERM=xterm APACHE_RUN_USER=www-data APACHE_RUN_GROUP=www-data APACHE_LOG_DIR="/var/log/apache2" APACHE_LOCK_DIR="/var/lock/apache2" APACHE_PID_FILE="/var/run/apache2.pid"
6 | CMD ["/sbin/my_init"]
7 |
8 | # add local files
9 | ADD src/ /root/
10 |
11 | # expose port(s)
12 | EXPOSE 80
13 |
14 | # startup files
15 | RUN mkdir -p /etc/service/apache && \
16 | mv /root/apache.sh /etc/service/apache/run && \
17 | mv /root/firstrun.sh /etc/my_init.d/firstrun.sh && \
18 | chmod +x /etc/service/apache/run && \
19 | chmod +x /etc/my_init.d/firstrun.sh && \
20 |
21 | # update apt and get dependencies etc..
22 | apt-get update && \
23 | apt-get install -y wget apache2 php5 php5-sqlite && \
24 |
25 | # Enable apache mods.
26 | a2enmod php5 && \
27 | a2enmod rewrite && \
28 |
29 | # Update the PHP.ini file, enable ?> tags and quieten logging.
30 | sed -i "s/short_open_tag = Off/short_open_tag = On/" /etc/php5/apache2/php.ini && \
31 | sed -i "s/error_reporting = .*$/error_reporting = E_ERROR | E_WARNING | E_PARSE/" /etc/php5/apache2/php.ini && \
32 | mv /root/apache-config.conf /etc/apache2/sites-enabled/000-default.conf
33 |
34 |
35 |
--------------------------------------------------------------------------------
/baikal/src/apache-config.conf:
--------------------------------------------------------------------------------
1 |
2 |
3 | DocumentRoot /var/www/baikal-regular/html
4 |
5 | RewriteEngine On
6 | RewriteRule /.well-known/carddav /card.php [R,L]
7 | RewriteRule /.well-known/caldav /cal.php [R,L]
8 |
9 |
10 | Options None
11 | Options +FollowSymlinks
12 | AllowOverride All
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/baikal/src/apache.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | exec /usr/sbin/apache2ctl -D FOREGROUND
3 |
4 |
--------------------------------------------------------------------------------
/baikal/src/firstrun.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | mkdir -p /config
3 | if [ -f "/var/www/baikal-regular/html/index.php" ]; then
4 | echo "using existing website"
5 | chown -R www-data:www-data /var/log/apache2
6 | else
7 | echo "fetching Baikal files"
8 | cd /var/www
9 | wget http://baikal-server.com/get/baikal-regular-0.2.7.tgz
10 | tar xvf baikal-regular-0.2.7.tgz
11 | rm baikal-regular-0.2.7.tgz
12 | cd baikal-regular/Specific
13 | touch ENABLE_INSTALL
14 | chown -R www-data:www-data /var/www/baikal-regular
15 | fi
16 |
17 |
--------------------------------------------------------------------------------
/bright-game/Dockerfile:
--------------------------------------------------------------------------------
1 | # set base os
2 | FROM phusion/baseimage:0.9.16
3 |
4 | # Set environment variables for my_init, terminal and apache
5 | ENV DEBIAN_FRONTEND=noninteractive HOME="/root" TERM=xterm APACHE_RUN_USER=www-data APACHE_RUN_GROUP=www-data APACHE_LOG_DIR="/var/log/apache2" APACHE_LOCK_DIR="/var/lock/apache2" APACHE_PID_FILE="/var/run/apache2.pid"
6 | CMD ["/sbin/my_init"]
7 |
8 | # add local files
9 | ADD src/ /root/
10 |
11 | # expose port(s)
12 | EXPOSE 80
13 |
14 | # startup files
15 | RUN mkdir -p /etc/service/apache && \
16 | mv /root/apache.sh /etc/service/apache/run && \
17 | mv /root/firstrun.sh /etc/my_init.d/firstrun.sh && \
18 | chmod +x /etc/service/apache/run && \
19 | chmod +x /etc/my_init.d/firstrun.sh && \
20 |
21 | # update apt and install dependencies
22 | apt-get update && \
23 | apt-get install -y apache2 php5 php5-mysql php5-curl php5-gd screen zip php5-mcrypt wget unzip && \
24 | cd /root && \
25 | wget http://downloads.sourceforge.net/project/brightgamepanel/DEVEL/bgp_r0-devel-beta8.zip && \
26 | unzip bgp_r0-devel-beta8.zip && \
27 | mv /root/bgp_r0-devel-beta8/upload_me /root/bgp_r0-devel-beta8/bgpanel && \
28 | rm bgp_r0-devel-beta8.zip && \
29 |
30 | # Enable apache mods.
31 | a2enmod php5 && \
32 | a2enmod rewrite && \
33 | # Update the PHP.ini file, enable ?> tags and quieten logging.
34 | sed -i "s/short_open_tag = Off/short_open_tag = On/" /etc/php5/apache2/php.ini && \
35 | sed -i "s/error_reporting = .*$/error_reporting = E_ERROR | E_WARNING | E_PARSE/" /etc/php5/apache2/php.ini && \
36 | mv apache-config.conf /etc/apache2/sites-enabled/000-default.conf
37 |
--------------------------------------------------------------------------------
/bright-game/src/apache-config.conf:
--------------------------------------------------------------------------------
1 |
2 | ServerAdmin me@mydomain.com
3 | DocumentRoot /var/www/bgpanel
4 |
5 | Options Indexes FollowSymLinks MultiViews
6 | AllowOverride All
7 | Order deny,allow
8 | Allow from all
9 |
10 | ErrorLog ${APACHE_LOG_DIR}/error.log
11 | CustomLog ${APACHE_LOG_DIR}/access.log combined
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/bright-game/src/apache.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | exec /usr/sbin/apache2ctl -D FOREGROUND
3 |
4 |
--------------------------------------------------------------------------------
/bright-game/src/cronjob:
--------------------------------------------------------------------------------
1 | */10 * * * * php -q /var/www/bgpanel/admin/cron.php > /dev/null 2>&1
2 |
--------------------------------------------------------------------------------
/bright-game/src/firstrun.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | if [ -f "/var/www/bgpanel/index.php" ]; then
3 | echo "website files already loaded"
4 | chown -R www-data:www-data /var/log/apache2
5 | else
6 | echo "moving bgpanel files"
7 | cp -pr /root/bgp_r0-devel-beta8/bgpanel /var/www/
8 | chown -R www-data:www-data /var/www/bgpanel
9 | fi
10 | crontab /root/cronjob
11 |
--------------------------------------------------------------------------------
/calibre-desk/src/00_config.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | if [[ $(cat /etc/timezone) != $TZ ]] ; then
3 | echo "$TZ" > /etc/timezone
4 | dpkg-reconfigure -f noninteractive tzdata
5 | fi
6 |
--------------------------------------------------------------------------------
/calibre-desk/src/Xvfb:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | exec 2>&1
3 | umask 000
4 | exec /usr/bin/Xvfb :1 -screen 0 1280x960x16
5 |
--------------------------------------------------------------------------------
/calibre-desk/src/autostart:
--------------------------------------------------------------------------------
1 | /nobody/calibre-bin/calibre/calibre
2 |
--------------------------------------------------------------------------------
/calibre-desk/src/noVNC.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | exec 2>&1
3 | cd /noVNC
4 | exec python /noVNC/utils/websockify --web /noVNC 6080 localhost:5900
5 |
--------------------------------------------------------------------------------
/calibre-desk/src/noVNC/.gitignore:
--------------------------------------------------------------------------------
1 | *.pyc
2 | *.o
3 | tests/data_*.js
4 | utils/rebind.so
5 | node_modules
6 |
--------------------------------------------------------------------------------
/calibre-desk/src/noVNC/.gitmodules:
--------------------------------------------------------------------------------
1 | [submodule "include/web-socket-js-project"]
2 | path = include/web-socket-js-project
3 | url = https://github.com/gimite/web-socket-js.git
4 |
--------------------------------------------------------------------------------
/calibre-desk/src/noVNC/.travis.yml:
--------------------------------------------------------------------------------
1 | language: node_js
2 | node_js:
3 | - '0.11.13'
4 | env:
5 | matrix:
6 | - TEST_BROWSER_NAME=PhantomJS
7 | - TEST_BROWSER_NAME=chrome TEST_BROWSER_OS='Windows 7,Linux'
8 | - TEST_BROWSER_NAME=firefox TEST_BROWSER_OS='Windows 7,Linux' TEST_BROWSER_VERSION='30,26'
9 | - TEST_BROWSER_NAME='internet explorer' TEST_BROWSER_OS='Windows 7' TEST_BROWSER_VERSION=10
10 | - TEST_BROWSER_NAME='internet explorer' TEST_BROWSER_OS='Windows 8.1' TEST_BROWSER_VERSION=11
11 | - TEST_BROWSER_NAME=safari TEST_BROWSER_OS='OS X 10.8' TEST_BROWSER_VERSION=6
12 | - TEST_BROWSER_NAME=safari TEST_BROWSER_OS='OS X 10.9' TEST_BROWSER_VERSION=7
13 | global:
14 | - secure: QE5GqGd2hrpQsIgd8dlv3oRUUHqZayomzzQjNXOB81VQi241uz/ru+3GtBZLB5WLZCq/Gj89vbLnR0LN4ixlmPaWv3/WJQGyDGuRD/vMnccVl+rBUP/Hh2zdYwiISIGcrywNAE+KLus/lyt/ahVgzbaRaDSzrM1HaZFT/rndGck=
15 | - secure: g75sdctEwj0hoLW0Y08Tdv8s5scNzplB6a9EtaJ2vJD9S/bK+AsPqbWesGv1UlrFPCWdbV7Vg61vkmoUjcmb5xhqFIjcM9TlYJoKWeOTsOmnQoSIkIq6gMF1k02+LmKInbPgIzrp3m3jluS1qaOs/EzFpDnJp9hWBiAfXa12Jxk=
16 | before_script: npm install -g karma-cli
17 |
--------------------------------------------------------------------------------
/calibre-desk/src/noVNC/debian/changelog:
--------------------------------------------------------------------------------
1 | novnc (0.4) maverick; urgency=low
2 |
3 | * Clarify permissive licenses of HTML, CSS, images.
4 | * Use render queue and requestAnimationFrame
5 | * UltraVNC repeater support
6 |
7 | -- Joel Martin Fri, 14 Sep 2012 05:00:00 -0600
8 |
9 | novnc (0.3) maverick; urgency=low
10 |
11 | * add tight encoding support
12 | * release pressed key when focus lost (fixes locked Alt key)
13 | * Support Apple Remote Desktop
14 | * Add nova/openstack proxy wrapper
15 | * Better connection close handling/reporting
16 |
17 | -- Joel Martin Fri, 11 May 2012 03:00:00 -0600
18 |
19 | novnc (0.2) maverick; urgency=low
20 |
21 | * Mobile device support with viewport clipping
22 | * Much better styling that also works on mobile devices well
23 | * Update websockify to support latest WebSocket protocol HyBi 13
24 | (i.e. support IETF 6455)
25 | * Better support in websockify for python 2.4 through 3.2
26 | * Support VMWare ESX and Intel AMT KVM
27 | * View only mode
28 |
29 | -- Joel Martin Tue, 05 Jul 2011 01:00:00 -0600
30 |
31 | novnc (0.1) maverick; urgency=low
32 |
33 | * First upstream release
34 |
35 | -- Joel Martin Tue, 05 Jul 2011 01:00:00 -0600
36 |
--------------------------------------------------------------------------------
/calibre-desk/src/noVNC/debian/compat:
--------------------------------------------------------------------------------
1 | 7
2 |
--------------------------------------------------------------------------------
/calibre-desk/src/noVNC/debian/control:
--------------------------------------------------------------------------------
1 | Source: novnc
2 | Section: web
3 | Priority: optional
4 | Maintainer: Joel Martin
5 | Build-Depends: debhelper (>= 7.0.0~)
6 | Standards-Version: 3.8.3
7 | Homepage: https://github.com/kanaka/noVNC/
8 |
9 | Package: novnc
10 | Architecture: any
11 | Depends: ${shlibs:Depends}, ${misc:Depends}, python (>= 2.4)
12 | Description: HTML5 VNC client
13 | VNC client using HTML5 (WebSockets, Canvas) with encryption (wss://) support.
14 |
--------------------------------------------------------------------------------
/calibre-desk/src/noVNC/debian/copyright:
--------------------------------------------------------------------------------
1 | Upstream Project: https://github.com/kanaka/noVNC/
2 |
3 | --------------------- Original LICENSE.txt ---------------------------
4 |
5 | noVNC is Copyright (C) 2012 Joel Martin
6 |
7 | Some portions of noVNC are copyright to their individual authors.
8 | Please refer to the individual source files and/or to the noVNC commit
9 | history: https://github.com/kanaka/noVNC/commits/master
10 |
11 | noVNC is licensed under the MPL 2.0 (Mozilla Public License) with the
12 | following exceptions:
13 |
14 | *.html, *.css : 2-Clause BSD license
15 |
16 | include/Orbitron* : SIL Open Font License 1.1
17 | (Copyright 2009 Matt McInerney)
18 |
19 | images/ : Creative Commons Attribution-ShareAlike
20 | http://creativecommons.org/licenses/by-sa/3.0/
21 |
22 | include/base64.js : MPL 2.0
23 |
24 | include/des.js : Various BSD style licenses
25 |
26 | include/jsunzip.js : zlib/libpng license
27 |
28 | include/web-socket-js/ : New BSD license (3-clause). Source code at
29 | http://github.com/gimite/web-socket-js
30 |
31 | include/chrome-app/tcp-stream.js
32 | : Apache 2.0 license
33 |
34 | ----------------------------------------------------------------------
35 |
36 | The MPL-2.0 license text may be found here:
37 | http://www.mozilla.org/MPL/2.0/
38 |
--------------------------------------------------------------------------------
/calibre-desk/src/noVNC/debian/novnc.install:
--------------------------------------------------------------------------------
1 | vnc.html /usr/share/novnc
2 | vnc_auto.html /usr/share/novnc
3 | README.md /usr/share/doc/novnc
4 | LICENSE.txt /usr/share/doc/novnc
5 | utils/Makefile /usr/share/novnc/utils
6 | utils/launch.sh /usr/share/novnc/utils
7 | utils/websocket.py /usr/share/novnc/utils
8 | utils/websockify /usr/share/novnc/utils
9 | utils/rebind.c /usr/share/novnc/utils
10 | utils/rebind.so /usr/share/novnc/utils
11 | images /usr/share/novnc
12 | images/favicon.ico /usr/share/novnc
13 | include/base64.js /usr/share/novnc/include
14 | include/des.js /usr/share/novnc/include
15 | include/display.js /usr/share/novnc/include
16 | include/keysymdef.js /usr/share/novnc/include
17 | include/keyboard.js /usr/share/novnc/include
18 | include/input.js /usr/share/novnc/include
19 | include/logo.js /usr/share/novnc/include
20 | include/base.css /usr/share/novnc/include
21 | include/blue.css /usr/share/novnc/include
22 | include/black.css /usr/share/novnc/include
23 | include/playback.js /usr/share/novnc/include
24 | include/rfb.js /usr/share/novnc/include
25 | include/ui.js /usr/share/novnc/include
26 | include/util.js /usr/share/novnc/include
27 | include/websock.js /usr/share/novnc/include
28 | include/webutil.js /usr/share/novnc/include
29 | include/jsunzip.js /usr/share/novnc/include
30 | include/web-socket-js/* /usr/share/novnc/include/web-socket-js
31 |
--------------------------------------------------------------------------------
/calibre-desk/src/noVNC/debian/rules:
--------------------------------------------------------------------------------
1 | #!/usr/bin/make -f
2 |
3 | # Uncomment this to turn on verbose mode.
4 | #export DH_VERBOSE=1
5 |
6 | clean:
7 | make -C utils clean
8 | dh clean
9 |
10 | build:
11 | make -C utils rebind.so
12 |
13 | %:
14 | dh ${@}
15 |
--------------------------------------------------------------------------------
/calibre-desk/src/noVNC/docs/LICENSE.BSD-2-Clause:
--------------------------------------------------------------------------------
1 | Copyright (c) ,
2 | All rights reserved.
3 |
4 | Redistribution and use in source and binary forms, with or without
5 | modification, are permitted provided that the following conditions are met:
6 |
7 | * Redistributions of source code must retain the above copyright
8 | notice, this list of conditions and the following disclaimer.
9 | * Redistributions in binary form must reproduce the above copyright
10 | notice, this list of conditions and the following disclaimer in the
11 | documentation and/or other materials provided with the distribution.
12 |
13 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
14 | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
15 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
16 | DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY
17 | DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
18 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
19 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
20 | ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
21 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
22 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
23 |
--------------------------------------------------------------------------------
/calibre-desk/src/noVNC/docs/LICENSE.BSD-3-Clause:
--------------------------------------------------------------------------------
1 | Copyright (c) ,
2 | All rights reserved.
3 |
4 | Redistribution and use in source and binary forms, with or without
5 | modification, are permitted provided that the following conditions are met:
6 | * Redistributions of source code must retain the above copyright
7 | notice, this list of conditions and the following disclaimer.
8 | * Redistributions in binary form must reproduce the above copyright
9 | notice, this list of conditions and the following disclaimer in the
10 | documentation and/or other materials provided with the distribution.
11 | * Neither the name of the nor the
12 | names of its contributors may be used to endorse or promote products
13 | derived from this software without specific prior written permission.
14 |
15 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
16 | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
17 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
18 | DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY
19 | DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
20 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
21 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
22 | ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
24 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25 |
--------------------------------------------------------------------------------
/calibre-desk/src/noVNC/docs/LICENSE.zlib:
--------------------------------------------------------------------------------
1 | Copyright (c) ,
2 | All rights reserved.
3 |
4 | This software is provided 'as-is', without any express
5 | or implied warranty. In no event will the authors be
6 | held liable for any damages arising from the use of
7 | this software.
8 |
9 | Permission is granted to anyone to use this software
10 | for any purpose, including commercial applications,
11 | and to alter it and redistribute it freely, subject to
12 | the following restrictions:
13 |
14 | 1. The origin of this software must not be
15 | misrepresented; you must not claim that you
16 | wrote the original software. If you use this
17 | software in a product, an acknowledgment in
18 | the product documentation would be appreciated
19 | but is not required.
20 |
21 | 2. Altered source versions must be plainly marked
22 | as such, and must not be misrepresented as
23 | being the original software.
24 |
25 | 3. This notice may not be removed or altered from
26 | any source distribution.
27 |
28 |
--------------------------------------------------------------------------------
/calibre-desk/src/noVNC/docs/VERSION:
--------------------------------------------------------------------------------
1 | 0.4
2 |
--------------------------------------------------------------------------------
/calibre-desk/src/noVNC/docs/flash_policy.txt:
--------------------------------------------------------------------------------
1 | Manual setup:
2 |
3 | DATA="echo \'\'"
4 | /usr/bin/socat -T 1 TCP-L:843,reuseaddr,fork,crlf SYSTEM:"$DATA"
5 |
--------------------------------------------------------------------------------
/calibre-desk/src/noVNC/docs/notes:
--------------------------------------------------------------------------------
1 | Some implementation notes:
2 |
3 | There is an included flash object (web-socket-js) that is used to
4 | emulate websocket support on browsers without websocket support
5 | (currently only Chrome has WebSocket support).
6 |
7 | Javascript doesn't have a bytearray type, so what you get out of
8 | a WebSocket object is just Javascript strings. Javascript has UTF-16
9 | unicode strings and anything sent through the WebSocket gets converted
10 | to UTF-8 and vice-versa. So, one additional (and necessary) function
11 | of websockify is base64 encoding/decoding what is sent to/from the
12 | browser.
13 |
14 | Building web-socket-js emulator:
15 |
16 | cd include/web-socket-js/flash-src
17 | mxmlc -static-link-runtime-shared-libraries WebSocketMain.as
18 |
--------------------------------------------------------------------------------
/calibre-desk/src/noVNC/docs/packaging.txt:
--------------------------------------------------------------------------------
1 | noVNC packaging steps for Debian/Ubuntu:
2 |
3 | - Update the noVNC version in docs/VERSION and add a new entry for the
4 | version in debian/changelog
5 |
6 | - Rename the novnc source directory to match the form "novnc-VERSION".
7 |
8 | - In the novnc source directory, run the packaging command:
9 |
10 | debuild -I -uc -us
11 |
12 | - The -I option ignores the .git directory when generating the
13 | source tarball.
14 | - the -uc and -us may be omitted in order to create a signed
15 | package.
16 |
17 | - Alternatively, use pbuilder instead of debuild in order to build
18 | for other distributions and to guarantee a sanitized package.
19 |
20 | - Verify the package and then commit the changes to docs/VERSION and
21 | debian/changelog.
22 |
23 | - Upload the new package file(s).
24 |
--------------------------------------------------------------------------------
/calibre-desk/src/noVNC/docs/release.txt:
--------------------------------------------------------------------------------
1 | - Update and commit docs/VERSION and debian/changelog
2 | - Create version tag and tarball from tag
3 | WVER=0.3
4 | git tag v${WVER}
5 | git push origin master
6 | git push origin v${WVER}
7 | git archive --format=tar --prefix=novnc-${WVER}/ v${WVER} > novnc-${WVER}.tar
8 | gzip novnc-${WVER}.tar
9 | - Upload tarball to repo
10 |
--------------------------------------------------------------------------------
/calibre-desk/src/noVNC/docs/rfbproto-3.3.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sparklyballs/docker-containers/d5844bdc0d1651fc95c2997c44b419d436164cae/calibre-desk/src/noVNC/docs/rfbproto-3.3.pdf
--------------------------------------------------------------------------------
/calibre-desk/src/noVNC/docs/rfbproto-3.7.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sparklyballs/docker-containers/d5844bdc0d1651fc95c2997c44b419d436164cae/calibre-desk/src/noVNC/docs/rfbproto-3.7.pdf
--------------------------------------------------------------------------------
/calibre-desk/src/noVNC/docs/rfbproto-3.8.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sparklyballs/docker-containers/d5844bdc0d1651fc95c2997c44b419d436164cae/calibre-desk/src/noVNC/docs/rfbproto-3.8.pdf
--------------------------------------------------------------------------------
/calibre-desk/src/noVNC/favicon.ico:
--------------------------------------------------------------------------------
1 | images/favicon.ico
--------------------------------------------------------------------------------
/calibre-desk/src/noVNC/images/alt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sparklyballs/docker-containers/d5844bdc0d1651fc95c2997c44b419d436164cae/calibre-desk/src/noVNC/images/alt.png
--------------------------------------------------------------------------------
/calibre-desk/src/noVNC/images/clipboard.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sparklyballs/docker-containers/d5844bdc0d1651fc95c2997c44b419d436164cae/calibre-desk/src/noVNC/images/clipboard.png
--------------------------------------------------------------------------------
/calibre-desk/src/noVNC/images/connect.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sparklyballs/docker-containers/d5844bdc0d1651fc95c2997c44b419d436164cae/calibre-desk/src/noVNC/images/connect.png
--------------------------------------------------------------------------------
/calibre-desk/src/noVNC/images/ctrl.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sparklyballs/docker-containers/d5844bdc0d1651fc95c2997c44b419d436164cae/calibre-desk/src/noVNC/images/ctrl.png
--------------------------------------------------------------------------------
/calibre-desk/src/noVNC/images/ctrlaltdel.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sparklyballs/docker-containers/d5844bdc0d1651fc95c2997c44b419d436164cae/calibre-desk/src/noVNC/images/ctrlaltdel.png
--------------------------------------------------------------------------------
/calibre-desk/src/noVNC/images/disconnect.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sparklyballs/docker-containers/d5844bdc0d1651fc95c2997c44b419d436164cae/calibre-desk/src/noVNC/images/disconnect.png
--------------------------------------------------------------------------------
/calibre-desk/src/noVNC/images/drag.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sparklyballs/docker-containers/d5844bdc0d1651fc95c2997c44b419d436164cae/calibre-desk/src/noVNC/images/drag.png
--------------------------------------------------------------------------------
/calibre-desk/src/noVNC/images/esc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sparklyballs/docker-containers/d5844bdc0d1651fc95c2997c44b419d436164cae/calibre-desk/src/noVNC/images/esc.png
--------------------------------------------------------------------------------
/calibre-desk/src/noVNC/images/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sparklyballs/docker-containers/d5844bdc0d1651fc95c2997c44b419d436164cae/calibre-desk/src/noVNC/images/favicon.ico
--------------------------------------------------------------------------------
/calibre-desk/src/noVNC/images/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sparklyballs/docker-containers/d5844bdc0d1651fc95c2997c44b419d436164cae/calibre-desk/src/noVNC/images/favicon.png
--------------------------------------------------------------------------------
/calibre-desk/src/noVNC/images/keyboard.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sparklyballs/docker-containers/d5844bdc0d1651fc95c2997c44b419d436164cae/calibre-desk/src/noVNC/images/keyboard.png
--------------------------------------------------------------------------------
/calibre-desk/src/noVNC/images/mouse_left.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sparklyballs/docker-containers/d5844bdc0d1651fc95c2997c44b419d436164cae/calibre-desk/src/noVNC/images/mouse_left.png
--------------------------------------------------------------------------------
/calibre-desk/src/noVNC/images/mouse_middle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sparklyballs/docker-containers/d5844bdc0d1651fc95c2997c44b419d436164cae/calibre-desk/src/noVNC/images/mouse_middle.png
--------------------------------------------------------------------------------
/calibre-desk/src/noVNC/images/mouse_none.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sparklyballs/docker-containers/d5844bdc0d1651fc95c2997c44b419d436164cae/calibre-desk/src/noVNC/images/mouse_none.png
--------------------------------------------------------------------------------
/calibre-desk/src/noVNC/images/mouse_right.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sparklyballs/docker-containers/d5844bdc0d1651fc95c2997c44b419d436164cae/calibre-desk/src/noVNC/images/mouse_right.png
--------------------------------------------------------------------------------
/calibre-desk/src/noVNC/images/power.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sparklyballs/docker-containers/d5844bdc0d1651fc95c2997c44b419d436164cae/calibre-desk/src/noVNC/images/power.png
--------------------------------------------------------------------------------
/calibre-desk/src/noVNC/images/screen_320x460.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sparklyballs/docker-containers/d5844bdc0d1651fc95c2997c44b419d436164cae/calibre-desk/src/noVNC/images/screen_320x460.png
--------------------------------------------------------------------------------
/calibre-desk/src/noVNC/images/screen_57x57.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sparklyballs/docker-containers/d5844bdc0d1651fc95c2997c44b419d436164cae/calibre-desk/src/noVNC/images/screen_57x57.png
--------------------------------------------------------------------------------
/calibre-desk/src/noVNC/images/screen_700x700.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sparklyballs/docker-containers/d5844bdc0d1651fc95c2997c44b419d436164cae/calibre-desk/src/noVNC/images/screen_700x700.png
--------------------------------------------------------------------------------
/calibre-desk/src/noVNC/images/settings.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sparklyballs/docker-containers/d5844bdc0d1651fc95c2997c44b419d436164cae/calibre-desk/src/noVNC/images/settings.png
--------------------------------------------------------------------------------
/calibre-desk/src/noVNC/images/showextrakeys.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sparklyballs/docker-containers/d5844bdc0d1651fc95c2997c44b419d436164cae/calibre-desk/src/noVNC/images/showextrakeys.png
--------------------------------------------------------------------------------
/calibre-desk/src/noVNC/images/tab.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sparklyballs/docker-containers/d5844bdc0d1651fc95c2997c44b419d436164cae/calibre-desk/src/noVNC/images/tab.png
--------------------------------------------------------------------------------
/calibre-desk/src/noVNC/include/Orbitron700.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sparklyballs/docker-containers/d5844bdc0d1651fc95c2997c44b419d436164cae/calibre-desk/src/noVNC/include/Orbitron700.ttf
--------------------------------------------------------------------------------
/calibre-desk/src/noVNC/include/Orbitron700.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sparklyballs/docker-containers/d5844bdc0d1651fc95c2997c44b419d436164cae/calibre-desk/src/noVNC/include/Orbitron700.woff
--------------------------------------------------------------------------------
/calibre-desk/src/noVNC/include/blue.css:
--------------------------------------------------------------------------------
1 | /*
2 | * noVNC blue CSS
3 | * Copyright (C) 2012 Joel Martin
4 | * Copyright (C) 2013 Samuel Mannehed for Cendio AB
5 | * noVNC is licensed under the MPL 2.0 (see LICENSE.txt)
6 | * This file is licensed under the 2-Clause BSD license (see LICENSE.txt).
7 | */
8 |
9 | .noVNC_status_normal {
10 | background-color:#04073d;
11 | background-image: -webkit-gradient(
12 | linear,
13 | left bottom,
14 | left top,
15 | color-stop(0.54, rgb(10,15,79)),
16 | color-stop(0.5, rgb(4,7,61))
17 | );
18 | background-image: -moz-linear-gradient(
19 | center bottom,
20 | rgb(10,15,79) 54%,
21 | rgb(4,7,61) 50%
22 | );
23 | }
24 | .noVNC_status_error {
25 | background-color:#f04040;
26 | background-image: -webkit-gradient(
27 | linear,
28 | left bottom,
29 | left top,
30 | color-stop(0.54, rgb(240,64,64)),
31 | color-stop(0.5, rgb(4,7,61))
32 | );
33 | background-image: -moz-linear-gradient(
34 | center bottom,
35 | rgb(4,7,61) 54%,
36 | rgb(249,64,64) 50%
37 | );
38 | }
39 | .noVNC_status_warn {
40 | background-color:#f0f040;
41 | background-image: -webkit-gradient(
42 | linear,
43 | left bottom,
44 | left top,
45 | color-stop(0.54, rgb(240,240,64)),
46 | color-stop(0.5, rgb(4,7,61))
47 | );
48 | background-image: -moz-linear-gradient(
49 | center bottom,
50 | rgb(4,7,61) 54%,
51 | rgb(240,240,64) 50%
52 | );
53 | }
54 |
55 | .triangle-right {
56 | border:2px solid #fff;
57 | background:#04073d;
58 | color:#fff;
59 | }
60 |
61 | #keyboardinput {
62 | background-color:#04073d;
63 | }
64 |
65 |
--------------------------------------------------------------------------------
/calibre-desk/src/noVNC/include/web-socket-js/WebSocketMain.swf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sparklyballs/docker-containers/d5844bdc0d1651fc95c2997c44b419d436164cae/calibre-desk/src/noVNC/include/web-socket-js/WebSocketMain.swf
--------------------------------------------------------------------------------
/calibre-desk/src/noVNC/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "noVNC",
3 | "version": "0.5.0",
4 | "description": "An HTML5 VNC client",
5 | "main": "karma.conf.js",
6 | "directories": {
7 | "doc": "docs",
8 | "test": "tests"
9 | },
10 | "scripts": {
11 | "test": "karma start karma.conf.js"
12 | },
13 | "repository": {
14 | "type": "git",
15 | "url": "https://github.com/kanaka/noVNC.git"
16 | },
17 | "author": "Joel Martin (https://github.com/kanaka)",
18 | "contributors": [
19 | "Solly Ross (https://github.com/directxman12)",
20 | "Peter Åstrand (https://github.com/astrand)",
21 | "Samuel Mannehed (https://github.com/samhed)"
22 | ],
23 | "license": "MPL 2.0",
24 | "bugs": {
25 | "url": "https://github.com/kanaka/noVNC/issues"
26 | },
27 | "homepage": "https://github.com/kanaka/noVNC",
28 | "devDependencies": {
29 | "ansi": "^0.3.0",
30 | "casperjs": "^1.1.0-beta3",
31 | "chai": "^1.10.0",
32 | "commander": "^2.5.0",
33 | "karma": "^0.12.25",
34 | "karma-chai": "^0.1.0",
35 | "karma-mocha": "^0.1.9",
36 | "karma-mocha-reporter": "^0.3.1",
37 | "karma-phantomjs-launcher": "^0.1.4",
38 | "karma-sauce-launcher": "^0.2.10",
39 | "karma-sinon": "^1.0.3",
40 | "karma-sinon-chai-latest": "^0.1.0",
41 | "mocha": "^2.0.1",
42 | "open": "^0.0.5",
43 | "phantom": "^0.7.0",
44 | "phantomjs": "^1.9.12",
45 | "sinon": "^1.12.1",
46 | "sinon-chai": "^2.6.0",
47 | "spooky": "^0.2.5",
48 | "temp": "^0.8.1"
49 | }
50 | }
51 |
--------------------------------------------------------------------------------
/calibre-desk/src/noVNC/tests/arrays.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Javascript Arrays Performance Test
5 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 | Javascript Arrays Performance Test
17 | Iterations:
18 | Array Size: *1024
19 |
20 |
22 |
23 |
24 | Results:
25 |
26 |
27 |
28 |
29 |
30 |
31 |
39 |
40 |
--------------------------------------------------------------------------------
/calibre-desk/src/noVNC/tests/assertions.js:
--------------------------------------------------------------------------------
1 | // some useful assertions for noVNC
2 | chai.use(function (_chai, utils) {
3 | _chai.Assertion.addMethod('displayed', function (target_data) {
4 | var obj = this._obj;
5 | var data_cl = obj._drawCtx.getImageData(0, 0, obj._viewportLoc.w, obj._viewportLoc.h).data;
6 | // NB(directxman12): PhantomJS 1.x doesn't implement Uint8ClampedArray, so work around that
7 | var data = new Uint8Array(data_cl);
8 | this.assert(utils.eql(data, target_data),
9 | "expected #{this} to have displayed the image #{exp}, but instead it displayed #{act}",
10 | "expected #{this} not to have displayed the image #{act}",
11 | target_data,
12 | data);
13 | });
14 |
15 | _chai.Assertion.addMethod('sent', function (target_data) {
16 | var obj = this._obj;
17 | var data = obj._websocket._get_sent_data();
18 | this.assert(utils.eql(data, target_data),
19 | "expected #{this} to have sent the data #{exp}, but it actually sent #{act}",
20 | "expected #{this} not to have sent the data #{act}",
21 | target_data,
22 | data);
23 | });
24 | });
25 |
--------------------------------------------------------------------------------
/calibre-desk/src/noVNC/tests/base64.js:
--------------------------------------------------------------------------------
1 | // The following results in 'hello [MANGLED]'
2 | //
3 | // Filed as https://github.com/ry/node/issues/issue/402
4 |
5 | var sys = require("sys"),
6 | buf = new Buffer(1024), len,
7 | str1 = "aGVsbG8g", // 'hello '
8 | str2 = "d29ybGQ=", // 'world'
9 |
10 | len = buf.write(str1, 0, 'base64');
11 | len += buf.write(str2, len, 'base64');
12 | sys.log("decoded result: " + buf.toString('binary', 0, len));
13 |
--------------------------------------------------------------------------------
/calibre-desk/src/noVNC/tests/face.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sparklyballs/docker-containers/d5844bdc0d1651fc95c2997c44b419d436164cae/calibre-desk/src/noVNC/tests/face.png
--------------------------------------------------------------------------------
/calibre-desk/src/noVNC/tests/keyboard-tests.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Mocha Tests
6 |
7 |
8 |
9 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/calibre-desk/src/noVNC/tests/stats.js:
--------------------------------------------------------------------------------
1 | /*
2 | * Define some useful statistical functions on arrays of numbers
3 | */
4 |
5 | Array.prototype.sum = function() {
6 | var i, sum = 0;
7 | for (i = 0; i < this.length; i++) {
8 | sum += this[i];
9 | }
10 | return sum;
11 | }
12 |
13 | Array.prototype.max = function() {
14 | return Math.max.apply(null, this);
15 | }
16 |
17 | Array.prototype.min = function() {
18 | return Math.min.apply(null, this);
19 | }
20 |
21 | Array.prototype.mean = function() {
22 | return this.sum() / this.length;
23 | }
24 | Array.prototype.average = Array.prototype.mean;
25 |
26 | Array.prototype.median = function() {
27 | var sorted = this.sort( function(a,b) { return a-b; }),
28 | len = sorted.length;
29 | if (len % 2) {
30 | return sorted[Math.floor(len / 2)]; // Odd
31 | } else {
32 | return (sorted[len/2 - 1] + sorted[len/2]) / 2; // Even
33 | }
34 | }
35 |
36 | Array.prototype.stdDev = function(sample) {
37 | var i, sumSqr = 0, mean = this.mean(), N;
38 |
39 | if (sample) {
40 | // Population correction if this is a sample
41 | N = this.length - 1;
42 | } else {
43 | // Standard deviation of just the array
44 | N = this.length;
45 | }
46 |
47 | for (i = 0; i < this.length; i++) {
48 | sumSqr += Math.pow(this[i] - mean, 2);
49 | }
50 |
51 | return Math.sqrt(sumSqr / N);
52 | }
53 |
54 |
--------------------------------------------------------------------------------
/calibre-desk/src/noVNC/tests/test.base64.js:
--------------------------------------------------------------------------------
1 | // requires local modules: base64
2 | var assert = chai.assert;
3 | var expect = chai.expect;
4 |
5 | describe('Base64 Tools', function() {
6 | "use strict";
7 |
8 | var BIN_ARR = new Array(256);
9 | for (var i = 0; i < 256; i++) {
10 | BIN_ARR[i] = i;
11 | }
12 |
13 | var B64_STR = "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn+AgYKDhIWGh4iJiouMjY6PkJGSk5SVlpeYmZqbnJ2en6ChoqOkpaanqKmqq6ytrq+wsbKztLW2t7i5uru8vb6/wMHCw8TFxsfIycrLzM3Oz9DR0tPU1dbX2Nna29zd3t/g4eLj5OXm5+jp6uvs7e7v8PHy8/T19vf4+fr7/P3+/w==";
14 |
15 |
16 | describe('encode', function() {
17 | it('should encode a binary string into Base64', function() {
18 | var encoded = Base64.encode(BIN_ARR);
19 | expect(encoded).to.equal(B64_STR);
20 | });
21 | });
22 |
23 | describe('decode', function() {
24 | it('should decode a Base64 string into a normal string', function() {
25 | var decoded = Base64.decode(B64_STR);
26 | expect(decoded).to.deep.equal(BIN_ARR);
27 | });
28 |
29 | it('should throw an error if we have extra characters at the end of the string', function() {
30 | expect(function () { Base64.decode(B64_STR+'abcdef'); }).to.throw(Error);
31 | });
32 | });
33 | });
34 |
--------------------------------------------------------------------------------
/calibre-desk/src/noVNC/tests/viewport.css:
--------------------------------------------------------------------------------
1 | html,body {
2 | margin: 0px;
3 | padding: 0px;
4 | width: 100%;
5 | height: 100%;
6 | }
7 |
8 | .flex-layout {
9 | width: 100%;
10 | height: 100%;
11 |
12 | display: box;
13 | display: -webkit-box;
14 | display: -moz-box;
15 | display: -ms-box;
16 |
17 | box-orient: vertical;
18 | -webkit-box-orient: vertical;
19 | -moz-box-orient: vertical;
20 | -ms-box-orient: vertical;
21 |
22 | box-align: stretch;
23 | -webkit-box-align: stretch;
24 | -moz-box-align: stretch;
25 | -ms-box-align: stretch;
26 | }
27 | .flex-box {
28 | box-flex: 1;
29 | -webkit-box-flex: 1;
30 | -moz-box-flex: 1;
31 | -ms-box-flex: 1;
32 | }
33 |
34 | .container {
35 | margin: 0px;
36 | padding: 0px;
37 | }
38 |
39 | .canvas {
40 | position: absolute;
41 | border-style: dotted;
42 | border-width: 1px;
43 | }
44 |
--------------------------------------------------------------------------------
/calibre-desk/src/noVNC/utils/Makefile:
--------------------------------------------------------------------------------
1 | TARGETS=rebind.so
2 | CFLAGS += -fPIC
3 |
4 | all: $(TARGETS)
5 |
6 | rebind.so: rebind.o
7 | $(CC) $(LDFLAGS) $^ -shared -fPIC -ldl -o $@
8 |
9 | clean:
10 | rm -f rebind.o rebind.so
11 |
12 |
--------------------------------------------------------------------------------
/calibre-desk/src/noVNC/utils/README.md:
--------------------------------------------------------------------------------
1 | ## WebSockets Proxy/Bridge
2 |
3 | For more detailed description and usage information please refer to
4 | the [websockify README](https://github.com/kanaka/websockify/blob/master/README.md).
5 |
6 | The other versions of websockify (C, Node.js) and the associated test
7 | programs have been moved to
8 | [websockify](https://github.com/kanaka/websockify). Websockify was
9 | formerly named wsproxy.
10 |
11 |
--------------------------------------------------------------------------------
/calibre-desk/src/noVNC/utils/img2js.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python
2 |
3 | #
4 | # Convert image to Javascript compatible base64 Data URI
5 | # Copyright 2011 Joel Martin
6 | # Licensed under MPL 2.0 (see docs/LICENSE.MPL-2.0)
7 | #
8 |
9 | import sys, base64
10 |
11 | try:
12 | from PIL import Image
13 | except:
14 | print "python PIL module required (python-imaging package)"
15 | sys.exit(1)
16 |
17 |
18 | if len(sys.argv) < 3:
19 | print "Usage: %s IMAGE JS_VARIABLE" % sys.argv[0]
20 | sys.exit(1)
21 |
22 | fname = sys.argv[1]
23 | var = sys.argv[2]
24 |
25 | ext = fname.lower().split('.')[-1]
26 | if ext == "png": mime = "image/png"
27 | elif ext in ["jpg", "jpeg"]: mime = "image/jpeg"
28 | elif ext == "gif": mime = "image/gif"
29 | else:
30 | print "Only PNG, JPEG and GIF images are supported"
31 | sys.exit(1)
32 | uri = "data:%s;base64," % mime
33 |
34 | im = Image.open(fname)
35 | w, h = im.size
36 |
37 | raw = open(fname).read()
38 |
39 | print '%s = {"width": %s, "height": %s, "data": "%s%s"};' % (
40 | var, w, h, uri, base64.b64encode(raw))
41 |
--------------------------------------------------------------------------------
/calibre-desk/src/noVNC/utils/rebind:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | usage() {
4 | echo "Usage: $(basename $0) OLD_PORT NEW_PORT COMMAND_LINE"
5 | echo
6 | echo "Launch COMMAND_LINE, but intercept system calls to bind"
7 | echo "to OLD_PORT and instead bind them to localhost:NEW_PORT"
8 | exit 2
9 | }
10 |
11 | # Parameter defaults
12 | mydir=$(readlink -f $(dirname ${0}))
13 |
14 | export REBIND_PORT_OLD="${1}"; shift
15 | export REBIND_PORT_NEW="${1}"; shift
16 |
17 | LD_PRELOAD=${mydir}/rebind.so "${@}"
18 |
19 |
--------------------------------------------------------------------------------
/calibre-desk/src/noVNC/utils/u2x11:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 | #
3 | # Convert "U+..." commented entries in /usr/include/X11/keysymdef.h
4 | # into JavaScript for use by noVNC. Note this is likely to produce
5 | # a few duplicate properties with clashing values, that will need
6 | # resolving manually.
7 | #
8 | # Colin Dean
9 | #
10 |
11 | regex="^#define[ \t]+XK_[A-Za-z0-9_]+[ \t]+0x([0-9a-fA-F]+)[ \t]+\/\*[ \t]+U\+([0-9a-fA-F]+)[ \t]+[^*]+.[ \t]+\*\/[ \t]*$"
12 | echo "unicodeTable = {"
13 | while read line; do
14 | if echo "${line}" | egrep -qs "${regex}"; then
15 |
16 | x11=$(echo "${line}" | sed -r "s/${regex}/\1/")
17 | vnc=$(echo "${line}" | sed -r "s/${regex}/\2/")
18 |
19 | if echo "${vnc}" | egrep -qs "^00[2-9A-F][0-9A-F]$"; then
20 | : # skip ISO Latin-1 (U+0020 to U+00FF) as 1-to-1 mapping
21 | else
22 | # note 1-to-1 is possible (e.g. for Euro symbol, U+20AC)
23 | echo " 0x${vnc} : 0x${x11},"
24 | fi
25 | fi
26 | done < /usr/include/X11/keysymdef.h | uniq
27 | echo "};"
28 |
29 |
--------------------------------------------------------------------------------
/calibre-desk/src/noVNC/utils/websockify.py:
--------------------------------------------------------------------------------
1 | websockify
--------------------------------------------------------------------------------
/calibre-desk/src/noVNC/utils/wsproxy.py:
--------------------------------------------------------------------------------
1 | websockify
--------------------------------------------------------------------------------
/calibre-desk/src/rc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 1
5 | 1
6 |
7 | work
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/calibre-desk/src/x11vnc:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | exec 2>&1
3 | exec x11vnc -display :1 -xkb -ncache 10 -rfbportv6 -1 -noipv6 -no6 -rfbport 5900
4 |
--------------------------------------------------------------------------------
/calibre-desk/src/xrdp:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | exec 2>&1
3 | RSAKEYS=/etc/xrdp/rsakeys.ini
4 | # Check for rsa key
5 | if [ ! -f $RSAKEYS ] || cmp $RSAKEYS /usr/share/doc/xrdp/rsakeys.ini > /dev/null; then
6 | echo "Generating xrdp RSA keys..."
7 | (umask 077 ; xrdp-keygen xrdp $RSAKEYS)
8 | chown root:root $RSAKEYS
9 | if [ ! -f $RSAKEYS ] ; then
10 | echo "could not create $RSAKEYS"
11 | exit 1
12 | fi
13 | echo "done"
14 | fi
15 | exec /usr/sbin/xrdp --nodaemon
16 |
--------------------------------------------------------------------------------
/calibre-desk/src/xrdp-sesman:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | exec 2>&1
3 | exec env DISPLAY=:1 HOME=/nobody /sbin/setuser nobody /usr/bin/openbox-session
4 |
--------------------------------------------------------------------------------
/calibre-desk/src/xrdp.ini:
--------------------------------------------------------------------------------
1 |
2 | [globals]
3 | bitmap_cache=yes
4 | bitmap_compression=yes
5 | port=3389
6 | crypt_level=low
7 | channel_code=1
8 | max_bpp=24
9 | #black=000000
10 | #grey=d6d3ce
11 | #dark_grey=808080
12 | #blue=08246b
13 | #dark_blue=08246b
14 | #white=ffffff
15 | #red=ff0000
16 | #green=00ff00
17 | #background=626c72
18 | [xrdp1]
19 | name=Calibre-Desktop
20 | lib=libvnc.so
21 | ip=127.0.0.1
22 | port=5900
23 | username=na
24 | password=na
25 |
--------------------------------------------------------------------------------
/couchpotato/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM phusion/baseimage:0.9.16
2 | ENV DEBIAN_FRONTEND noninteractive
3 |
4 | # Set correct environment variables
5 | ENV HOME /root
6 | ENV TERM xterm
7 |
8 | # Use baseimage-docker's init system
9 | CMD ["/sbin/my_init"]
10 |
11 | # Add local files
12 | ADD edge.sh /root/edge.sh
13 | ADD couchpotato.sh /root/couchpotato.sh
14 |
15 | # Fix a Debianism of the nobody's uid being 65534
16 | RUN usermod -u 99 nobody && \
17 | usermod -g 100 nobody && \
18 |
19 | add-apt-repository "deb http://us.archive.ubuntu.com/ubuntu/ trusty universe multiverse" && \
20 | add-apt-repository "deb http://us.archive.ubuntu.com/ubuntu/ trusty-updates universe multiverse" && \
21 | apt-get update -q && \
22 |
23 | # Install Dependencies
24 | apt-get install -qy python python-lxml ca-certificates wget unrar git-core && \
25 |
26 | # Install CouchPotato
27 | git clone https://github.com/RuudBurger/CouchPotatoServer.git /opt/couchpotato && \
28 | chown -R nobody:users /opt/couchpotato && \
29 |
30 |
31 |
32 |
33 |
34 | # Downloads/Movies directory
35 | mkdir /mnt/XBMC-Media && \
36 |
37 | # Add edge.sh to execute during container startup
38 | mkdir -p /etc/my_init.d && \
39 | mv /root/edge.sh /etc/my_init.d/edge.sh && \
40 | chmod +x /etc/my_init.d/edge.sh && \
41 |
42 | # Add CouchPotato to runit
43 | mkdir /etc/service/couchpotato && \
44 | mv /root/couchpotato.sh /etc/service/couchpotato/run && \
45 | chmod +x /etc/service/couchpotato/run
46 |
47 | EXPOSE 5050
48 |
49 | # Couchpotato Configuration
50 | VOLUME /config
51 |
--------------------------------------------------------------------------------
/couchpotato/README.md:
--------------------------------------------------------------------------------
1 | This is a Dockerfile setup for couchpotato - https://couchpota.to/
2 |
3 | PERSONALISED VERSION TAILORED FOR AN INDIVIDUAL SERVER ALREADY IN PLACE
4 | NOT REALLY SUITABLE FOR ANYONE ELSE TO USE.
5 |
6 |
7 | By default this Docker installs the latest stable version of CouchPotato:
8 |
9 | ```
10 | docker run -d --net="host" --name="couchpotato" -v /path/to/couchpotato/data:/config -v /path/to/downloads:/downloads -v /path/to/movies:/movies -v /etc/localtime:/etc/localtime:ro -p 5050:5050 needo/couchpotato
11 | ```
12 |
13 | Edge
14 | ----
15 | If you would like to run the latest updates from the master branch as well as enable in-app updates run:
16 |
17 | ```
18 | docker run -d --net="host" --name="couchpotato" -v /path/to/couchpotato/data:/config -v /path/to/downloads:/downloads -v /path/to/movies:/movies -v /etc/localtime:/etc/localtime:ro -e EDGE=1 -p 5050:5050 needo/couchpotato
19 | ```
20 |
--------------------------------------------------------------------------------
/couchpotato/couchpotato.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | exec /sbin/setuser nobody python /opt/couchpotato/CouchPotato.py --config_file=/config/settings.conf --data_dir=/config/data > /dev/null 2>&1
4 |
--------------------------------------------------------------------------------
/couchpotato/edge.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | # Does the user want the latest version
4 | if [ -z "$EDGE" ]; then
5 | echo "Bleeding edge not requested"
6 | else
7 | cd /opt/couchpotato
8 | echo "pulling updates from git"
9 | git pull > /dev/null 2>&1
10 | echo "pull complete"
11 | chown -R nobody:users /opt/couchpotato
12 | fi
13 |
--------------------------------------------------------------------------------
/cyca/src/apache-config.conf:
--------------------------------------------------------------------------------
1 |
2 | ServerAdmin me@mydomain.com
3 | DocumentRoot /var/www/Cyca
4 |
5 | Options Indexes FollowSymLinks MultiViews
6 | AllowOverride All
7 | Order deny,allow
8 | Allow from all
9 |
10 | ErrorLog ${APACHE_LOG_DIR}/error.log
11 | CustomLog ${APACHE_LOG_DIR}/access.log combined
12 |
13 |
14 |
--------------------------------------------------------------------------------
/cyca/src/apache.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | exec /usr/sbin/apache2ctl -D FOREGROUND
3 |
--------------------------------------------------------------------------------
/cyca/src/cronjob:
--------------------------------------------------------------------------------
1 | # Edit this file to introduce tasks to be run by cron.
2 | #
3 | # Each task to run has to be defined through a single line
4 | # indicating with different fields when the task will be run
5 | # and what command to run for the task
6 | #
7 | # To define the time you can provide concrete values for
8 | # minute (m), hour (h), day of month (dom), month (mon),
9 | # and day of week (dow) or use '*' in these fields (for 'any').#
10 | # Notice that tasks will be started based on the cron's system
11 | # daemon's notion of time and timezones.
12 | #
13 | # Output of the crontab jobs (including errors) is sent through
14 | # email to the user the crontab file belongs to (unless redirected).
15 | #
16 | # For example, you can run a backup of all your user accounts
17 | # at 5 a.m every week with:
18 | # 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
19 | #
20 | # For more information see the manual pages of crontab(5) and cron(8)
21 | #
22 | # m h dom mon dow command
23 | * * * * * /usr/bin/php5 /var/www/Cyca/index.php update-documents 2>&1 > /dev/null
24 | * * * * * /usr/bin/php5 /var/www/Cyca/index.php update-feeds 2>&1 > /dev/null
25 |
--------------------------------------------------------------------------------
/cyca/src/firstrun.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | if [ -f "/var/www/Cyca/index.php" ]; then
3 | echo "using existing website"
4 | chown -R www-data:www-data /var/log/apache2
5 | chown -R www-data:www-data /var/www/Cyca
6 | else
7 | echo "fetching cyca files"
8 | cp -pr /root/tempwww/Cyca /var/www/
9 | sleep 8
10 | chown -R www-data:www-data /var/www/Cyca
11 | fi
12 | crontab /root/cronjob
13 |
--------------------------------------------------------------------------------
/daapd-server/src/Makefile.am:
--------------------------------------------------------------------------------
1 |
2 | AM_CFLAGS = @THREADSAFE_FLAGS@ @DYNAMIC_EXTENSION_FLAGS@ -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_UNLOCK_NOTIFY
3 |
4 | lib_LTLIBRARIES = libsqlite3.la
5 | libsqlite3_la_SOURCES = sqlite3.c
6 | libsqlite3_la_LDFLAGS = -no-undefined -version-info 8:6:8
7 |
8 | bin_PROGRAMS = sqlite3
9 | sqlite3_SOURCES = shell.c sqlite3.h
10 | sqlite3_LDADD = $(top_builddir)/libsqlite3.la @READLINE_LIBS@
11 | sqlite3_DEPENDENCIES = $(top_builddir)/libsqlite3.la
12 |
13 | include_HEADERS = sqlite3.h sqlite3ext.h
14 |
15 | EXTRA_DIST = sqlite3.pc sqlite3.1
16 | pkgconfigdir = ${libdir}/pkgconfig
17 | pkgconfig_DATA = sqlite3.pc
18 |
19 | man_MANS = sqlite3.1
20 |
--------------------------------------------------------------------------------
/daapd-server/src/config-files/supervisord.conf:
--------------------------------------------------------------------------------
1 | [supervisord]
2 | nodaemon=true
3 | [program:avahi-daemon]
4 | command=avahi-daemon --no-drop-root -f /root/config-files/avahi-daemon.conf
5 | [program:daapd-server]
6 | command=/usr/sbin/forked-daapd -f -c /config/forked-daapd.conf -P /daapd-pidfolder/forked-daapd.pid
7 |
--------------------------------------------------------------------------------
/daapd-server/src/excludes:
--------------------------------------------------------------------------------
1 | path-exclude /usr/share/doc/*
2 | # we need to keep copyright files for legal reasons
3 | path-include /usr/share/doc/*/copyright
4 | path-exclude /usr/share/man/*
5 | path-exclude /usr/share/groff/*
6 | path-exclude /usr/share/info/*
7 | # lintian stuff is small, but really unnecessary
8 | path-exclude /usr/share/lintian/*
9 | path-exclude /usr/share/linda/*
10 | # Drop locales except English
11 | path-exclude=/usr/share/locale/*
12 | path-include=/usr/share/locale/en/*
13 | path-include=/usr/share/locale/locale.alias
14 |
--------------------------------------------------------------------------------
/daapd-server/src/my_init.d/001-fix-the-time.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | if [[ $(cat /etc/timezone) != $TZ ]] ; then
3 | echo "$TZ" > /etc/timezone
4 | exec dpkg-reconfigure -f noninteractive tzdata
5 | fi
6 |
--------------------------------------------------------------------------------
/daapd-server/src/my_init.d/002-set-config-files.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | if [ ! -f "/config/forked-daapd.conf" ]; then
3 | cp /root/config-files/forked-daapd.conf /config/forked-daapd.conf
4 | fi
5 | if [ ! -d "/config/logs-databases-and-cache" ]; then
6 | mkdir -p /config/logs-databases-and-cache
7 | chown -R root:root /config/logs-databases-and-cache
8 | fi
9 | if [ ! -d "/daapd-pidfolder" ]; then
10 | mkdir -p /daapd-pidfolder
11 | chown -R root:root /daapd-pidfolder
12 | fi
13 | chown nobody:users /config/forked-daapd.conf
14 |
15 |
16 |
--------------------------------------------------------------------------------
/daapd-server/src/my_init.d/003-bring-up-the-app.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | exec /usr/bin/supervisord -c /root/config-files/supervisord.conf & > /dev/null 2>&1
3 |
--------------------------------------------------------------------------------
/deluge/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM phusion/baseimage:0.9.17
2 | MAINTAINER sparklyballs
3 |
4 | # Set correct environment variables
5 | ENV DEBIAN_FRONTEND="noninteractive" HOME="/root" TERM="xterm" APTLIST="deluged \
6 | deluge-web \
7 | p7zip \
8 | unrar \
9 | unzip"
10 |
11 | # Use baseimage-docker's init system
12 | CMD ["/sbin/my_init"]
13 |
14 | # change sources list
15 | ADD sources.list /etc/apt/
16 |
17 | # Update apt and install dependencies etc..
18 | RUN add-apt-repository ppa:deluge-team/ppa && \
19 | apt-get update -qq && \
20 | apt-get install -qy $APTLIST && \
21 | rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
22 |
23 | # adding custom files
24 | ADD services/ /etc/service/
25 | ADD init/ /etc/my_init.d/
26 | RUN chmod -v +x /etc/service/*/run && chmod -v +x /etc/my_init.d/*.sh && \
27 |
28 | # fix pid and gid for nobody user
29 | usermod -u 99 nobody && \
30 | usermod -g 100 nobody
31 |
32 | # set volumes and ports
33 | VOLUME /config /downloads /incomplete-downloads
34 | EXPOSE 8112 58846
35 |
36 |
--------------------------------------------------------------------------------
/deluge/init/10_set_perms.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | chown nobody:users /downloads /incomplete-downloads
3 | chown -R nobody:users /config
4 |
5 |
6 |
--------------------------------------------------------------------------------
/deluge/init/20_apt_update.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | apt-get update -qq
4 | apt-get --only-upgrade install \
5 | $APTLIST -qqy
6 |
7 |
8 |
--------------------------------------------------------------------------------
/deluge/services/deluge-web/run:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | exec /sbin/setuser nobody deluge-web -c /config
3 |
--------------------------------------------------------------------------------
/deluge/services/deluge/run:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | exec /sbin/setuser nobody deluged -d -c /config -L info -l /config/deluged.log
4 |
--------------------------------------------------------------------------------
/deluge/sources.list:
--------------------------------------------------------------------------------
1 | #############################################################
2 | ################### OFFICIAL UBUNTU REPOS ###################
3 | #############################################################
4 |
5 | ###### Ubuntu Main Repos
6 | deb mirror://mirrors.ubuntu.com/mirrors.txt trusty main restricted universe multiverse
7 | deb-src mirror://mirrors.ubuntu.com/mirrors.txt trusty main restricted universe multiverse
8 |
9 | ###### Ubuntu Update Repos
10 | deb mirror://mirrors.ubuntu.com/mirrors.txt trusty-security main restricted universe multiverse
11 | deb mirror://mirrors.ubuntu.com/mirrors.txt trusty-updates main restricted universe multiverse
12 | deb-src mirror://mirrors.ubuntu.com/mirrors.txt trusty-security main restricted universe multiverse
13 | deb-src mirror://mirrors.ubuntu.com/mirrors.txt trusty-updates main restricted universe multiverse
14 |
15 |
16 |
--------------------------------------------------------------------------------
/dokuwiki/src/001-fix-the-time.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | if [[ $(cat /etc/timezone) != $TZ ]] ; then
3 | echo "$TZ" > /etc/timezone
4 | sed -i -e "s#;date.timezone.*#date.timezone = ${TZ}#g" /etc/php5/apache2/php.ini
5 | sed -i -e "s#;date.timezone.*#date.timezone = ${TZ}#g" /etc/php5/cli/php.ini
6 | exec dpkg-reconfigure -f noninteractive tzdata
7 | fi
8 |
--------------------------------------------------------------------------------
/dokuwiki/src/002-copy-files.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | mkdir -p /var/www/dokuwiki
3 | if [ -f "/var/www/dokuwiki/index.php" ]; then
4 | echo "using existing website"
5 | chown -R www-data:www-data /var/log/apache2 /var/www/dokuwiki
6 | else
7 | echo "copying dokuwiki files"
8 | cp -pr /root/dokuwiki/* /var/www/dokuwiki/
9 | chown -R www-data:www-data /var/www/dokuwiki
10 | fi
11 |
--------------------------------------------------------------------------------
/dokuwiki/src/apache-config.conf:
--------------------------------------------------------------------------------
1 |
2 | DocumentRoot /var/www/dokuwiki
3 |
4 | Options FollowSymLinks
5 | AllowOverride All
6 |
7 |
8 | Options Indexes FollowSymLinks MultiViews
9 | AllowOverride All
10 | Order allow,deny
11 | allow from all
12 |
13 |
14 | Order allow,deny
15 | deny from all
16 |
17 |
18 | Order allow,deny
19 | deny from all
20 |
21 |
22 | Order allow,deny
23 | deny from all
24 |
25 |
26 | Order allow,deny
27 | deny from all
28 |
29 |
30 |
--------------------------------------------------------------------------------
/dokuwiki/src/apache.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | exec /usr/sbin/apache2ctl -D FOREGROUND
3 |
--------------------------------------------------------------------------------
/fpm-packager/startup/movedeb.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | cp /root/project/debout/*.deb /root/debout/
3 |
--------------------------------------------------------------------------------
/freshrss/Dockerfile:
--------------------------------------------------------------------------------
1 | # set base os
2 | FROM phusion/baseimage:0.9.16
3 |
4 | # Set environment variables for my_init, terminal and apache
5 | ENV DEBIAN_FRONTEND=noninteractive HOME="/root" TERM=xterm APACHE_RUN_USER=www-data APACHE_RUN_GROUP=www-data APACHE_LOG_DIR="/var/log/apache2" APACHE_LOCK_DIR="/var/lock/apache2" APACHE_PID_FILE="/var/run/apache2.pid"
6 | CMD ["/sbin/my_init"]
7 |
8 | # add local files
9 | ADD src/ /root/
10 |
11 | # expose port(s)
12 | EXPOSE 80
13 |
14 | # startup files
15 | RUN mkdir -p /etc/service/apache && \
16 | mv /root/apache.sh /etc/service/apache/run && \
17 | mv /root/firstrun.sh /etc/my_init.d/firstrun.sh && \
18 | chmod +x /etc/service/apache/run && \
19 | chmod +x /etc/my_init.d/firstrun.sh && \
20 |
21 | # update apt and install dependencies
22 | apt-get update && \
23 | apt-get install wget apache2 php5 php5-common php5-curl php5-mysql unzip -y && \
24 |
25 | # Enable apache mods.
26 | a2enmod php5 && \
27 | a2enmod rewrite && \
28 | # Update the PHP.ini file, enable ?> tags and quieten logging.
29 | sed -i "s/short_open_tag = Off/short_open_tag = On/" /etc/php5/apache2/php.ini && \
30 | sed -i "s/error_reporting = .*$/error_reporting = E_ERROR | E_WARNING | E_PARSE/" /etc/php5/apache2/php.ini && \
31 |
32 | # add apache config for site
33 | mv /root/apache-config.conf /etc/apache2/sites-enabled/000-default.conf
34 |
35 |
36 |
--------------------------------------------------------------------------------
/freshrss/src/apache-config.conf:
--------------------------------------------------------------------------------
1 |
2 | ServerAdmin me@mydomain.com
3 | DocumentRoot /var/www/freshrss
4 |
5 | Options Indexes FollowSymLinks MultiViews
6 | AllowOverride All
7 | Order deny,allow
8 | Allow from all
9 |
10 | ErrorLog ${APACHE_LOG_DIR}/error.log
11 | CustomLog ${APACHE_LOG_DIR}/access.log combined
12 |
13 |
14 |
--------------------------------------------------------------------------------
/freshrss/src/apache.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | exec /usr/sbin/apache2ctl -D FOREGROUND
3 |
--------------------------------------------------------------------------------
/freshrss/src/cronjob:
--------------------------------------------------------------------------------
1 | # Edit this file to introduce tasks to be run by cron.
2 | #
3 | # Each task to run has to be defined through a single line
4 | # indicating with different fields when the task will be run
5 | # and what command to run for the task
6 | #
7 | # To define the time you can provide concrete values for
8 | # minute (m), hour (h), day of month (dom), month (mon),
9 | # and day of week (dow) or use '*' in these fields (for 'any').#
10 | # Notice that tasks will be started based on the cron's system
11 | # daemon's notion of time and timezones.
12 | #
13 | # Output of the crontab jobs (including errors) is sent through
14 | # email to the user the crontab file belongs to (unless redirected).
15 | #
16 | # For example, you can run a backup of all your user accounts
17 | # at 5 a.m every week with:
18 | # 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
19 | #
20 | # For more information see the manual pages of crontab(5) and cron(8)
21 | #
22 | # m h dom mon dow command
23 | 0,15 * * * * php /var/www/freshrss/app/actualize_script.php > /tmp/FreshRSS.log 2>&1
24 |
--------------------------------------------------------------------------------
/freshrss/src/firstrun.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | mkdir -p /var/www/freshrss
3 | if [ -f "/var/www/freshrss/index.php" ]; then
4 | echo "using existing website"
5 | chown -R www-data:www-data /var/log/apache2
6 | else
7 | echo "fetching freshress files"
8 | cd /var/www/freshrss
9 | wget https://github.com/marienfressinaud/FreshRSS/archive/master.zip
10 | unzip master.zip
11 | mv FreshRSS-master/* .
12 | rm -R FreshRSS-master/ master.zip
13 | chown -R www-data:www-data /var/www/freshrss
14 | fi
15 | crontab /root/cronjob
16 |
17 |
--------------------------------------------------------------------------------
/gerrit/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM phusion/baseimage:0.9.16
2 |
3 | # Set correct environment variables
4 | ENV DEBIAN_FRONTEND=noninteractive HOME="/root" TERM=xterm GERRIT_HOME="/opt/gerrit" GERRIT_TMP="/gerrit-tmp" GERRIT_WAR="/gerrit-tmp/gerrit.war"
5 |
6 | # Use baseimage-docker's init system
7 | CMD ["/sbin/my_init"]
8 |
9 | # Add local files
10 | ADD src/ /root/
11 |
12 | # Expose port(s)
13 | EXPOSE 8080 29418
14 |
15 | # Fix a Debianism of the nobody's uid being 65534
16 | RUN usermod -u 99 nobody && \
17 | usermod -g 100 nobody && \
18 |
19 | # fix startup files
20 | mv /root/firstrun.sh /etc/my_init.d/firstrun.sh && \
21 | chmod +x /etc/my_init.d/firstrun.sh && \
22 |
23 | # install dependencies etc, set supervisor file and get gerrit.
24 | apt-get update && \
25 | apt-get install -y sudo vim-tiny git openjdk-7-jre-headless wget supervisor && \
26 | mkdir -p $GERRIT_TMP && \
27 | cd /tmp && \
28 | wget --no-check-certificate https://gerrit-releases.storage.googleapis.com/gerrit-2.10.2.war && \
29 | mv gerrit-2.10.2.war $GERRIT_WAR && \
30 | chown -R nobody:users $GERRIT_TMP && \
31 | mv /root/supervisord.conf /etc/supervisor/conf.d/supervisord.conf && \
32 |
33 |
34 | # clean up
35 | apt-get clean && \
36 | rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* \
37 | /usr/share/man /usr/share/groff /usr/share/info \
38 | /usr/share/lintian /usr/share/linda /var/cache/man && \
39 | (( find /usr/share/doc -depth -type f ! -name copyright|xargs rm || true )) && \
40 | (( find /usr/share/doc -empty|xargs rmdir || true ))
41 |
42 |
--------------------------------------------------------------------------------
/gerrit/README.md:
--------------------------------------------------------------------------------
1 | docker-gerrit
2 | =============
3 |
4 | Build a Docker container with the gerrit code review system
5 |
6 | These are the source files that build the edgester/gerrit Docker image
7 | located at https://registry.hub.docker.com/u/edgester/gerrit/
8 |
9 | The current files will build an image that is based on the ubuntu:trusty
10 | image. the images includes:
11 |
12 | * supervisord
13 | * Gerrit 2.9 using the H2 storage backend
14 |
15 | The following ports are exposed in the image:
16 |
17 | * 8080/tcp (http) - Gerrit Web interface
18 | * 29418/tcp (ssh) - The restricted gerrit ssh daemon
19 |
20 |
21 | ## Building the image
22 |
23 | To build the image run the "./build".
24 |
25 | To run normally as a daemon, run "./run" or the following command:
26 | `sudo docker run -p 127.0.0.1:8080:8080 -p 127.0.0.1:29418:29418 -d edgester/gerrit `
27 |
28 | To use gerrit after starting the container, go to [http://localhost:8080][1] and login with an OpenID service, like Google, Yahoo, or Launchpad. The first person to login is the administrator and may create users and projects.
29 |
30 | Source files for this image are at [https://github.com/edgester/docker-gerrit][2]
31 |
32 | [1]: http://localhost:8080
33 | [2]: https://github.com/edgester/docker-gerrit
34 |
--------------------------------------------------------------------------------
/gerrit/src/firstrun.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | chown -R nobody:users /opt/gerrit
3 | if [ -d "/opt/gerrit/bin" ]; then
4 | echo "gerrit files already in place"
5 | chown -R nobody:users /opt/gerrit
6 | exec /usr/bin/supervisord
7 | else
8 | /sbin/setuser nobody java -jar $GERRIT_WAR init --batch -d $GERRIT_HOME
9 | cp /root/gerrit.config /opt/gerrit/etc/gerrit.config
10 | chown -R nobody:users /opt/gerrit
11 | sleep 15s
12 | fi
13 |
--------------------------------------------------------------------------------
/gerrit/src/gerrit.config:
--------------------------------------------------------------------------------
1 | [gerrit]
2 | basePath = git
3 | canonicalWebUrl = http://localhost:8080/
4 | [database]
5 | type = H2
6 | database = db/ReviewDB
7 | [auth]
8 | type = OPENID
9 | [sendemail]
10 | smtpServer = localhost
11 | [container]
12 | user = gerrit
13 | javaHome = /usr/lib/jvm/java-7-openjdk-amd64/jre
14 | [sshd]
15 | listenAddress = *:29418
16 | [httpd]
17 | listenUrl = http://*:8080/
18 | [cache]
19 | directory = cache
20 |
--------------------------------------------------------------------------------
/gerrit/src/supervisord.conf:
--------------------------------------------------------------------------------
1 | [supervisord]
2 | nodaemon=true
3 | [program:gerrit]
4 | user=nobody
5 | command=/opt/gerrit/bin/gerrit.sh start
6 |
--------------------------------------------------------------------------------
/headless-kodi-helix-yatse/src/kodi.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | exec /sbin/setuser nobody /opt/kodi-server/lib/kodi/kodi.bin --nolirc --headless -p
4 |
5 |
--------------------------------------------------------------------------------
/headless-kodi-helix/.gitattributes:
--------------------------------------------------------------------------------
1 | # Auto detect text files and force unix-style line endings
2 | * text eol=lf
3 |
4 |
--------------------------------------------------------------------------------
/headless-kodi-helix/README.md:
--------------------------------------------------------------------------------
1 | Kodi headless server install
2 |
3 |
--------------------------------------------------------------------------------
/headless-kodi-helix/src/excludes:
--------------------------------------------------------------------------------
1 | path-exclude /usr/share/doc/*
2 | # we need to keep copyright files for legal reasons
3 | path-include /usr/share/doc/*/copyright
4 | path-exclude /usr/share/man/*
5 | path-exclude /usr/share/groff/*
6 | path-exclude /usr/share/info/*
7 | # lintian stuff is small, but really unnecessary
8 | path-exclude /usr/share/lintian/*
9 | path-exclude /usr/share/linda/*
10 | # Drop locales except English
11 | path-exclude=/usr/share/locale/*
12 | path-include=/usr/share/locale/en/*
13 | path-include=/usr/share/locale/locale.alias
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/headless-kodi-helix/src/kodi.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | exec /sbin/setuser nobody /opt/kodi-server/lib/kodi/kodi.bin --nolirc --headless -p
4 |
--------------------------------------------------------------------------------
/headless-kodi-isengard-yatse/src/kodi.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | exec /sbin/setuser nobody /opt/kodi-server/lib/kodi/kodi.bin --nolirc --headless -p
4 |
5 |
--------------------------------------------------------------------------------
/headless-kodi-isengard/.gitattributes:
--------------------------------------------------------------------------------
1 | # Auto detect text files and force unix-style line endings
2 | * text eol=lf
3 |
4 |
--------------------------------------------------------------------------------
/headless-kodi-isengard/README.md:
--------------------------------------------------------------------------------
1 | Kodi headless server install
2 |
3 |
--------------------------------------------------------------------------------
/headless-kodi-isengard/src/excludes:
--------------------------------------------------------------------------------
1 | path-exclude /usr/share/doc/*
2 | # we need to keep copyright files for legal reasons
3 | path-include /usr/share/doc/*/copyright
4 | path-exclude /usr/share/man/*
5 | path-exclude /usr/share/groff/*
6 | path-exclude /usr/share/info/*
7 | # lintian stuff is small, but really unnecessary
8 | path-exclude /usr/share/lintian/*
9 | path-exclude /usr/share/linda/*
10 | # Drop locales except English
11 | path-exclude=/usr/share/locale/*
12 | path-include=/usr/share/locale/en/*
13 | path-include=/usr/share/locale/locale.alias
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/headless-kodi-isengard/src/kodi.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | exec /sbin/setuser nobody /opt/kodi-server/lib/kodi/kodi.bin --nolirc --headless -p
4 |
--------------------------------------------------------------------------------
/headphones/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM phusion/baseimage:0.9.16
2 |
3 | ENV DEBIAN_FRONTEND noninteractive
4 |
5 | # Set correct environment variables
6 | ENV HOME /root
7 | ENV TERM xterm
8 |
9 | # Use baseimage-docker's init system
10 | CMD ["/sbin/my_init"]
11 |
12 | # Add local files
13 | ADD edge.sh /root/edge.sh
14 | ADD headphones.sh /root/headphones.sh
15 |
16 | # Fix a Debianism of the nobody's uid being 65534
17 | RUN usermod -u 99 nobody && \
18 | usermod -g 100 nobody && \
19 |
20 | add-apt-repository "deb http://us.archive.ubuntu.com/ubuntu/ trusty universe multiverse" && \
21 | add-apt-repository "deb http://us.archive.ubuntu.com/ubuntu/ trusty-updates universe multiverse" && \
22 | apt-get update -q && \
23 |
24 | # Install Dependencies
25 | apt-get install -qy python python-cheetah ca-certificates wget unrar git-core && \
26 |
27 | # Install Headphones
28 | git clone https://github.com/rembo10/headphones.git /opt/headphones && \
29 | chown -R nobody:users /opt/headphones && \
30 |
31 |
32 |
33 | # Add edge.sh to execute during container startup
34 | mkdir -p /etc/my_init.d && \
35 | mv /root/edge.sh /etc/my_init.d/edge.sh && \
36 | chmod +x /etc/my_init.d/edge.sh && \
37 |
38 | mkdir /mnt/XBMC-Media mnt/Music /mnt/Downloads && \
39 | # Add Headphones to runit
40 | mkdir /etc/service/headphones && \
41 | mv /root/headphones.sh /etc/service/headphones/run && \
42 | chmod +x /etc/service/headphones/run
43 |
44 | EXPOSE 8181
45 |
46 | # Headphones Configuration
47 | VOLUME /config
48 |
--------------------------------------------------------------------------------
/headphones/README.md:
--------------------------------------------------------------------------------
1 | PERSONALISED VERSION OF HEADPHONES FOR AN ALREADY RUNNING SERVER, NOT REALLY SUITED FOR ANYONE ELSE.
2 |
--------------------------------------------------------------------------------
/headphones/edge.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | # Does the user want the latest version
3 | if [ -z "$EDGE" ]; then
4 | echo "Bleeding edge not requested"
5 | else
6 | cd /opt/headphones
7 | git pull
8 | chown -R nobody:users /opt/headphones
9 | fi
10 |
--------------------------------------------------------------------------------
/headphones/headphones.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | exec /sbin/setuser nobody python /opt/headphones/Headphones.py --datadir=/config --config=/config/config.ini
3 |
--------------------------------------------------------------------------------
/htpcmanager/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM phusion/baseimage:0.9.16
2 |
3 | # Set correct environment variables
4 | ENV HOME /root
5 | ENV DEBIAN_FRONTEND noninteractive
6 | ENV LC_ALL C.UTF-8
7 | ENV LANG en_US.UTF-8
8 | ENV LANGUAGE en_US.UTF-8
9 | ENV TERM xterm
10 |
11 | # Use baseimage-docker's init system
12 | CMD ["/sbin/my_init"]
13 |
14 | # add local files
15 | ADD edge.sh /etc/my_init.d/edge.sh
16 | ADD htpcmanager.sh /root/htpcmanager.sh
17 |
18 | # Configure user nobody to match unRAID's settings
19 | RUN \
20 | usermod -u 99 nobody && \
21 | usermod -g 100 nobody && \
22 | usermod -d /home nobody && \
23 | chown -R nobody:users /home && \
24 |
25 |
26 | #Install HTPC Manager
27 |
28 | add-apt-repository "deb http://us.archive.ubuntu.com/ubuntu/ trusty universe multiverse" && \
29 | add-apt-repository "deb http://us.archive.ubuntu.com/ubuntu/ trusty-updates universe multiverse" && \
30 | apt-get update -q && \
31 | apt-get install -qy python git-core python-dev python-pip libjpeg62 libjpeg62-dev libpng12-dev libfreetype6 libfreetype6-dev zlib1g-dev && \
32 | git clone -b master https://github.com/styxit/HTPC-Manager.git /opt/HTPC-Manager && \
33 | chown nobody:users /opt/HTPC-Manager && \
34 | pip install pillow && \
35 | pip install psutil && \
36 |
37 | # move and change permissions start files
38 | chmod +x /etc/my_init.d/edge.sh && \
39 | mkdir /etc/service/htpcmanager && \
40 | mv /root/htpcmanager.sh /etc/service/htpcmanager/run && \
41 | chmod +x /etc/service/htpcmanager/run
42 |
43 | #Expose Ports
44 | EXPOSE 8085
45 |
46 | #Expose Config Folder
47 | VOLUME /config
48 |
--------------------------------------------------------------------------------
/htpcmanager/edge.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | # Does the user want the edge version
3 | if [ -z "$EDGE" ]; then
4 | echo "edge not requested"
5 | else
6 | cd /opt/HTPC-Manager
7 | git pull
8 | chown -R nobody:users /opt/HTPC-Manager
9 | fi
10 |
--------------------------------------------------------------------------------
/htpcmanager/htpcmanager.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | python /opt/HTPC-Manager/Htpc.py --datadir /config
3 |
--------------------------------------------------------------------------------
/hublin/src/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | exec /usr/bin/supervisord
3 |
--------------------------------------------------------------------------------
/hublin/src/supervisord.conf:
--------------------------------------------------------------------------------
1 | [supervisord]
2 | nodaemon=true
3 | [program:mongo]
4 | user=root
5 | command=/usr/bin/mongod
6 | [program:hublin]
7 | directory=/opt/meetings
8 | user=root
9 | command=npm start
10 |
--------------------------------------------------------------------------------
/jirafeau/Dockerfile:
--------------------------------------------------------------------------------
1 | # set base os
2 | FROM phusion/baseimage:0.9.16
3 |
4 | # Set environment variables for my_init, terminal and apache
5 | ENV DEBIAN_FRONTEND=noninteractive HOME="/root" TERM=xterm APACHE_RUN_USER=www-data APACHE_RUN_GROUP=www-data APACHE_LOG_DIR="/var/log/apache2" APACHE_LOCK_DIR="/var/lock/apache2" APACHE_PID_FILE="/var/run/apache2.pid"
6 | CMD ["/sbin/my_init"]
7 |
8 | # add local files
9 | ADD src/ /root/
10 |
11 | # expose port(s)
12 | EXPOSE 80
13 |
14 | # volume for uploads etc...
15 | VOLUME /Uploads
16 |
17 | # startup files
18 | RUN mkdir -p /etc/service/apache && \
19 | mv /root/apache.sh /etc/service/apache/run && \
20 | mv /root/firstrun.sh /etc/my_init.d/firstrun.sh && \
21 | chmod +x /etc/service/apache/run && \
22 | chmod +x /etc/my_init.d/firstrun.sh && \
23 |
24 | # update apt and install dependencies
25 | apt-get update && \
26 | apt-get install git-core apache2 php5 php5-common php5-curl -y && \
27 |
28 | # Enable apache mods.
29 | a2enmod php5 && \
30 | a2enmod rewrite && \
31 | # Update the PHP.ini file, enable ?> tags and quieten logging.
32 | sed -i "s/short_open_tag = Off/short_open_tag = On/" /etc/php5/apache2/php.ini && \
33 | sed -i "s/error_reporting = .*$/error_reporting = E_ERROR | E_WARNING | E_PARSE/" /etc/php5/apache2/php.ini && \
34 |
35 | # add apache config for site
36 | mv /root/apache-config.conf /etc/apache2/sites-enabled/000-default.conf
37 |
38 |
39 |
--------------------------------------------------------------------------------
/jirafeau/src/apache-config.conf:
--------------------------------------------------------------------------------
1 |
2 | ServerAdmin me@mydomain.com
3 | DocumentRoot /var/www/Jirafeau
4 |
5 | AllowOverride All
6 |
7 |
8 |
9 | Order Deny,Allow
10 | Deny from all
11 |
12 | ErrorLog ${APACHE_LOG_DIR}/error.log
13 | CustomLog ${APACHE_LOG_DIR}/access.log combined
14 |
15 |
16 |
--------------------------------------------------------------------------------
/jirafeau/src/apache.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | exec /usr/sbin/apache2ctl -D FOREGROUND
3 |
--------------------------------------------------------------------------------
/jirafeau/src/firstrun.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | if [ -f "/var/www/Jirafeau/index.php" ]; then
3 | echo "using existing website"
4 | chown -R www-data:www-data /var/log/apache2
5 | else
6 | echo "fetching jirafeau files"
7 | git clone https://gitlab.com/mojo42/Jirafeau.git /var/www/Jirafeau
8 | chown -R www-data:www-data /var/www/Jirafeau
9 | fi
10 |
11 |
--------------------------------------------------------------------------------
/kodi-deb-install/Dockerfile:
--------------------------------------------------------------------------------
1 |
2 | FROM phusion/baseimage:0.9.16
3 | MAINTAINER sparklyballs
4 | ENV DEBIAN_FRONTEND noninteractive
5 | # Set correct environment variables
6 | ENV HOME /root
7 | ENV TERM xterm
8 |
9 |
10 | # Use baseimage-docker's init system
11 | CMD ["/sbin/my_init"]
12 |
13 | # Add files from local
14 | ADD src/ root/
15 |
16 | # Set the locale
17 | ENV LANG en_US.UTF-8
18 | ENV LANGUAGE en_US:en
19 | ENV LC_ALL en_US.UTF-8
20 | RUN locale-gen en_US.UTF-8 && \
21 |
22 | # Configure user nobody to match unRAID's settings
23 | usermod -u 99 nobody && \
24 | usermod -g 100 nobody && \
25 | usermod -d /home nobody && \
26 | chown -R nobody:users /home && \
27 |
28 | # update apt, install gdebi, wget and fetch .deb file
29 | apt-get update && \
30 | apt-get install -y gdebi-core wget && \
31 | wget -O /root/kodi-headless_0.0.2_amd64.deb "https://www.dropbox.com/s/6ro81v0dh3x0ehh/kodi-headless_0.0.2_amd64.deb?dl=0" && \
32 | # install package and clean up
33 | cd /root && \
34 | gdebi -n kodi-headless_0.0.2_amd64.deb && \
35 | apt-get purge --remove -y gdebi-core wget && \
36 | apt-get autoremove -y && \
37 | rm -rf /var/lib/apt/lists /usr/share/man /usr/share/doc && \
38 | rm -rf /root/*.deb && \
39 |
40 | # fix up startup files, make executable etc...
41 |
42 | mkdir /etc/service/kodi && \
43 | mv /root/kodi.sh /etc/service/kodi/run && \
44 | chmod +x /etc/service/kodi/run && \
45 | mv /root/firstrun.sh /etc/my_init.d/firstrun.sh && \
46 | chmod +x /etc/my_init.d/firstrun.sh && \
47 |
48 | # fix up permissions
49 | chown -R nobody:users /opt/kodi-server
50 |
51 | # set ports
52 | EXPOSE 9777/udp 8080/tcp
53 |
--------------------------------------------------------------------------------
/kodi-deb-install/src/kodi.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | exec /sbin/setuser nobody /opt/kodi-server/lib/kodi/kodi.bin --nolirc --headless -p
4 |
5 |
--------------------------------------------------------------------------------
/kodi-debian-install/Dockerfile:
--------------------------------------------------------------------------------
1 | # set base os
2 | FROM debian:wheezy
3 | ENV DEBIAN_FRONTEND noninteractive
4 |
5 | # Set correct environment variables
6 | ENV HOME /root
7 | ENV TERM xterm
8 | # Add in required files from local
9 | ADD src/kodi-headless-debian_0.0.1_amd64.deb /root/kodi-headless-debian_0.0.1_amd64.deb
10 |
11 | # Configure user nobody to match unRAID's settings
12 | RUN \
13 | usermod -u 99 nobody && \
14 | usermod -g 100 nobody && \
15 | usermod -d /home nobody && \
16 | chown -R nobody:users /home && \
17 |
18 | # Install KODI build dependencies
19 | apt-get update && \
20 | apt-get install -y wget gdebi-core build-essential cmake supervisor && \
21 | wget http://pkgs.fedoraproject.org/lookaside/pkgs/taglib/taglib-1.8.tar.gz/dcb8bd1b756f2843e18b1fdf3aaeee15/taglib-1.8.tar.gz && \
22 | tar xzf taglib-1.8.tar.gz && \
23 | cd taglib-1.8 && \
24 | cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_RELEASE_TYPE=Release . && \
25 | make && \
26 | make install && \
27 | cd /root && \
28 | gdebi -n kodi-headless-debian_0.0.1_amd64.deb && \
29 | apt-get purge --remove -y wget gdebi-core build-essential cmake && \
30 | apt-get autoremove -y && \
31 | echo "[supervisord]" >> /etc/supervisor/conf.d/supervisord.conf && \
32 | echo "nodaemon=true" >> /etc/supervisor/conf.d/supervisord.conf && \
33 | echo "[program:kodi-server]" >> /etc/supervisor/conf.d/supervisord.conf && \
34 | echo "command=/opt/kodi-server/lib/kodi/kodi.bin --nolirc --headless -p" >> /etc/supervisor/conf.d/supervisord.conf && \
35 | rm -rf /root/kodi-headless-debian_0.0.1_amd64.deb
36 | EXPOSE 9777/udp 8080/tcp
37 | ENTRYPOINT ["/usr/bin/supervisord"]
38 |
--------------------------------------------------------------------------------
/kodi-debian-install/src/kodi-headless-debian_0.0.1_amd64.deb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sparklyballs/docker-containers/d5844bdc0d1651fc95c2997c44b419d436164cae/kodi-debian-install/src/kodi-headless-debian_0.0.1_amd64.deb
--------------------------------------------------------------------------------
/kodi-isengard-headless-deb/Dockerfile:
--------------------------------------------------------------------------------
1 | # set base os
2 | FROM phusion/baseimage:0.9.16
3 |
4 | # Set correct environment variables
5 | ENV DEBIAN_FRONTEND=noninteractive HOME="/root" TERM=xterm LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_ALL=en_US.UTF-8
6 |
7 | # set ports
8 | EXPOSE 9777/udp 8080/tcp
9 |
10 | # Add local files
11 | ADD src/ /root/
12 |
13 | # Set the locale
14 | RUN locale-gen en_US.UTF-8 && \
15 |
16 |
17 | # Configure user nobody to match unRAID's settings
18 | usermod -u 99 nobody && \
19 | usermod -g 100 nobody && \
20 | usermod -d /home nobody && \
21 | chown -R nobody:users /home && \
22 |
23 | # move startup files and set permissions
24 | mkdir /etc/service/xbmc && \
25 | mv /root/kodi.sh /etc/service/xbmc/run && \
26 | mv /root/firstrun.sh /etc/my_init.d/firstrun.sh && \
27 | chmod +x /etc/service/xbmc/run && \
28 | chmod +x /etc/my_init.d/firstrun.sh && \
29 |
30 |
31 | # update apt and install gdebi-core and wget
32 | apt-get update && \
33 | apt-get install -y gdebi-core && \
34 |
35 | # install kodi from .deb
36 | mv /root/*.deb /tmp/ && \
37 | gdebi -n /tmp/kodi-headless_15_amd64.deb && \
38 | chown -R nobody:users /opt/kodi-server && \
39 |
40 | # clean up
41 | apt-get clean && \
42 | rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* \
43 | /usr/share/man /usr/share/groff /usr/share/info \
44 | /usr/share/lintian /usr/share/linda /var/cache/man && \
45 | (( find /usr/share/doc -depth -type f ! -name copyright|xargs rm || true )) && \
46 | (( find /usr/share/doc -empty|xargs rmdir || true ))
47 |
--------------------------------------------------------------------------------
/kodi-isengard-headless-deb/src/kodi-headless_15_amd64.deb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sparklyballs/docker-containers/d5844bdc0d1651fc95c2997c44b419d436164cae/kodi-isengard-headless-deb/src/kodi-headless_15_amd64.deb
--------------------------------------------------------------------------------
/kodi-isengard-headless-deb/src/kodi.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | exec /sbin/setuser nobody /opt/kodi-server/lib/kodi/kodi.bin --nolirc --headless -p
4 |
5 |
--------------------------------------------------------------------------------
/koma-isengard/.gitattributes:
--------------------------------------------------------------------------------
1 | # Auto detect text files and force unix-style line endings
2 | * text eol=lf
3 |
4 |
--------------------------------------------------------------------------------
/koma-isengard/README.md:
--------------------------------------------------------------------------------
1 | Kodi headless server install
2 |
3 | based on latest git pull.
4 |
--------------------------------------------------------------------------------
/koma-isengard/src/001-fix-the-time.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | if [[ $(cat /etc/timezone) != $TZ ]] ; then
3 | echo "$TZ" > /etc/timezone
4 | exec dpkg-reconfigure -f noninteractive tzdata
5 | fi
6 |
--------------------------------------------------------------------------------
/koma-isengard/src/createdatabase:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | EXPECTED_ARGS=3
4 | E_BADARGS=65
5 | MYSQL=`which mysql`
6 |
7 | Q1="CREATE DATABASE IF NOT EXISTS $1;"
8 | Q2="GRANT USAGE ON *.* TO $2@localhost IDENTIFIED BY '$3';"
9 | Q3="GRANT ALL PRIVILEGES ON $1.* TO $2@localhost;"
10 | Q4="FLUSH PRIVILEGES;"
11 | SQL="${Q1}${Q2}${Q3}${Q4}"
12 |
13 | if [ $# -ne $EXPECTED_ARGS ]
14 | then
15 | echo "Usage: $0 dbname dbuser dbpass"
16 | exit $E_BADARGS
17 | fi
18 |
19 | $MYSQL -uroot -p -e "$SQL"
20 |
--------------------------------------------------------------------------------
/koma-isengard/src/createuser:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | EXPECTED_ARGS=2
4 | E_BADARGS=65
5 | MYSQL=`which mysql`
6 |
7 | Q1="GRANT USAGE ON *.* TO $1 IDENTIFIED BY '$2';"
8 | Q2="GRANT ALL PRIVILEGES ON *.* TO $1;"
9 | Q3="FLUSH PRIVILEGES;"
10 | SQL="${Q1}${Q2}${Q3}"
11 |
12 | if [ $# -ne $EXPECTED_ARGS ]
13 | then
14 | echo "Usage: $0 dbuser dbpass"
15 | exit $E_BADARGS
16 | fi
17 |
18 | $MYSQL -uroot -p -e "$SQL"
19 |
20 |
21 |
--------------------------------------------------------------------------------
/koma-isengard/src/excludes:
--------------------------------------------------------------------------------
1 | path-exclude /usr/share/doc/*
2 | # we need to keep copyright files for legal reasons
3 | path-include /usr/share/doc/*/copyright
4 | path-exclude /usr/share/man/*
5 | path-exclude /usr/share/groff/*
6 | path-exclude /usr/share/info/*
7 | # lintian stuff is small, but really unnecessary
8 | path-exclude /usr/share/lintian/*
9 | path-exclude /usr/share/linda/*
10 | # Drop locales except English
11 | path-exclude=/usr/share/locale/*
12 | path-include=/usr/share/locale/en/*
13 | path-include=/usr/share/locale/locale.alias
14 |
15 |
16 |
--------------------------------------------------------------------------------
/koma-isengard/src/kodi.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | exec /sbin/setuser nobody /opt/kodi-server/lib/kodi/kodi.bin --nolirc --headless -p
4 |
--------------------------------------------------------------------------------
/koma-isengard/src/mariadb.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | start_mysql(){
3 | /usr/bin/mysqld_safe --datadir=/config/databases > /dev/null 2>&1 &
4 | RET=1
5 | while [[ RET -ne 0 ]]; do
6 | mysql -uroot -e "status" > /dev/null 2>&1
7 | RET=$?
8 | sleep 1
9 | done
10 | }
11 |
12 | # If databases do not exist create them
13 | if [ -f /config/databases/mysql/user.MYD ]; then
14 | echo "Database exists."
15 | else
16 | echo "Creating database."
17 | /usr/bin/mysql_install_db --datadir=/config/databases >/dev/null 2>&1
18 | start_mysql
19 | echo "Database created. Granting access to 'root' ruser for all hosts."
20 | mysql -uroot -e "GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION"
21 | mysqladmin -u root shutdown
22 | chown -R nobody:users /config
23 | chmod -R 755 /config
24 | fi
25 |
26 | echo "Starting MariaDB..."
27 | /usr/bin/mysqld_safe --skip-syslog --datadir='/config/databases'
28 |
29 |
30 |
--------------------------------------------------------------------------------
/koma-isengard/src/media-firstrun.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | chown -R nobody:users /config
3 | if [ -d "/opt/kodi-server/share/kodi/portable_data/userdata" ]; then
4 | echo "using existing datafiles"
5 | chown -R nobody:users /opt/kodi-server
6 | else
7 | echo "creating datafiles"
8 | mkdir -p /opt/kodi-server/share/kodi/portable_data/userdata
9 | sleep 15
10 | chown -R nobody:users /opt/kodi-server
11 | chown -R nobody:users /config
12 | chmod -R 755 /config
13 | fi
14 | if [ -f "/opt/kodi-server/share/kodi/portable_data/userdata/advancedsettings.xml" ]; then
15 | echo "using existing advancedsettings.xml"
16 | chown -R nobody:users /opt/kodi-server
17 | else
18 | echo "creating advancedsettings.xml"
19 | cp /root/advancedsettings.xml /opt/kodi-server/share/kodi/portable_data/userdata/advancedsettings.xml
20 | chown -R nobody:users /opt/kodi-server
21 | fi
22 |
--------------------------------------------------------------------------------
/koma/.gitattributes:
--------------------------------------------------------------------------------
1 | # Auto detect text files and force unix-style line endings
2 | * text eol=lf
3 |
4 |
--------------------------------------------------------------------------------
/koma/README.md:
--------------------------------------------------------------------------------
1 | Kodi headless server install
2 |
3 | based on latest git pull.
4 |
--------------------------------------------------------------------------------
/koma/src/createdatabase:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | EXPECTED_ARGS=3
4 | E_BADARGS=65
5 | MYSQL=`which mysql`
6 |
7 | Q1="CREATE DATABASE IF NOT EXISTS $1;"
8 | Q2="GRANT USAGE ON *.* TO $2@localhost IDENTIFIED BY '$3';"
9 | Q3="GRANT ALL PRIVILEGES ON $1.* TO $2@localhost;"
10 | Q4="FLUSH PRIVILEGES;"
11 | SQL="${Q1}${Q2}${Q3}${Q4}"
12 |
13 | if [ $# -ne $EXPECTED_ARGS ]
14 | then
15 | echo "Usage: $0 dbname dbuser dbpass"
16 | exit $E_BADARGS
17 | fi
18 |
19 | $MYSQL -uroot -p -e "$SQL"
20 |
--------------------------------------------------------------------------------
/koma/src/createuser:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | EXPECTED_ARGS=2
4 | E_BADARGS=65
5 | MYSQL=`which mysql`
6 |
7 | Q1="GRANT USAGE ON *.* TO $1 IDENTIFIED BY '$2';"
8 | Q2="GRANT ALL PRIVILEGES ON *.* TO $1;"
9 | Q3="FLUSH PRIVILEGES;"
10 | SQL="${Q1}${Q2}${Q3}"
11 |
12 | if [ $# -ne $EXPECTED_ARGS ]
13 | then
14 | echo "Usage: $0 dbuser dbpass"
15 | exit $E_BADARGS
16 | fi
17 |
18 | $MYSQL -uroot -p -e "$SQL"
19 |
20 |
21 |
--------------------------------------------------------------------------------
/koma/src/excludes:
--------------------------------------------------------------------------------
1 | path-exclude /usr/share/doc/*
2 | # we need to keep copyright files for legal reasons
3 | path-include /usr/share/doc/*/copyright
4 | path-exclude /usr/share/man/*
5 | path-exclude /usr/share/groff/*
6 | path-exclude /usr/share/info/*
7 | # lintian stuff is small, but really unnecessary
8 | path-exclude /usr/share/lintian/*
9 | path-exclude /usr/share/linda/*
10 | # Drop locales except English
11 | path-exclude=/usr/share/locale/*
12 | path-include=/usr/share/locale/en/*
13 | path-include=/usr/share/locale/locale.alias
14 |
15 |
16 |
--------------------------------------------------------------------------------
/koma/src/kodi.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | exec /sbin/setuser nobody /opt/kodi-server/lib/kodi/kodi.bin --nolirc --headless -p
4 |
--------------------------------------------------------------------------------
/koma/src/mariadb.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | start_mysql(){
3 | /usr/bin/mysqld_safe --datadir=/config/databases > /dev/null 2>&1 &
4 | RET=1
5 | while [[ RET -ne 0 ]]; do
6 | mysql -uroot -e "status" > /dev/null 2>&1
7 | RET=$?
8 | sleep 1
9 | done
10 | }
11 |
12 | # If databases do not exist create them
13 | if [ -f /config/databases/mysql/user.MYD ]; then
14 | echo "Database exists."
15 | else
16 | echo "Creating database."
17 | /usr/bin/mysql_install_db --datadir=/config/databases >/dev/null 2>&1
18 | start_mysql
19 | echo "Database created. Granting access to 'root' ruser for all hosts."
20 | mysql -uroot -e "GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION"
21 | mysqladmin -u root shutdown
22 | chown -R nobody:users /config
23 | chmod -R 755 /config
24 | fi
25 |
26 | echo "Starting MariaDB..."
27 | /usr/bin/mysqld_safe --skip-syslog --datadir='/config/databases'
28 |
29 |
30 |
--------------------------------------------------------------------------------
/koma/src/media-firstrun.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | chown -R nobody:users /config
3 | if [ -d "/opt/kodi-server/share/kodi/portable_data/userdata" ]; then
4 | echo "using existing datafiles"
5 | chown -R nobody:users /opt/kodi-server
6 | else
7 | echo "creating datafiles"
8 | mkdir -p /opt/kodi-server/share/kodi/portable_data/userdata
9 | sleep 15
10 | chown -R nobody:users /opt/kodi-server
11 | chown -R nobody:users /config
12 | chmod -R 755 /config
13 | fi
14 | if [ -f "/opt/kodi-server/share/kodi/portable_data/userdata/advancedsettings.xml" ]; then
15 | echo "using existing advancedsettings.xml"
16 | chown -R nobody:users /opt/kodi-server
17 | else
18 | echo "creating advancedsettings.xml"
19 | cp /root/advancedsettings.xml /opt/kodi-server/share/kodi/portable_data/userdata/advancedsettings.xml
20 | chown -R nobody:users /opt/kodi-server
21 | fi
22 |
--------------------------------------------------------------------------------
/logstash-pfsense/src/apache-config.conf:
--------------------------------------------------------------------------------
1 |
2 | DocumentRoot /var/www/kibana
3 |
4 | Options None
5 | Options +FollowSymlinks
6 | AllowOverride All
7 |
8 |
9 |
--------------------------------------------------------------------------------
/logstash-pfsense/src/apache.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | exec /usr/sbin/apache2ctl -D FOREGROUND
3 |
--------------------------------------------------------------------------------
/logstash-pfsense/src/elasticsearch.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | exec /sbin/setuser nobody /opt/elasticsearch/bin/elasticsearch -Des.default.path.logs=/config/elasticsearch-data/log -Des.default.path.data=/config/elasticsearch-data -Des.default.path.work=/tmp/elasticsearch
4 |
5 |
6 |
--------------------------------------------------------------------------------
/logstash-pfsense/src/firstrun.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | mkdir -p /config/elasticsearch-data/log
4 | if [ -d "/var/log/kibana" ]; then
5 | chown -R www-data:www-data /var/www/kibana
6 | echo "using existing www files"
7 | else
8 | cp -r /root/kibana-temp/* /var/www/
9 | chown -R www-data:www-data /var/www/kibana
10 | fi
11 |
12 | if [ -d "/config/dashboards" ]; then
13 | echo "using existing dashboards"
14 | mv /var/www/kibana/app/dashboards/default.json /var/www/kibana/app/dashboards/original.json
15 | cp -r /config/dashboards/* /var/www/kibana/app/dashboards/
16 | chown -R www-data:www-data /var/www/kibana
17 | else
18 | mkdir -p /config/dashboards
19 | cp -r /root/dashboards /config/
20 | cp -r /config/dashboards/* /var/www/kibana/app/dashboards/
21 | chown -R www-data:www-data /var/www/kibana
22 | fi
23 |
24 | if [ -d "/config/logstash-conf" ]; then
25 | echo "using existing config folder"
26 | else
27 | cp -r /root/logstash-conf /config/
28 | fi
29 |
30 | chown -R nobody:users /config
31 |
--------------------------------------------------------------------------------
/logstash-pfsense/src/logstash-conf/01-inputs.conf:
--------------------------------------------------------------------------------
1 | #udp syslogs tream via 5140
2 | input {
3 | udp {
4 | type => "syslog"
5 | port => 5140
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/logstash-pfsense/src/logstash-conf/10-syslog.conf:
--------------------------------------------------------------------------------
1 | filter {
2 | if [type] == "syslog" {
3 |
4 | #change to pfSense ip address
5 | if [host] =~ /192\.168\.1\.1/ {
6 | mutate {
7 | add_tag => ["PFSense", "Ready"]
8 | }
9 | }
10 |
11 |
12 | if "Ready" not in [tags] {
13 | mutate {
14 | add_tag => [ "syslog" ]
15 | }
16 | }
17 | }
18 | }
19 |
20 | filter {
21 | if [type] == "syslog" {
22 | mutate {
23 | remove_tag => "Ready"
24 | }
25 | }
26 | }
27 |
28 | filter {
29 | if "syslog" in [tags] {
30 | grok {
31 | match => { "message" => "%{SYSLOGTIMESTAMP:syslog_timestamp} %{SYSLOGHOST:syslog_hostname} %{DATA:syslog_program}(?:\[%{POSINT:syslog_pid}\])?: %{GREEDYDATA:syslog_message}" }
32 | add_field => [ "received_at", "%{@timestamp}" ]
33 | add_field => [ "received_from", "%{host}" ]
34 | }
35 | syslog_pri { }
36 | date {
37 | match => [ "syslog_timestamp", "MMM d HH:mm:ss", "MMM dd HH:mm:ss" ]
38 | locale => "en"
39 | }
40 |
41 | if !("_grokparsefailure" in [tags]) {
42 | mutate {
43 | replace => [ "@source_host", "%{syslog_hostname}" ]
44 | replace => [ "@message", "%{syslog_message}" ]
45 | }
46 | }
47 |
48 | mutate {
49 | remove_field => [ "syslog_hostname", "syslog_message", "syslog_timestamp" ]
50 | }
51 | # if "_grokparsefailure" in [tags] {
52 | # drop { }
53 | # }
54 | }
55 | }
56 |
--------------------------------------------------------------------------------
/logstash-pfsense/src/logstash-conf/11-pfsense.conf:
--------------------------------------------------------------------------------
1 | filter {
2 | if "PFSense" in [tags] {
3 | grok {
4 | add_tag => [ "firewall" ]
5 | match => [ "message", "<(?.*)>(?(?:Jan(?:uary)?|Feb(?:ruary)?|Mar(?:ch)?|Apr(?:il)?|May|Jun(?:e)?|Jul(?:y)?|Aug(?:ust)?|Sep(?:tember)?|Oct(?:ober)?|Nov(?:ember)?|Dec(?:ember)?)\s+(?:(?:0[1-9])|(?:[12][0-9])|(?:3[01])|[1-9]) (?:2[0123]|[01]?[0-9]):(?:[0-5][0-9]):(?:[0-5][0-9])) (?.*?): (?.*)" ]
6 | }
7 | mutate {
8 | gsub => ["datetime"," "," "]
9 | }
10 | date {
11 | match => [ "datetime", "MMM dd HH:mm:ss" ]
12 | }
13 | mutate {
14 | replace => [ "message", "%{msg}" ]
15 | }
16 | mutate {
17 | remove_field => [ "msg", "datetime" ]
18 | }
19 | }
20 | if [prog] =~ /^filterlog$/ {
21 | mutate {
22 | remove_field => [ "msg", "datetime" ]
23 | }
24 | grok {
25 | patterns_dir => "/config/logstash-conf/patterns"
26 | match => [ "message", "%{LOG_DATA}%{IP_SPECIFIC_DATA}%{IP_DATA}%{PROTOCOL_DATA}" ]
27 | }
28 | mutate {
29 | lowercase => [ 'proto' ]
30 | }
31 | geoip {
32 | add_tag => [ "GeoIP" ]
33 | source => "src_ip"
34 | }
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/logstash-pfsense/src/logstash-conf/30-outputs.conf:
--------------------------------------------------------------------------------
1 | output {
2 | elasticsearch { host => localhost
3 | protocol => "http"
4 | port => 9200 }
5 | stdout { codec => rubydebug }
6 | }
7 |
--------------------------------------------------------------------------------
/logstash-pfsense/src/logstash.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | exec /sbin/setuser nobody /opt/logstash/bin/logstash agent -f /config/logstash-conf -l /config/elasticsearch-data/log/logstash.log
4 |
5 |
--------------------------------------------------------------------------------
/lychee/Dockerfile:
--------------------------------------------------------------------------------
1 | # set base os
2 | FROM phusion/baseimage:0.9.16
3 |
4 | # Set environment variables for my_init, terminal and apache
5 | ENV DEBIAN_FRONTEND=noninteractive HOME="/root" TERM=xterm APACHE_RUN_USER=www-data APACHE_RUN_GROUP=www-data APACHE_LOG_DIR="/var/log/apache2" APACHE_LOCK_DIR="/var/lock/apache2" APACHE_PID_FILE="/var/run/apache2.pid"
6 | CMD ["/sbin/my_init"]
7 |
8 | # add local files
9 | ADD src/ /root/
10 |
11 | # expose port(s)
12 | EXPOSE 80
13 |
14 | # startup files
15 | RUN mkdir -p /etc/service/apache && \
16 | mv /root/apache.sh /etc/service/apache/run && \
17 | mv /root/firstrun.sh /etc/my_init.d/firstrun.sh && \
18 | chmod +x /etc/service/apache/run && \
19 | chmod +x /etc/my_init.d/firstrun.sh && \
20 |
21 | # fix nobody user to match unraid
22 | usermod -u 99 nobody && \
23 | usermod -g 100 nobody && \
24 | usermod -d /home nobody && \
25 | chown -R nobody:users /home && \
26 |
27 | # update apt and get dependencies etc..
28 | apt-get update && \
29 | apt-get install -y git-core apache2 php5 php5-cli php5-gd php5-common php5-mysql php5-imagick && \
30 | # Enable apache mods.
31 | a2enmod php5 && \
32 | a2enmod rewrite && \
33 |
34 | # Update the PHP.ini file, enable ?> tags and quieten logging.
35 | sed -i "s/short_open_tag = Off/short_open_tag = On/" /etc/php5/apache2/php.ini && \
36 | sed -i "s/error_reporting = .*$/error_reporting = E_ERROR | E_WARNING | E_PARSE/" /etc/php5/apache2/php.ini && \
37 | mv /root/apache-config.conf /etc/apache2/sites-enabled/000-default.conf
38 |
39 |
40 |
--------------------------------------------------------------------------------
/lychee/src/apache-config.conf:
--------------------------------------------------------------------------------
1 |
2 | ServerAdmin me@mydomain.com
3 | DocumentRoot /var/www/Lychee
4 |
5 | Options Indexes FollowSymLinks MultiViews
6 | AllowOverride All
7 | Order deny,allow
8 | Allow from all
9 |
10 | ErrorLog ${APACHE_LOG_DIR}/error.log
11 | CustomLog ${APACHE_LOG_DIR}/access.log combined
12 |
13 |
--------------------------------------------------------------------------------
/lychee/src/apache.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | exec /usr/sbin/apache2ctl -D FOREGROUND
3 |
4 |
--------------------------------------------------------------------------------
/lychee/src/firstrun.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | mkdir -p /config
3 | if [ -f "/var/www/Lychee/index.html" ]; then
4 | echo "using existing website"
5 | chown -R www-data:www-data /var/log/apache2
6 | else
7 | echo "fetching Lychee files"
8 | git clone https://github.com/electerious/Lychee.git /var/www/Lychee
9 | chown -R www-data:www-data /var/www/Lychee
10 | fi
11 |
12 |
--------------------------------------------------------------------------------
/magpie/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM phusion/baseimage:0.9.16
2 | MAINTAINER sparklyballs
3 |
4 | # Set correct environment variables
5 | ENV DEBIAN_FRONTEND=noninteractive HOME="/root" TERM=xterm LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_ALL=en_US.UTF-8
6 |
7 | # set ports
8 | EXPOSE 7078
9 |
10 | # Use baseimage-docker's init system
11 | CMD ["/sbin/my_init"]
12 |
13 | # Add required files that are local
14 | ADD src/ /root/
15 |
16 | # Set the locale
17 | RUN locale-gen en_US.UTF-8 && \
18 |
19 | # fix startup files
20 | cp /root/firstrun.sh /etc/my_init.d/firstrun.sh && \
21 | chmod +x /etc/my_init.d/firstrun.sh && \
22 | mkdir -p /etc/service/magpie && \
23 | cp /root/magpie.sh /etc/service/magpie/run && \
24 | chmod +x /etc/service/magpie/run && \
25 |
26 | # Fix a Debianism of the nobody's uid being 65534
27 | usermod -u 99 nobody && \
28 | usermod -g 100 nobody && \
29 |
30 | # update apt and install dependencies
31 | apt-get update && \
32 | apt-get install -y python python-pip python-dev git && \
33 |
34 | # install magpie
35 | pip install magpie && \
36 |
37 | # clean up
38 | apt-get clean && \
39 | rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* \
40 | /usr/share/man /usr/share/groff /usr/share/info \
41 | /usr/share/lintian /usr/share/linda /var/cache/man && \
42 | (( find /usr/share/doc -depth -type f ! -name copyright|xargs rm || true )) && \
43 | (( find /usr/share/doc -empty|xargs rmdir || true ))
44 |
--------------------------------------------------------------------------------
/magpie/src/firstrun.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | if [ -d "/config/git/.git" ]; then
4 | echo "save area already configured"
5 | else
6 | mkdir -p /config
7 | cd /config
8 | git init
9 | chown -R nobody:users /config
10 | fi
11 |
12 | if [ -f "/usr/local/lib/python2.7/dist-packages/magpie/config/web.original" ]; then
13 | echo "config is set"
14 | else
15 | mv /usr/local/lib/python2.7/dist-packages/magpie/config/web.cfg /usr/local/lib/python2.7/dist-packages/magpie/config/web.original
16 | cp /root/web.cfg /usr/local/lib/python2.7/dist-packages/magpie/config/web.cfg
17 | chown -R nobody:users /usr/local/lib/python2.7/dist-packages/magpie
18 | fi
19 | sleep 2s
20 |
--------------------------------------------------------------------------------
/magpie/src/magpie.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | exec /sbin/setuser nobody magpie
4 |
--------------------------------------------------------------------------------
/magpie/src/web.cfg:
--------------------------------------------------------------------------------
1 | port=7078
2 | address='0.0.0.0'
3 | testing=False
4 | autosave=False
5 | repo='/config'
6 | username=''
7 | pwdhash=''
8 |
--------------------------------------------------------------------------------
/mariadb-mywebsql/src/001-set-the-time.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | if [[ $(cat /etc/timezone) != $TZ ]] ; then
3 | echo "$TZ" > /etc/timezone
4 | exec dpkg-reconfigure -f noninteractive tzdata
5 | sed -i -e "s#;date.timezone.*#date.timezone = ${TZ}#g" /etc/php5/apache2/php.ini
6 | sed -i -e "s#;date.timezone.*#date.timezone = ${TZ}#g" /etc/php5/cli/php.ini
7 | fi
8 |
--------------------------------------------------------------------------------
/mariadb-mywebsql/src/002-set-the-website.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | if [ -f "/var/www/mywebsql/index.php" ]; then
4 | echo "using existing website"
5 | else
6 | echo "fetching mywebsql files"
7 | cd /var/www
8 | wget http://sourceforge.net/projects/mywebsql/files/latest/download -O mywebsql.zip
9 | unzip mywebsql.zip
10 | rm mywebsql.zip
11 | fi
12 | chown -R www-data:www-data /var/www/mywebsql /var/log/apache2
13 |
--------------------------------------------------------------------------------
/mariadb-mywebsql/src/003-set-the-dbconfig.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | if [ -f "/config/my.cnf" ]; then
3 | echo "applying latest my.cnf"
4 | /bin/cp -f /config/my.cnf /etc/mysql/my.cnf
5 | chown root:root /etc/mysql/my.cnf
6 | else
7 | echo "copying initial my.cnf from root dir"
8 | /bin/cp -f /etc/mysql/my.cnf /config/my.cnf
9 | fi
10 | chown -R nobody:users /config
11 |
--------------------------------------------------------------------------------
/mariadb-mywebsql/src/apache-config.conf:
--------------------------------------------------------------------------------
1 |
2 | ServerAdmin webmaster@domain.tld
3 | DocumentRoot /var/www/mywebsql
4 |
5 | Options FollowSymLinks
6 | AllowOverride All
7 |
8 |
9 | Options Indexes FollowSymLinks MultiViews
10 | AllowOverride All
11 | Order allow,deny
12 | allow from all
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/mariadb-mywebsql/src/apache.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | exec /usr/sbin/apache2ctl -D FOREGROUND
3 |
4 |
--------------------------------------------------------------------------------
/mariadb-mywebsql/src/excludes:
--------------------------------------------------------------------------------
1 | path-exclude /usr/share/doc/*
2 | # we need to keep copyright files for legal reasons
3 | path-include /usr/share/doc/*/copyright
4 | path-exclude /usr/share/man/*
5 | path-exclude /usr/share/groff/*
6 | path-exclude /usr/share/info/*
7 | # lintian stuff is small, but really unnecessary
8 | path-exclude /usr/share/lintian/*
9 | path-exclude /usr/share/linda/*
10 | # Drop locales except English
11 | path-exclude=/usr/share/locale/*
12 | path-include=/usr/share/locale/en/*
13 | path-include=/usr/share/locale/locale.alias
14 |
--------------------------------------------------------------------------------
/mariadb-mywebsql/src/mariadb.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | start_mysql(){
3 | /usr/bin/mysqld_safe --datadir=/db > /dev/null 2>&1 &
4 | RET=1
5 | while [[ RET -ne 0 ]]; do
6 | mysql -uroot -e "status" > /dev/null 2>&1
7 | RET=$?
8 | sleep 1
9 | done
10 | }
11 |
12 | # If databases do not exist create them
13 | if [ -f /db/mysql/user.MYD ]; then
14 | echo "Database exists."
15 | else
16 | echo "Creating database."
17 | /usr/bin/mysql_install_db --datadir=/db >/dev/null 2>&1
18 | start_mysql
19 | echo "Database created. Granting access to 'root' ruser for all hosts."
20 | mysql -uroot -e "GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION"
21 | mysqladmin -u root shutdown
22 | fi
23 |
24 | echo "Starting MariaDB..."
25 | /usr/bin/mysqld_safe --skip-syslog --datadir='/db'
26 |
27 |
28 |
--------------------------------------------------------------------------------
/mariadb/README.md:
--------------------------------------------------------------------------------
1 | This is a Dockerfile setup for mariadb v5.5 - https://mariadb.org/
2 |
3 | To run:
4 |
5 | ```
6 | docker run -d --name="mariadb" -v /path/to/db:/db -v /etc/localtime:/etc/localtime:ro -p 3306:3306 needo/mariadb
7 | ```
8 |
9 | FIRST TIME USERS
10 | ---
11 |
12 | A completely empty database will be generated upon first run. You must secure it by creating users and passwords.
13 |
14 | RETURNING USERS
15 | ---
16 |
17 | MAKE A BACKUP OF YOUR ORIGINAL DATABASE FIRST! I AM NOT RESPONSIBLE FOR ANY DATA LOSS
18 |
19 | Put your previous mysql or mariadb data directory in /path/to/db/
20 |
21 | For example a freshly generated /path/to/db/ looks like...
22 |
23 | total 28692
24 | 0 drwx------ 1 mysql root 170 Jun 24 10:21 ./
25 | 0 drwxrwxrwx 1 nobody users 8 Jun 24 10:18 ../
26 | 16 -rw-rw---- 1 mysql mysql 16384 Jun 24 10:21 aria_log.00000001
27 | 4 -rw-rw---- 1 mysql mysql 52 Jun 24 10:21 aria_log_control
28 | 5120 -rw-rw---- 1 mysql mysql 5242880 Jun 24 10:21 ib_logfile0
29 | 5120 -rw-rw---- 1 mysql mysql 5242880 Jun 24 10:18 ib_logfile1
30 | 18432 -rw-rw---- 1 mysql mysql 18874368 Jun 24 10:18 ibdata1
31 | 0 drwx------ 1 mysql root 2094 Jun 24 10:18 mysql/
32 | 0 drwx------ 1 mysql mysql 868 Jun 24 10:21 performance_schema/
33 |
--------------------------------------------------------------------------------
/mariadb/src/firstrun.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | if [ -f "/db/my.cnf" ]; then
3 | echo "applying latest my.cnf"
4 | /bin/cp -f /db/my.cnf /etc/mysql/my.cnf
5 | chown root:root /etc/mysql/my.cnf
6 | else
7 | echo "copying initial my.cnf from root dir"
8 | /bin/cp -f /root/my.cnf /db/my.cnf
9 | /bin/cp -f /db/my.cnf /etc/mysql/my.cnf
10 | chown root:root /etc/mysql/my.cnf
11 | fi
12 | chown -R nobody:users /db
13 |
--------------------------------------------------------------------------------
/mariadb/src/inotify.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | while inotifywait -r -e create /config; do
3 | /bin/bash /root/runsql-script
4 | echo "Applying sql commands"
5 | done
6 |
--------------------------------------------------------------------------------
/mariadb/src/mariadb.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | start_mysql(){
3 | /usr/bin/mysqld_safe --datadir=/db > /dev/null 2>&1 &
4 | RET=1
5 | while [[ RET -ne 0 ]]; do
6 | mysql -uroot -e "status" > /dev/null 2>&1
7 | RET=$?
8 | sleep 1
9 | done
10 | }
11 |
12 | # If databases do not exist create them
13 | if [ -f /db/mysql/user.MYD ]; then
14 | echo "Database exists."
15 | else
16 | echo "Creating database."
17 | /usr/bin/mysql_install_db --datadir=/db >/dev/null 2>&1
18 | start_mysql
19 | echo "Database created. Granting access to 'root' ruser for all hosts."
20 | mysql -uroot -e "GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION"
21 | mysqladmin -u root shutdown
22 | fi
23 |
24 | echo "Starting MariaDB..."
25 | /usr/bin/mysqld_safe --skip-syslog --datadir='/db'
26 |
27 |
--------------------------------------------------------------------------------
/mariadb/src/runsql-script:
--------------------------------------------------------------------------------
1 | find /config -name "*.sql" -print0 | while read -d '' -r file; do mysql -uroot < "$file"; done
2 |
--------------------------------------------------------------------------------
/minetest/src/init/001-fix-the-time.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | if [[ $(cat /etc/timezone) != $TZ ]] ; then
3 | echo "$TZ" > /etc/timezone
4 | exec dpkg-reconfigure -f noninteractive tzdata
5 | fi
6 |
--------------------------------------------------------------------------------
/minetest/src/init/002-set-config-files.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | mkdir -p /config/.minetest/main-config
3 | if [ ! -f "/config/.minetest/main-config/minetest.conf" ]; then
4 | cp /root/minetest.conf /config/.minetest/main-config/minetest.conf
5 | fi
6 |
7 | if [ ! -d "/opt/minetest/share/minetest/games/minetest" ]; then
8 | cp -pr /games/* /opt/minetest/share/minetest/games/
9 | fi
10 | chown -R minetest:minetest /config /opt/minetest
11 |
--------------------------------------------------------------------------------
/minetest/src/init/003-define-world--and-start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | # predefine some variables
4 | world_part="--world "
5 | world_set=$world
6 |
7 | # set world_string variable to use user-defined world or default world.
8 | if [ -z "$world" ]; then
9 | world_string=" "
10 | else
11 | world_string=$world_part$world_set
12 | fi
13 | exec /sbin/setuser minetest /opt/minetest/bin/minetestserver $world_string --config /config/.minetest/main-config/minetest.conf --port 30000
14 |
--------------------------------------------------------------------------------
/musicbrainz-carton/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM phusion/baseimage:0.9.16
2 | MAINTAINER sparklyballs
3 |
4 | # Set correct environment variables
5 | ENV DEBIAN_FRONTEND=noninteractive HOME="/root" TERM=xterm LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_ALL=en_US.UTF-8
6 |
7 | # Add required files that are local
8 | ADD src/ /root/
9 |
10 | # expose ports
11 | EXPOSE 5000 5432
12 |
13 | # volumes
14 | VOLUME /data /import /config
15 |
16 | # Use baseimage-docker's init system
17 | CMD ["/sbin/my_init"]
18 |
19 | # fix install scripts executable
20 | RUN chmod +x /root/install.sh && \
21 | sleep 1s && \
22 |
23 | # installer script
24 | /root/install.sh && \
25 |
26 | # fix executables
27 | chmod +x /etc/my_init.d/*
28 |
--------------------------------------------------------------------------------
/musicbrainz-carton/src/updatedb.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | rm -rf /import/*
3 | wget -nd -nH -P /import ftp://ftp.musicbrainz.org/pub/musicbrainz/data/fullexport/LATEST
4 | LATEST=$(cat /import/LATEST)
5 | wget -r --no-parent -nd -nH -P /import --reject "index.html*, mbdump-edit*, mbdump-documentation*" "ftp://ftp.musicbrainz.org/pub/musicbrainz/data/fullexport/$LATEST"
6 | pushd /import && md5sum -c MD5SUMS && popd
7 | /opt/musicbrainz/admin/InitDb.pl --createdb --import /import/mbdump*.tar.bz2 --echo
8 |
--------------------------------------------------------------------------------
/musicbrainz/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM phusion/baseimage:0.9.17
2 |
3 | MAINTAINER sparklyballs
4 |
5 | # Set correct environment variables
6 | ENV DEBIAN_FRONTEND=noninteractive HOME="/root" TERM=xterm LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_ALL=en_US.UTF-8
7 |
8 | # Add required files that are local
9 | ADD src/ /root/
10 |
11 | # expose ports
12 | EXPOSE 5000 5432
13 |
14 | # volumes
15 | VOLUME /data /config
16 |
17 | # Use baseimage-docker's init system
18 | CMD ["/sbin/my_init"]
19 |
20 | # fix install scripts executable
21 | RUN chmod +x /root/install.sh && \
22 | sleep 1s && \
23 |
24 | # installer script
25 | /root/install.sh && \
26 |
27 | # fix executables
28 | chmod +x /etc/my_init.d/* && \
29 |
30 | # remove install script for cleaner final image
31 | rm /root/install.sh
32 |
--------------------------------------------------------------------------------
/mythtv/src/000-default-mythbuntu.conf:
--------------------------------------------------------------------------------
1 |
2 | DirectoryIndex mythweb
3 | # The ServerName directive sets the request scheme, hostname and port that
4 | # the server uses to identify itself. This is used when creating
5 | # redirection URLs. In the context of virtual hosts, the ServerName
6 | # specifies what hostname must appear in the request's Host: header to
7 | # match this virtual host. For the default virtual host (this file) this
8 | # value is not decisive as it is used as a last resort host regardless.
9 | # However, you must set it for any further virtual host explicitly.
10 | #ServerName www.example.com
11 |
12 | ServerAdmin webmaster@localhost
13 | DocumentRoot /var/www/html
14 |
15 | # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
16 | # error, crit, alert, emerg.
17 | # It is also possible to configure the loglevel for particular
18 | # modules, e.g.
19 | #LogLevel info ssl:warn
20 |
21 | ErrorLog ${APACHE_LOG_DIR}/error.log
22 | CustomLog ${APACHE_LOG_DIR}/access.log combined
23 |
24 | # For most configuration files from conf-available/, which are
25 | # enabled or disabled at a global level, it is possible to
26 | # include a line for only one particular virtual host. For example the
27 | # following line enables the CGI configuration for this host only
28 | # after it has been globally disabled with "a2disconf".
29 | #Include conf-available/serve-cgi-bin.conf
30 |
31 |
32 | # vim: syntax=apache ts=4 sw=4 sts=4 sr noet
33 |
--------------------------------------------------------------------------------
/mythtv/src/001-fix-the-time.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | if [[ $(cat /etc/timezone) != $TZ ]] ; then
3 | echo "$TZ" > /etc/timezone
4 | sed -i -e "s#;date.timezone.*#date.timezone = ${TZ}#g" /etc/php5/apache2/php.ini
5 | sed -i -e "s#;date.timezone.*#date.timezone = ${TZ}#g" /etc/php5/cli/php.ini
6 | exec dpkg-reconfigure -f noninteractive tzdata
7 | fi
8 |
--------------------------------------------------------------------------------
/mythtv/src/004-bring-up-rdp.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | mkdir -p /home/mythtv/
3 | mkdir -p /var/run/sshd
4 | mkdir -p /root/.vnc
5 | chown -R mythtv:users /home/mythtv/ /var/log/mythtv
6 | /usr/bin/supervisord -c /root/supervisor-files/rdp-supervisord.conf & >/dev/null 2>&1
7 |
--------------------------------------------------------------------------------
/mythtv/src/005-bring-up-the-backend.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | echo "Checking whether database(s) are ready"
3 | until [ "$( mysqladmin -u root status 2>&1 >/dev/null | grep -ci error:)" = "0" ]
4 | do
5 | echo "waiting....."
6 | sleep 2s
7 | done
8 | exec /sbin/setuser mythtv /usr/bin/mythbackend --logpath /var/log/mythtv >/dev/null 2>&1 &
9 |
--------------------------------------------------------------------------------
/mythtv/src/006-bring-up-mythweb.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | exec /usr/sbin/apache2ctl -D FOREGROUND >/dev/null 2>&1
3 |
--------------------------------------------------------------------------------
/mythtv/src/Kill-Mythtv-Backend.desktop:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env xdg-open
2 | [Desktop Entry]
3 | Version=1.0
4 | Type=Application
5 | Terminal=false
6 | Icon[en_US]=/home/mythtv/icons/bomb.png
7 | Name[en_US]=Kill-Mythtv-Backend
8 | Exec=killall -9 mythbackend
9 | Name=Kill-Mythtv-Backend
10 | Icon=/home/mythtv/icons/bomb.png
11 |
--------------------------------------------------------------------------------
/mythtv/src/bomb.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sparklyballs/docker-containers/d5844bdc0d1651fc95c2997c44b419d436164cae/mythtv/src/bomb.png
--------------------------------------------------------------------------------
/mythtv/src/config.xml:
--------------------------------------------------------------------------------
1 |
2 | my-unique-identifier-goes-here
3 |
4 | 1
5 | localhost
6 | mythtv
7 | mythtv
8 | mythconverg
9 | 3310
10 |
11 |
12 | 0
13 | 0
14 | 5
15 | echo 'WOLsqlServerCommand not set'
16 |
17 |
18 |
--------------------------------------------------------------------------------
/mythtv/src/mythtv-setup.desktop:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env xdg-open
2 | [Desktop Entry]
3 | Name=MythTV Backend Setup
4 | Comment=Used to configure a backend
5 | GenericName=mythtv-setup
6 | Exec=mythtv-setup
7 | Type=Application
8 | Encoding=UTF-8
9 | Icon=mythtv
10 | Categories=GTK;System;Settings
11 | X-AppInstall-Package=mythtv
12 |
--------------------------------------------------------------------------------
/mythtv/src/ports.conf:
--------------------------------------------------------------------------------
1 | # If you just change the port or add more ports here, you will likely also
2 | # have to change the VirtualHost statement in
3 | # /etc/apache2/sites-enabled/000-default.conf
4 |
5 |
6 |
7 | Listen 6760
8 |
9 |
10 |
11 | # vim: syntax=apache ts=4 sw=4 sts=4 sr noet
12 |
--------------------------------------------------------------------------------
/mythtv/src/supervisor-files/db-supervisord.conf:
--------------------------------------------------------------------------------
1 | [supervisord]
2 | nodaemon=false
3 | [program:mariadb-server]
4 | command=/usr/bin/mysqld_safe --skip-syslog --timezone=%(ENV_TZ)s --datadir='/db'
5 |
--------------------------------------------------------------------------------
/mythtv/src/supervisor-files/rdp-supervisord.conf:
--------------------------------------------------------------------------------
1 | [supervisord]
2 | nodaemon=false
3 |
4 | [program:xvfb]
5 | priority=10
6 | directory=/
7 | command=/usr/bin/Xvfb :1 -screen 0 1700x950x16
8 | user=root
9 | autostart=true
10 | autorestart=true
11 | stopsignal=QUIT
12 | stdout_logfile=/var/log/xvfb.log
13 | stderr_logfile=/var/log/xvfb.err
14 |
15 | [program:matesession]
16 | priority=15
17 | directory=/home/mythtv
18 | command=/usr/bin/mate-session
19 | user=mythtv
20 | autostart=true
21 | autorestart=true
22 | stopsignal=QUIT
23 | environment=DISPLAY=":1",HOME="/home/mythtv"
24 | stdout_logfile=/var/log/lxsession.log
25 | stderr_logfile=/var/log/lxsession.err
26 |
27 | [program:x11vnc]
28 | priority=20
29 | directory=/
30 | command=x11vnc -display :1 -xkb
31 | #command=x11vnc -display :1 -listen localhost -xkb
32 | user=root
33 | autostart=true
34 | autorestart=true
35 | stopsignal=QUIT
36 | stdout_logfile=/var/log/x11vnc.log
37 | stderr_logfile=/var/log/x11vnc.err
38 |
39 | [program:xrdp]
40 | priority=30
41 | command=/usr/sbin/xrdp -nodaemon
42 | process_name = xrdp
43 | user=root
44 | stdout_logfile=/var/log/xrdp.log
45 | stderr_logfile=/var/log/xrdp.err
46 |
47 | [program:xrdp-sesman]
48 | priority=35
49 | command=/usr/sbin/xrdp-sesman --nodaemon
50 | process_name = xrdp-sesman
51 | user=root
52 | stdout_logfile=/var/log/xrdp-sesman.log
53 | stderr_logfile=/var/log/xrdp-sesman.err
54 |
55 | [program:xrdp]
56 | priority=30
57 | command=/etc/init.d/xrdp start
58 | process_name = xrdp
59 | user=root
60 |
61 |
--------------------------------------------------------------------------------
/mythtv/src/xrdp.ini:
--------------------------------------------------------------------------------
1 |
2 | [globals]
3 | bitmap_cache=yes
4 | bitmap_compression=yes
5 | port=3389
6 | crypt_level=low
7 | channel_code=1
8 | max_bpp=24
9 | #black=000000
10 | #grey=d6d3ce
11 | #dark_grey=808080
12 | #blue=08246b
13 | #dark_blue=08246b
14 | #white=ffffff
15 | #red=ff0000
16 | #green=00ff00
17 | #background=626c72
18 |
19 | [xrdp1]
20 | name=sesman-Xvnc
21 | lib=libvnc.so
22 | username=ask
23 | password=ask
24 | ip=127.0.0.1
25 | port=-1
26 |
27 | [xrdp2]
28 | name=reconnect-SESS1
29 | lib=libvnc.so
30 | username=mythtv
31 | password=mythtv
32 | ip=127.0.0.1
33 | port=5910
34 |
35 | [xrdp3]
36 | name=reconnect-SESS2
37 | lib=libvnc.so
38 | username=mythtv
39 | password=mythtv
40 | ip=127.0.0.1
41 | port=5911
42 |
43 | [xrdp4]
44 | name=reconnect-SESS3
45 | lib=libvnc.so
46 | username=mythtv
47 | password=mythtv
48 | ip=127.0.0.1
49 | port=5912
50 |
51 | [xrdp4]
52 | name=reconnect-SESS4
53 | lib=libvnc.so
54 | username=mythtv
55 | password=mythtv
56 | ip=127.0.0.1
57 | port=5913
58 |
59 |
60 |
61 |
62 |
--------------------------------------------------------------------------------
/mywebsql/Dockerfile:
--------------------------------------------------------------------------------
1 | # set base os
2 | FROM phusion/baseimage:0.9.16
3 |
4 | # Set environment variables for my_init, terminal and apache
5 | ENV DEBIAN_FRONTEND=noninteractive HOME="/root" TERM=xterm APACHE_RUN_USER=www-data APACHE_RUN_GROUP=www-data APACHE_LOG_DIR="/var/log/apache2" APACHE_LOCK_DIR="/var/lock/apache2" APACHE_PID_FILE="/var/run/apache2.pid"
6 | CMD ["/sbin/my_init"]
7 |
8 | # add local files
9 | ADD src/ /root/
10 |
11 | # expose port(s)
12 | EXPOSE 80
13 |
14 | # startup files
15 | RUN mkdir -p /etc/service/apache && \
16 | mv /root/apache.sh /etc/service/apache/run && \
17 | mv /root/firstrun.sh /etc/my_init.d/firstrun.sh && \
18 | chmod +x /etc/service/apache/run && \
19 | chmod +x /etc/my_init.d/firstrun.sh && \
20 |
21 | # update apt and install dependencies
22 | apt-get update && \
23 | apt-get install \
24 | wget \
25 | unzip \
26 | apache2 \
27 | php5 \
28 | php5-mysql \
29 | php5-pgsql -y && \
30 |
31 | # Update the PHP.ini file, enable ?> tags and quieten logging.
32 | sed -i "s/short_open_tag = Off/short_open_tag = On/" /etc/php5/apache2/php.ini && \
33 | sed -i "s/error_reporting = .*$/error_reporting = E_ERROR | E_WARNING | E_PARSE/" /etc/php5/apache2/php.ini && \
34 | mv /root/apache-config.conf /etc/apache2/sites-enabled/000-default.conf && \
35 |
36 | # clean up
37 | apt-get clean && \
38 | rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* \
39 | /usr/share/man /usr/share/groff /usr/share/info \
40 | /usr/share/lintian /usr/share/linda /var/cache/man && \
41 | (( find /usr/share/doc -depth -type f ! -name copyright|xargs rm || true )) && \
42 | (( find /usr/share/doc -empty|xargs rmdir || true ))
43 |
--------------------------------------------------------------------------------
/mywebsql/src/apache-config.conf:
--------------------------------------------------------------------------------
1 |
2 | ServerAdmin webmaster@domain.tld
3 | DocumentRoot /var/www/mywebsql
4 |
5 | Options FollowSymLinks
6 | AllowOverride All
7 |
8 |
9 | Options Indexes FollowSymLinks MultiViews
10 | AllowOverride All
11 | Order allow,deny
12 | allow from all
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/mywebsql/src/apache.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | exec /usr/sbin/apache2ctl -D FOREGROUND
3 |
--------------------------------------------------------------------------------
/mywebsql/src/firstrun.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | if [ -f "/var/www/mywebsql/index.php" ]; then
3 | echo "using existing website"
4 | else
5 | echo "fetching mywebsql files"
6 | cd /var/www
7 | wget http://sourceforge.net/projects/mywebsql/files/latest/download -O mywebsql.zip
8 | unzip mywebsql.zip
9 | rm mywebsql.zip
10 | fi
11 | sed -i -e "s@\$ALLOW_CUSTOM_SERVERS.*@\$ALLOW_CUSTOM_SERVERS = TRUE;@g" /var/www/mywebsql/config/servers.php
12 | chown -R www-data:www-data /var/www/mywebsql /var/log/apache2
13 |
--------------------------------------------------------------------------------
/nzbmegasearch/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM phusion/baseimage:0.9.16
2 | MAINTAINER sparklyballs
3 |
4 | # Set correct environment variables
5 | ENV DEBIAN_FRONTEND=noninteractive HOME="/root" TERM=xterm LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_ALL=en_US.UTF-8
6 |
7 | # Add required files that are local
8 | ADD src/ /root/
9 |
10 | # expose ports
11 | EXPOSE 5000
12 |
13 | # Use baseimage-docker's init system
14 | CMD ["/sbin/my_init"]
15 |
16 | # fix install scripts executable
17 | RUN chmod +x /root/install.sh && \
18 | sleep 1s && \
19 |
20 | # installer script
21 | /root/install.sh && \
22 |
23 | # fix executables
24 | chmod +x /etc/my_init.d/* && \
25 |
26 | # remove install script for cleaner final image
27 | rm /root/install.sh
28 |
29 |
--------------------------------------------------------------------------------
/nzbmegasearch/src/install.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | # Set the locale
4 | locale-gen en_US.UTF-8
5 |
6 | # Fix a Debianism of the nobody's uid being 65534
7 | usermod -u 99 nobody
8 | usermod -g 100 nobody
9 |
10 | # update apt and install dependencies
11 | apt-get update -qq
12 | apt-get install \
13 | python2.7 \
14 | git-core \
15 | supervisor \
16 | python-openssl -y
17 |
18 | # fetch nzbmetasearch
19 | cd /root
20 | git clone https://github.com/pillone/usntssearch.git
21 |
22 | # set start files
23 | cat <<'EOT' > /etc/my_init.d/001-fix-the-time.sh
24 | #!/bin/bash
25 | if [[ $(cat /etc/timezone) != $TZ ]] ; then
26 | echo "$TZ" > /etc/timezone
27 | exec dpkg-reconfigure -f noninteractive tzdata
28 | fi
29 | EOT
30 |
31 | cat <<'EOT' > /etc/my_init.d/002-copy-the-files.sh
32 | #!/bin/bash
33 | mkdir -p /opt/NZBmegasearch
34 | if [ -f "/opt/NZBmegasearch/mega2.py" ]; then
35 | echo "files appear to be set"
36 | chown -R nobody:users /opt/NZBmegasearch
37 | else
38 | cp -pr /root/usntssearch/NZBmegasearch/* /opt/NZBmegasearch/
39 | chown -R nobody:users /opt/NZBmegasearch
40 | fi
41 | EOT
42 |
43 | cat <<'EOT' > /etc/my_init.d/003-start-the-things.sh
44 | #!/bin/bash
45 | /usr/bin/supervisord -c /root/supervisord.conf &
46 | EOT
47 |
48 | # supervisor file
49 | cat <<'EOT' > /root/supervisord.conf
50 | [supervisord]
51 | nodaemon=true
52 | [program:megasearch]
53 | user=nobody
54 | directory=/opt/NZBmegasearch
55 | command=python mega2.py
56 | EOT
57 |
--------------------------------------------------------------------------------
/pacs/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2015 Sparklyballs
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice (plus original license) shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/pacs/Original-License:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2014 Doug Patriarche
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/pacs/src/databases.sql:
--------------------------------------------------------------------------------
1 | create database pacsdb;
2 | grant all on pacsdb.* to 'pacs'@'localhost' identified by 'pacs';
3 |
4 | create database arrdb;
5 | grant all on arrdb.* to 'arr'@'localhost' identified by 'arr';
6 |
--------------------------------------------------------------------------------
/pacs/src/firstrun.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | # Kill any preexisting mysql pid
4 | rm -rf /var/local/mysql/*.pid
5 |
6 | ## Make installation folders using environment variables from dockerfile
7 | mkdir -p $DBASE_DATA
8 | mkdir -p $DCM4CHEE_HOME
9 |
10 | # Set test and copy variables
11 | DBASE_DEST=$DBASE_DATA/
12 | DBASE_EXIST_TEST=$DBASE_DATA/arrdb
13 | DCMRUN_TEST=$DCM4CHEE_HOME$DCM_RUN
14 | # Test for existing dcm4chee installation
15 | if [ -f $DCMRUN_TEST ]; then
16 | echo "using existing setup"
17 | chown -R nobody:users $DCM4CHEE_HOME
18 | chmod -R 777 $DCM4CHEE_HOME
19 | else
20 | echo "creating new setup"
21 | cp -pr /root/temp-setup/dcm4chee/* $DCM4CHEE_HOME/
22 | chown -R nobody:users $DCM4CHEE_HOME
23 | chmod -R 777 $DCM4CHEE_HOME
24 | sleep 10
25 | fi
26 |
27 | # Test for existing database installation and run supervisord
28 | if [ -d $DBASE_EXIST_TEST ]; then
29 | echo "Using existing databases"
30 | chown -R nobody:users $DBASE_DATA
31 | chmod -R 777 $DBASE_DATA
32 | /usr/bin/supervisord
33 | sleep 20s
34 | else
35 | echo "new setup, copying empty databases"
36 | cp -pr /var/lib/mysql/* $DBASE_DEST
37 | chown -R nobody:users $DBASE_DATA
38 | chmod -R 777 $DBASE_DATA
39 | sleep 10s
40 | /usr/bin/supervisord
41 | sleep 20s
42 | fi
43 |
--------------------------------------------------------------------------------
/pacs/src/get.list:
--------------------------------------------------------------------------------
1 | http://sourceforge.net/projects/dcm4che/files/dcm4chee/2.17.1/dcm4chee-2.17.1-mysql.zip
2 | http://colocrossing.dl.sourceforge.net/project/jboss/JBoss/JBoss-4.2.3.GA/jboss-4.2.3.GA-jdk6.zip
3 | http://sourceforge.net/projects/dcm4che/files/dcm4chee-arr/3.0.11/dcm4chee-arr-3.0.11-mysql.zip
4 |
--------------------------------------------------------------------------------
/pacs/src/makedb.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | # create databases etc...
3 | mysql_install_db
4 | /usr/bin/mysqld_safe &
5 | sleep 5s
6 | # Create the 'pacsdb' and 'arrdb' databases, and 'pacs' and 'arr' DB users.
7 | mysql -uroot < /root/databases.sql
8 | # Load the 'pacsdb' database schema
9 | mysql -upacs -ppacs pacsdb < /root/create.mysql
10 | # Load the 'arrdb' database schema
11 | mysql -uarr -parr arrdb < /root/dcm4chee-arr-mysql.ddl
12 | killall mysqld
13 | sleep 5s
14 |
--------------------------------------------------------------------------------
/pacs/src/supervisord.conf:
--------------------------------------------------------------------------------
1 | [supervisord]
2 | nodaemon=true
3 | [program:mysql-server]
4 | user=nobody
5 | command=/usr/bin/mysqld_safe --skip-syslog
6 | [program:pacs-server]
7 | user=nobody
8 | command="%(ENV_DCM4CHEE_HOME)s%(ENV_DCM_RUN)s"
9 |
--------------------------------------------------------------------------------
/photoshow/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM phusion/baseimage:0.9.16
2 | MAINTAINER sparklyballs
3 |
4 | # Set correct environment variables
5 | ENV DEBIAN_FRONTEND=noninteractive HOME="/root" TERM=xterm LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_ALL=en_US.UTF-8
6 |
7 | # Add required files that are local
8 | ADD src/ /root/
9 |
10 | # volumes
11 | VOLUME /Thumbs /Pictures
12 |
13 | # expose ports
14 | EXPOSE 80
15 |
16 | # Use baseimage-docker's init system
17 | CMD ["/sbin/my_init"]
18 |
19 | # fix install scripts executable
20 | RUN chmod +x /root/install.sh && \
21 | sleep 1s && \
22 |
23 | # installer script
24 | /root/install.sh && \
25 |
26 | # fix executables
27 | chmod +x /etc/my_init.d/* && \
28 |
29 | # remove install script for cleaner final image
30 | rm /root/install.sh
31 |
32 |
--------------------------------------------------------------------------------
/pints/src/apache-config.conf:
--------------------------------------------------------------------------------
1 |
2 | ServerAdmin me@mydomain.com
3 | DocumentRoot /var/www/Pints
4 |
5 | Options Indexes FollowSymLinks MultiViews
6 | AllowOverride All
7 | Order deny,allow
8 | Allow from all
9 |
10 | ErrorLog ${APACHE_LOG_DIR}/error.log
11 | CustomLog ${APACHE_LOG_DIR}/access.log combined
12 |
13 |
--------------------------------------------------------------------------------
/pints/src/apache.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | exec /usr/sbin/apache2ctl -D FOREGROUND
3 |
--------------------------------------------------------------------------------
/pints/src/firstrun.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | mkdir -p /config
3 | if [ -f "/var/www/Pints/index.php" ]; then
4 | echo "using existing website"
5 | chown -R www-data:www-data /var/log/apache2
6 | else
7 | echo "copying RaspberryPints files"
8 | mkdir -p /var/www/Pints
9 | cp -pr /root/RaspberryPints-2.0.1/* /var/www/Pints/
10 | chown -R www-data:www-data /var/www/Pints
11 | fi
12 |
--------------------------------------------------------------------------------
/pints/src/mariadb.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | start_mysql(){
3 | /usr/bin/mysqld_safe --datadir=/config/databases > /dev/null 2>&1 &
4 | RET=1
5 | while [[ RET -ne 0 ]]; do
6 | mysql -uroot -e "status" > /dev/null 2>&1
7 | RET=$?
8 | sleep 1
9 | done
10 | }
11 |
12 | # If databases do not exist create them
13 | if [ -f /config/databases/mysql/user.MYD ]; then
14 | echo "Database exists."
15 | else
16 | echo "Creating database."
17 | /usr/bin/mysql_install_db --datadir=/config/databases >/dev/null 2>&1
18 | start_mysql
19 | echo "Database created. Granting access to 'root' ruser for all hosts."
20 | mysql -uroot -e "GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION"
21 | mysqladmin -u root shutdown
22 | chown -R nobody:users /config
23 | chmod -R 755 /config
24 | fi
25 |
26 | echo "Starting MariaDB..."
27 | /usr/bin/mysqld_safe --skip-syslog --datadir='/config/databases'
28 |
--------------------------------------------------------------------------------
/piwigo/Dockerfile:
--------------------------------------------------------------------------------
1 |
2 | # set base os
3 | FROM phusion/baseimage:0.9.16
4 |
5 | # Set environment variables for my_init, terminal and apache
6 | ENV DEBIAN_FRONTEND=noninteractive HOME="/root" TERM=xterm APACHE_RUN_USER=www-data APACHE_RUN_GROUP=www-data APACHE_LOG_DIR="/var/log/apache2" APACHE_LOCK_DIR="/var/lock/apache2" APACHE_PID_FILE="/var/run/apache2.pid"
7 | CMD ["/sbin/my_init"]
8 |
9 | # add local files
10 | ADD src/ /root/
11 |
12 | # expose port(s)
13 | EXPOSE 80
14 |
15 | # startup files
16 | RUN mkdir -p /etc/service/apache && \
17 | mv /root/apache.sh /etc/service/apache/run && \
18 | mv /root/firstrun.sh /etc/my_init.d/firstrun.sh && \
19 | chmod +x /etc/service/apache/run && \
20 | chmod +x /etc/my_init.d/firstrun.sh && \
21 |
22 | # fix nobody user to match unraid
23 | usermod -u 99 nobody && \
24 | usermod -g 100 nobody && \
25 | usermod -d /home nobody && \
26 | chown -R nobody:users /home && \
27 |
28 | # install apache and piwigo dependencies
29 | apt-get update && \
30 | apt-get -y install apache2 libapache2-mod-php5 php5-mysql php5-gd php-pear php-apc php5-curl wget curl lynx-cur curl unzip php5-imagick php5-xmlrpc php5-xsl php5-cgi php-auth php-auth-sasl php-net-smtp && \
31 |
32 | # Enable apache mods.
33 | a2enmod php5 && \
34 | a2enmod rewrite && \
35 |
36 | # Update the PHP.ini file, enable ?> tags and quieten logging.
37 | sed -i "s/short_open_tag = Off/short_open_tag = On/" /etc/php5/apache2/php.ini && \
38 | sed -i "s/error_reporting = .*$/error_reporting = E_ERROR | E_WARNING | E_PARSE/" /etc/php5/apache2/php.ini && \
39 | mv /root/apache-config.conf /etc/apache2/sites-enabled/000-default.conf
40 |
41 |
--------------------------------------------------------------------------------
/piwigo/src/apache-config.conf:
--------------------------------------------------------------------------------
1 |
2 | ServerAdmin me@mydomain.com
3 | DocumentRoot /var/www/gallery
4 |
5 |
6 | Options Indexes FollowSymLinks MultiViews
7 | AllowOverride All
8 | Order deny,allow
9 | Allow from all
10 |
11 |
12 | ErrorLog ${APACHE_LOG_DIR}/error.log
13 | CustomLog ${APACHE_LOG_DIR}/access.log combined
14 |
15 |
16 |
--------------------------------------------------------------------------------
/piwigo/src/apache.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | exec /usr/sbin/apache2ctl -D FOREGROUND
3 |
--------------------------------------------------------------------------------
/piwigo/src/firstrun.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | if [ -f "/var/www/gallery/index.php" ]; then
3 | echo "using existing website"
4 | chown -R www-data:www-data /var/log/apache2
5 | else
6 | echo "fetching piwigo files"
7 | wget "http://piwigo.org/download/dlcounter.php?code=latest" -O /root/piwigo.zip
8 | unzip -q /root/piwigo.zip -d /tmp
9 | mv /tmp/piwigo/* /var/www/gallery
10 | rm -rf /tmp/piwigo /tmp/piwigo.zip
11 | chown -R www-data:www-data /var/www/gallery
12 | sleep 5
13 | fi
14 |
--------------------------------------------------------------------------------
/pydio-original-no-ssl/src/apache-config.conf:
--------------------------------------------------------------------------------
1 |
2 |
3 | DocumentRoot /var/www/pydio
4 |
5 | Options FollowSymLinks
6 | AllowOverride All
7 |
8 |
9 |
10 | Options Indexes FollowSymLinks MultiViews
11 | AllowOverride All
12 | Order allow,deny
13 | allow from all
14 |
15 |
16 |
--------------------------------------------------------------------------------
/pydio-original-no-ssl/src/apache.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | exec /usr/sbin/apache2ctl -D FOREGROUND
3 |
4 |
5 |
--------------------------------------------------------------------------------
/pydio-original-no-ssl/src/firstrun.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | mkdir -p /var/www/pydio
3 | mkdir -p /config
4 |
5 | if [ -f "/var/www/pydio/index.php" ]; then
6 | echo "using existing website"
7 | chown -R www-data:www-data /var/log/apache2
8 | else
9 | cd /var/www
10 | cp -r /root/pydio/* /var/www/pydio/
11 | chown -R www-data:www-data /var/www/pydio/data
12 | fi
13 |
14 | if [ -f "/config/ssmtp.conf" ]; then
15 | rm /etc/ssmtp/ssmtp.conf
16 | cp /config/ssmtp.conf /etc/ssmtp/ssmtp.conf
17 | else
18 | cp /root/ssmtp.conf /config/ssmtp.conf
19 | chown -R nobody:users /config
20 | echo "EDIT SSMTP CONFIG AND RESTART CONTAINER"
21 | fi
22 |
23 |
--------------------------------------------------------------------------------
/pydio-original-no-ssl/src/ssmtp.conf:
--------------------------------------------------------------------------------
1 | #
2 | # Config file for sSMTP sendmail
3 | #
4 | # The person who gets all mail for userids < 1000
5 | # Make this empty to disable rewriting.
6 |
7 | root=
8 |
9 | # The place where the mail goes. The actual machine name is required no
10 | # MX records are consulted. Commonly mailhosts are named mail.domain.com
11 |
12 | mailhub=smtp.gmail.com:587
13 | AuthUser=
14 | AuthPass=
15 | UseSTARTTLS=yes
16 |
17 | # Where will the mail seem to come from?
18 | #rewriteDomain=
19 |
20 | # The full hostname
21 | #hostname=
22 |
23 | # Are users allowed to set their own From: address?
24 | # YES - Allow the user to specify their own From: address
25 | # NO - Use the system generated From: address
26 | #FromLineOverride=YES
27 |
--------------------------------------------------------------------------------
/pydio/src/apache-config.conf:
--------------------------------------------------------------------------------
1 |
2 | SSLEngine on
3 | SSLCertificateFile /opt/server.pem
4 | SSLCertificateKeyFile /opt/server.key
5 |
6 | DocumentRoot /var/www/pydio
7 |
8 | Options FollowSymLinks
9 | AllowOverride All
10 |
11 |
12 |
13 | Options Indexes FollowSymLinks MultiViews
14 | AllowOverride All
15 | Order allow,deny
16 | allow from all
17 |
18 |
19 |
--------------------------------------------------------------------------------
/pydio/src/apache.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | exec /usr/sbin/apache2ctl -D FOREGROUND
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/pydio/src/ports.conf:
--------------------------------------------------------------------------------
1 | # If you just change the port or add more ports here, you will likely also
2 | # have to change the VirtualHost statement in
3 | # /etc/apache2/sites-enabled/000-default.conf
4 |
5 |
6 |
7 | Listen 6074
8 |
9 |
10 |
11 | # vim: syntax=apache ts=4 sw=4 sts=4 sr noet
12 |
--------------------------------------------------------------------------------
/pydio/src/ssmtp.conf:
--------------------------------------------------------------------------------
1 | #
2 | # Config file for sSMTP sendmail
3 | #
4 | # The person who gets all mail for userids < 1000
5 | # Make this empty to disable rewriting.
6 |
7 | root=
8 |
9 | # The place where the mail goes. The actual machine name is required no
10 | # MX records are consulted. Commonly mailhosts are named mail.domain.com
11 |
12 | mailhub=smtp.gmail.com:587
13 | AuthUser=
14 | AuthPass=
15 | UseSTARTTLS=yes
16 |
17 | # Where will the mail seem to come from?
18 | #rewriteDomain=
19 |
20 | # The full hostname
21 | #hostname=
22 |
23 | # Are users allowed to set their own From: address?
24 | # YES - Allow the user to specify their own From: address
25 | # NO - Use the system generated From: address
26 | #FromLineOverride=YES
27 |
28 |
--------------------------------------------------------------------------------
/pynab/src/001-pynab:
--------------------------------------------------------------------------------
1 | upstream _pynab {
2 | server unix:/var/run/uwsgi.sock;
3 | }
4 | server {
5 | listen 8080;
6 | server_name api;
7 | log_format proxied_combined '$http_x_forwarded_for - $remote_user [$time_local] '
8 | '"$request" $status $body_bytes_sent '
9 | '"$http_referer" "$http_user_agent"';
10 | location / {
11 | try_files $uri @uwsgi;
12 | }
13 | location @uwsgi {
14 | include uwsgi_params;
15 | uwsgi_pass _pynab;
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/pynab/src/config-files/config.js:
--------------------------------------------------------------------------------
1 | angular.module('pynabWebuiApp').constant('PYNAB_CONFIG', {
2 | // example: 'http://someindexer.org:8080/'
3 | // don't forget the trailing slash
4 | // if your install is in a subdirectory, include that
5 | hostUrl: 'http://localhost:8080/'
6 | });
7 |
--------------------------------------------------------------------------------
/pynab/src/json-parser/json.license:
--------------------------------------------------------------------------------
1 | The MIT License
2 |
3 | Copyright (c) 2011 Dominic Tarr
4 |
5 | Permission is hereby granted, free of charge,
6 | to any person obtaining a copy of this software and
7 | associated documentation files (the "Software"), to
8 | deal in the Software without restriction, including
9 | without limitation the rights to use, copy, modify,
10 | merge, publish, distribute, sublicense, and/or sell
11 | copies of the Software, and to permit persons to whom
12 | the Software is furnished to do so,
13 | subject to the following conditions:
14 |
15 | The above copyright notice and this permission notice
16 | shall be included in all copies or substantial portions of the Software.
17 |
18 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
19 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
20 | OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
21 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR
22 | ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
23 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
24 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
25 |
--------------------------------------------------------------------------------
/pynab/src/pynab.ini:
--------------------------------------------------------------------------------
1 | [uwsgi]
2 | chmod-socket = 666
3 | socket = /var/run/uwsgi.sock
4 | master = true
5 | chdir = /opt/pynab
6 | wsgi-file = api.py
7 | uid = root
8 | gid = root
9 | processes = 2
10 | threads = 2
11 |
--------------------------------------------------------------------------------
/pynab/src/startup-files/001-fix-the-time.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | if [[ $(cat /etc/timezone) != $TZ ]] ; then
3 | echo "$TZ" > /etc/timezone
4 | exec dpkg-reconfigure -f noninteractive tzdata
5 | fi
6 |
--------------------------------------------------------------------------------
/pynab/src/startup-files/003-postgres-initialise.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | if [ -f "/data/main/postmaster.opts" ]; then
3 | echo "postgres folders appear to be set"
4 | /usr/bin/supervisord -c /root/supervisor-files/postgres-supervisord.conf &
5 | sleep 5s
6 | else
7 | cp /etc/postgresql/9.4/main/postgresql.conf /data/postgresql.conf
8 | cp /etc/postgresql/9.4/main/pg_hba.conf /data/pg_hba.conf
9 | sed -i '/^data_directory*/ s|/var/lib/postgresql/9.4/main|/data/main|' /data/postgresql.conf
10 | sed -i '/^hba_file*/ s|/etc/postgresql/9.4/main/pg_hba.conf|/data/pg_hba.conf|' /data/postgresql.conf
11 | echo "hot_standby = on" >> /data/postgresql.conf
12 | mkdir -p /data/main
13 | chown postgres:postgres /data/*
14 | chmod 700 /data/main
15 | echo "initialising empty databases in /data"
16 | /sbin/setuser postgres /usr/lib/postgresql/9.4/bin/initdb -D /data/main >/dev/null 2>&1
17 | echo "completed initialisation"
18 | sleep 5s
19 | /usr/bin/supervisord -c /root/supervisor-files/postgres-supervisord.conf &
20 | sleep 5s
21 | echo "setting up pynab user and database"
22 | /sbin/setuser postgres psql --command="CREATE USER pynab WITH SUPERUSER PASSWORD 'pynab';" >/dev/null 2>&1
23 | /sbin/setuser postgres psql --command="CREATE DATABASE pynab WITH OWNER pynab TEMPLATE template0 ENCODING 'UTF8';" >/dev/null 2>&1
24 | /sbin/setuser postgres psql --command="GRANT ALL PRIVILEGES ON DATABASE pynab TO pynab;" >/dev/null 2>&1
25 | sleep 5s
26 | echo "pynab user and database created"
27 | echo "building initial nzb import"
28 | echo "THIS WILL TAKE SOME TIME, DO NOT STOP THE DOCKER"
29 | cd /opt/pynab
30 | python3 install.py >/dev/null 2>&1
31 | echo "IMPORT COMPLETED"
32 | fi
33 |
--------------------------------------------------------------------------------
/pynab/src/startup-files/005-start-all-the-rest-up.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | mkdir -p /data/pynab-logs
3 | chmod -R 777 /data/pynab-logs
4 | /usr/bin/supervisord -c /root/supervisor-files/nginx-pynab-supervisord.conf &
5 |
--------------------------------------------------------------------------------
/pynab/src/supervisor-files/postgres-supervisord.conf:
--------------------------------------------------------------------------------
1 | [supervisord]
2 | nodaemon=true
3 | [program:postgres]
4 | user=postgres
5 | command=/usr/lib/postgresql/9.4/bin/postgres -D /data/main -c config_file=/data/main/postgresql.conf
6 |
--------------------------------------------------------------------------------
/readerself/src/apache-config.conf:
--------------------------------------------------------------------------------
1 |
2 | ServerAdmin me@mydomain.com
3 | DocumentRoot /var/www/readerself
4 |
5 | Options Indexes FollowSymLinks MultiViews
6 | AllowOverride All
7 | Order deny,allow
8 | Allow from all
9 |
10 | ErrorLog ${APACHE_LOG_DIR}/error.log
11 | CustomLog ${APACHE_LOG_DIR}/access.log combined
12 |
13 |
14 |
--------------------------------------------------------------------------------
/readerself/src/apache.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | exec /usr/sbin/apache2ctl -D FOREGROUND
3 |
--------------------------------------------------------------------------------
/readerself/src/cronjob:
--------------------------------------------------------------------------------
1 | # Edit this file to introduce tasks to be run by cron.
2 | #
3 | # Each task to run has to be defined through a single line
4 | # indicating with different fields when the task will be run
5 | # and what command to run for the task
6 | #
7 | # To define the time you can provide concrete values for
8 | # minute (m), hour (h), day of month (dom), month (mon),
9 | # and day of week (dow) or use '*' in these fields (for 'any').#
10 | # Notice that tasks will be started based on the cron's system
11 | # daemon's notion of time and timezones.
12 | #
13 | # Output of the crontab jobs (including errors) is sent through
14 | # email to the user the crontab file belongs to (unless redirected).
15 | #
16 | # For example, you can run a backup of all your user accounts
17 | # at 5 a.m every week with:
18 | # 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
19 | #
20 | # For more information see the manual pages of crontab(5) and cron(8)
21 | #
22 | # m h dom mon dow command
23 | 0,15 * * * * cd /var/www/readerself && php index.php refresh items
24 |
--------------------------------------------------------------------------------
/readerself/src/firstrun.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | if [ -f "/var/www/readerself/index.php" ]; then
3 | echo "using existing website"
4 | chown -R www-data:www-data /var/log/apache2
5 | else
6 | echo "fetching readerself files"
7 | git clone https://github.com/readerself/readerself /var/www/readerself
8 | chown -R www-data:www-data /var/www/readerself
9 | fi
10 | crontab /root/cronjob
11 |
12 |
13 |
--------------------------------------------------------------------------------
/sabnzbd/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM phusion/baseimage:0.9.16
2 |
3 | ENV DEBIAN_FRONTEND noninteractive
4 |
5 | # Set correct environment variables
6 | ENV HOME /root
7 | ENV TERM xterm
8 | # Use baseimage-docker's init system
9 | CMD ["/sbin/my_init"]
10 |
11 | # Add local files
12 | ADD sabnzbd.sh /root/sabnzbd.sh
13 |
14 | # Fix a Debianism of the nobody's uid being 65534
15 | RUN usermod -u 99 nobody && \
16 | usermod -g 100 nobody && \
17 |
18 | add-apt-repository ppa:jcfp/ppa && \
19 | add-apt-repository "deb http://us.archive.ubuntu.com/ubuntu/ trusty universe multiverse" && \
20 | add-apt-repository "deb http://us.archive.ubuntu.com/ubuntu/ trusty-updates universe multiverse" && \
21 | add-apt-repository ppa:jon-severinsson/ffmpeg && \
22 | apt-get update -q && \
23 | apt-get install -qy unrar par2 sabnzbdplus wget ffmpeg sabnzbdplus-theme-mobile curl && \
24 |
25 | # Install multithreaded par2
26 | apt-get remove --purge -y par2 && \
27 | wget -P /tmp http://www.chuchusoft.com/par2_tbb/par2cmdline-0.4-tbb-20100203-lin64.tar.gz && \
28 | tar -C /usr/local/bin -xvf /tmp/par2cmdline-0.4-tbb-20100203-lin64.tar.gz --strip-components 1 && \
29 |
30 |
31 |
32 | # Download folders
33 | mkdir -p /mnt/Downloads /mnt/XBMC-Media /mnt/Incomplete && \
34 |
35 |
36 |
37 | # Add sabnzbd to runit
38 | mkdir /etc/service/sabnzbd && \
39 | mv /root/sabnzbd.sh /etc/service/sabnzbd/run && \
40 | chmod +x /etc/service/sabnzbd/run
41 |
42 | EXPOSE 8080
43 | EXPOSE 9090
44 |
45 | # Path to a directory that only contains the sabnzbd.conf
46 | VOLUME /config
47 |
--------------------------------------------------------------------------------
/sabnzbd/README.md:
--------------------------------------------------------------------------------
1 | This is a Dockerfile setup for sabnzbd - http://sabnzbd.org/
2 |
3 | This includes a multithreaded par2
4 |
5 | To run:
6 |
7 | ```
8 | docker run -d --name="sabnzbd" -v /path/to/sabnzbd/conf:/config -v /path/to/downloads:/downloads -v /etc/localtime:/etc/localtime:ro -p 8080:8080 needo/sabnzbd
9 | ```
10 |
--------------------------------------------------------------------------------
/sabnzbd/sabnzbd.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | exec /sbin/setuser nobody /usr/bin/sabnzbdplus --config-file /config --server 0.0.0.0:8080
4 |
--------------------------------------------------------------------------------
/serviio/src/apache-config.conf:
--------------------------------------------------------------------------------
1 |
2 | ServerAdmin me@mydomain.com
3 | DocumentRoot /var/www/serviio
4 |
5 | Options Indexes FollowSymLinks MultiViews
6 | AllowOverride All
7 | Order deny,allow
8 | Allow from all
9 |
10 | ErrorLog ${APACHE_LOG_DIR}/error.log
11 | CustomLog ${APACHE_LOG_DIR}/access.log combined
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/serviio/src/apache.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | exec /usr/sbin/apache2ctl -D FOREGROUND
3 |
--------------------------------------------------------------------------------
/serviio/src/firstrun.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | mkdir -p /opt/serviio
3 | mkdir -p /var/www/serviio
4 | mkdir -p /config/serviio
5 |
6 | if [ -d "/opt/serviio/config" ]; then
7 | echo "using existing serviio files"
8 | usr/bin/supervisord -c /root/supervisord.conf &
9 | else
10 | cp -pr /root/serviio/* /opt/serviio/
11 | mv /opt/serviio/library /opt/serviio/config /config/serviio/
12 | usr/bin/supervisord -c /root/supervisord.conf &
13 | fi
14 |
15 | if [ -f "/var/www/serviio/index.php" ];then
16 | echo "using existing web interface files"
17 | else
18 | cp -pr /root/Web-UI-for-Serviio-Serviio-1.5/* /var/www/serviio/
19 | chown -R www-data:www-data /var/www/serviio
20 | fi
21 |
--------------------------------------------------------------------------------
/serviio/src/ports.conf:
--------------------------------------------------------------------------------
1 | # If you just change the port or add more ports here, you will likely also
2 | # have to change the VirtualHost statement in
3 | # /etc/apache2/sites-enabled/000-default.conf
4 |
5 |
6 |
7 | Listen 8780
8 |
9 |
10 |
11 | # vim: syntax=apache ts=4 sw=4 sts=4 sr noet
12 |
--------------------------------------------------------------------------------
/serviio/src/supervisord.conf:
--------------------------------------------------------------------------------
1 | [supervisord]
2 | nodaemon=true
3 | [program:serviio]
4 | command=/usr/lib/jvm/java-8-oracle/bin/java -Xmx512M -Xms20M -XX:+UseG1GC -XX:GCTimeRatio=1 -XX:MinHeapFreeRatio=10 -XX:MaxHeapFreeRatio=20 -Djava.net.preferIPv4Stack=true -Djava.awt.headless=true -Dorg.restlet.engine.loggerFacadeClass=org.restlet.ext.slf4j.Slf4jLoggerFacade -Dderby.system.home=/config/serviio/library -Dserviio.home=/opt/serviio -Dffmpeg.location=ffmpeg -Ddcraw.location=dcraw -classpath /opt/serviio/lib/*:/config/serviio/config org.serviio.MediaServer
5 |
--------------------------------------------------------------------------------
/shout-irc/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM phusion/baseimage:0.9.16
2 | MAINTAINER sparklyballs
3 |
4 | # Set correct environment variables
5 | ENV DEBIAN_FRONTEND=noninteractive HOME="/root" TERM=xterm LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_ALL=en_US.UTF-8
6 |
7 | # set ports
8 | EXPOSE 9000
9 |
10 | # Use baseimage-docker's init system
11 | CMD ["/sbin/my_init"]
12 |
13 | # Add required files that are local
14 | ADD src/ /root/
15 |
16 | # fix volume for config
17 | VOLUME /config
18 |
19 | # Set the locale
20 | RUN locale-gen en_US.UTF-8 && \
21 |
22 | # fix start up files
23 | mv /root/firstrun.sh /etc/my_init.d/firstrun.sh && \
24 | chmod +x /etc/my_init.d/firstrun.sh && \
25 | mkdir /etc/service/shout && \
26 | mv /root/shout.sh /etc/service/shout/run && \
27 | chmod +x /etc/service/shout/run && \
28 |
29 | # Fix a Debianism of the nobody's uid being 65534
30 | usermod -u 99 nobody && \
31 | usermod -g 100 nobody && \
32 |
33 | # update apt and install dependencies
34 | apt-get update && \
35 | apt-get install -y nodejs npm && \
36 | cp /usr/bin/nodejs /usr/bin/node && \
37 |
38 | # install shout
39 | npm install -g shout && \
40 | #chown -R nobody:users /usr/local/lib/node_modules/shout && \
41 |
42 | # clean up
43 | apt-get clean && \
44 | rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* \
45 | /usr/share/man /usr/share/groff /usr/share/info \
46 | /usr/share/lintian /usr/share/linda /var/cache/man && \
47 | (( find /usr/share/doc -depth -type f ! -name copyright|xargs rm || true )) && \
48 | (( find /usr/share/doc -empty|xargs rmdir || true ))
49 |
--------------------------------------------------------------------------------
/shout-irc/src/firstrun.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | if [ -f "/config/config.js" ]; then
4 | echo "using saved config file"
5 | else
6 | cp /root/config.js /config/config.js
7 | chown -R nobody:users /config
8 | sleep 5s
9 | fi
10 |
--------------------------------------------------------------------------------
/shout-irc/src/shout.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | exec /sbin/setuser nobody shout --home /config
3 |
--------------------------------------------------------------------------------
/sickrage/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM phusion/baseimage:0.9.16
2 | MAINTAINER needo
3 | ENV DEBIAN_FRONTEND noninteractive
4 |
5 | # Set correct environment variables
6 | ENV HOME /root
7 |
8 | # Use baseimage-docker's init system
9 | CMD ["/sbin/my_init"]
10 |
11 | # Fix a Debianism of the nobody's uid being 65534
12 | RUN usermod -u 99 nobody
13 | RUN usermod -g 100 nobody
14 |
15 | RUN add-apt-repository "deb http://us.archive.ubuntu.com/ubuntu/ trusty universe multiverse"
16 | RUN add-apt-repository "deb http://us.archive.ubuntu.com/ubuntu/ trusty-updates universe multiverse"
17 | RUN apt-get update -q
18 |
19 | # Install Dependencies
20 | RUN apt-get install -qy python python-cheetah ca-certificates wget unrar git
21 |
22 | # Install SickRage
23 |
24 | RUN git clone https://github.com/SiCKRAGETV/SickRage.git /opt/sickrage
25 | RUN chown nobody:users /opt/sickrage
26 |
27 | EXPOSE 8081
28 |
29 | # SickRage Configuration
30 | VOLUME /config
31 |
32 | # Downloads and TV Directories
33 | RUN mkdir /mnt/XBMC-Media
34 |
35 | # Add edge.sh to execute during container startup
36 | RUN mkdir -p /etc/my_init.d
37 | ADD edge.sh /etc/my_init.d/edge.sh
38 | RUN chmod +x /etc/my_init.d/edge.sh
39 |
40 | # Add Sickbeard to runit
41 | RUN mkdir /etc/service/sickrage
42 | ADD sickrage.sh /etc/service/sickrage/run
43 | RUN chmod +x /etc/service/sickrage/run
44 |
--------------------------------------------------------------------------------
/sickrage/README.md:
--------------------------------------------------------------------------------
1 |
2 |
3 | PERSONALISED VERSION TAILORED FOR AN ALREADY RUNNING SERVER AND NOT SUITED FOR ANYONE ELSE
4 |
5 | To run:
6 |
7 | ```
8 | docker run -d --name="sickrage" -v /path/to/sickrage/data:/config -v /path/to/downloads:/downloads -v /path/to/tv:/tv -v /etc/localtime:/etc/localtime:ro -p 8081:8081 docker/sickrage
9 | ```
10 |
11 | Edge
12 | ----
13 | If you would like to run the latest updates from the master branch as well as enable in-app updates run:
14 |
15 | ```
16 | docker run -d --name="sickrage" -v /path/to/sickrage/data:/config -v /path/to/downloads:/downloads -v /path/to/tv:/tv -v /etc/localtime:/etc/localtime:ro -e EDGE=1 -p 8081:8081 docker/sickrage
17 |
--------------------------------------------------------------------------------
/sickrage/edge.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | # Does the user want the latest version
4 | if [ -z "$EDGE" ]; then
5 | echo "Bleeding edge not requested"
6 | else
7 | rm -rf /opt/sickrage
8 | git clone https://github.com/SiCKRAGETV/SickRage.git /opt/sickrage
9 | chown -R nobody:users /opt/sickrage
10 | fi
11 |
--------------------------------------------------------------------------------
/sickrage/sickrage.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | exec /sbin/setuser nobody python /opt/sickrage/SickBeard.py --datadir=/config
4 |
--------------------------------------------------------------------------------
/simplehelp/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM phusion/baseimage:0.9.16
2 | MAINTAINER sparklyballs
3 |
4 | # Set correct environment variables
5 | ENV DEBIAN_FRONTEND=noninteractive HOME="/root" TERM=xterm LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_ALL=en_US.UTF-8
6 |
7 | # set ports
8 | EXPOSE 80 443
9 |
10 | # Use baseimage-docker's init system
11 | CMD ["/sbin/my_init"]
12 |
13 | # Add required files that are local
14 | ADD src/ /root/
15 |
16 | # set config volume
17 | VOLUME /config
18 |
19 | # Set the locale
20 | RUN locale-gen en_US.UTF-8 && \
21 |
22 | # fix startup files
23 | mv /root/firstrun.sh /etc/my_init.d/firstrun.sh && \
24 | chmod +x /etc/my_init.d/firstrun.sh && \
25 |
26 | # Fix a Debianism of the nobody's uid being 65534
27 | usermod -u 99 nobody && \
28 | usermod -g 100 nobody && \
29 |
30 | # update apt and install dependencies
31 | apt-get update && \
32 | apt-get install -y wget openjdk-7-jre-headless supervisor && \
33 |
34 | # fetch simplehelp and unpack
35 | cd /root && \
36 | wget --no-check-certificate --directory-prefix=/tmp http://simple-help.com/releases/SimpleHelp-linux-amd64.tar.gz && \
37 | tar -xvf /tmp/SimpleHelp-linux-amd64.tar.gz && \
38 |
39 | # set supervisor file
40 | mv /root/supervisord.conf /etc/supervisor/conf.d/supervisord.conf && \
41 |
42 | # clean up
43 | apt-get clean && \
44 | rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* \
45 | /usr/share/man /usr/share/groff /usr/share/info \
46 | /usr/share/lintian /usr/share/linda /var/cache/man && \
47 | (( find /usr/share/doc -depth -type f ! -name copyright|xargs rm || true )) && \
48 | (( find /usr/share/doc -empty|xargs rmdir || true ))
49 |
50 |
--------------------------------------------------------------------------------
/simplehelp/src/firstrun.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | if [[ $(cat /etc/timezone) != $TZ ]] ; then
4 | echo "$TZ" > /etc/timezone
5 | dpkg-reconfigure -f noninteractive tzdata
6 | fi
7 |
8 | if [ -d "/opt/SimpleHelp/lib" ]; then
9 | echo "simplehelp files are in place"
10 | else
11 | mkdir -p /opt/SimpleHelp
12 | cp -r /root/SimpleHelp/* /opt/SimpleHelp/
13 | fi
14 |
15 | sleep 5s
16 | exec /usr/bin/supervisord
17 |
--------------------------------------------------------------------------------
/simplehelp/src/supervisord.conf:
--------------------------------------------------------------------------------
1 | [supervisord]
2 | nodaemon=true
3 | [program:simplehelp]
4 | directory = /opt/SimpleHelp
5 | user=root
6 | command=/opt/SimpleHelp/jre1.6.0_16/bin/java -Xmx384m -Djava.net.preferIPv4Stack=true -cp "/opt/SimpleHelp/lib/secure_shelp.jar:/opt/SimpleHelp/lib/secure_utils.jar:/opt/SimpleHelp/lib/secure_nlink.jar:/opt/SimpleHelp/lib/mail.jar:/opt/SimpleHelp/lib/activation.jar" -Djava.awt.headless=true SecureRunner1 com.aem.shelp.proxy.ProxyServerStartup &
7 |
8 |
--------------------------------------------------------------------------------
/sonarr/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM debian:wheezy
2 |
3 | # Set correct environment variables
4 | ENV HOME="/root" TERM=xterm
5 |
6 | # add local files
7 | ADD src/ /root/
8 |
9 | # expose ports
10 | EXPOSE 8989 9898
11 |
12 | # set volumes
13 | VOLUME /config /downloads /tv
14 |
15 | # set entrypoint
16 | ENTRYPOINT ["/usr/bin/supervisord"]
17 |
18 | # Fix a Debianism of the nobody's uid being 65534
19 | RUN usermod -u 99 nobody && \
20 | usermod -g 100 nobody && \
21 |
22 | # install dependencies
23 | echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections && \
24 | apt-key adv --keyserver keyserver.ubuntu.com --recv-keys FDA5DFFC && \
25 | echo "deb http://apt.sonarr.tv/ develop main" | tee -a /etc/apt/sources.list && \
26 | apt-get update -q && \
27 | apt-get install -qy nzbdrone mediainfo supervisor && \
28 | apt-get clean && \
29 | rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* && \
30 |
31 | # set permissions for folders etc
32 | chown -R nobody:users /opt/NzbDrone && \
33 | mkdir -p /config/sonarr /downloads /tv && \
34 | chown -R nobody:users /downloads /tv /config && \
35 |
36 | # Fix supervisor file
37 | mv /root/supervisord.conf /etc/supervisor/conf.d/supervisord.conf
38 |
--------------------------------------------------------------------------------
/sonarr/LICENSE.md:
--------------------------------------------------------------------------------
1 | Copyright (c) 2014 tuxeh https://github.com/tuxeh
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining a copy
4 | of this software and associated documentation files (the "Software"), to deal
5 | in the Software without restriction, including without limitation the rights
6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7 | copies of the Software, and to permit persons to whom the Software is
8 | furnished to do so, subject to the following conditions:
9 |
10 | The above copyright notice and this permission notice shall be included in
11 | all copies or substantial portions of the Software.
12 |
13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19 | THE SOFTWARE.
20 |
--------------------------------------------------------------------------------
/sonarr/README.md:
--------------------------------------------------------------------------------
1 | # Docker Sonarr (previously NzbDrone)
2 |
3 | REBUILT FROM THE OFFICIAL SONARR IMAGE, FOR UNRAID
4 | ### Ports
5 | - **TCP 8989** - Web Interface
6 |
7 | ### Volumes
8 | - **/volumes/config** - Sonarr configuration data
9 | - **/volumes/completed** - Completed downloads from download client
10 | - **/volumes/media** - Sonarr media folder
11 |
12 | Docker runs as uid 100 (nobody on unraid)
13 |
14 | ## Running
15 |
16 | The quickest way to get it running without integrating with a download client or media server (plex)
17 | ```
18 | sudo docker run --restart always --name sonarr -p 8989:8989 -v /path/to/your/media/folder/:/volumes/media -v /path/to/your/completed/downloads:/volumes/completed sparklyballs/sonarr
19 | ```
20 |
21 | You can link to the download client's volumes and plex using something similar:
22 | ```
23 | sudo docker run --restart always --name sonarr --volumes-from plex --link plex:plex --volumes-from deluge --link deluge:deluge -p 8989:8989 sparklyballs/sonarr
24 | ```
25 |
26 |
--------------------------------------------------------------------------------
/sonarr/src/supervisord.conf:
--------------------------------------------------------------------------------
1 | [supervisord]
2 | nodaemon=true
3 |
4 | [program:sonarr]
5 | user=nobody
6 | command=mono /opt/NzbDrone/NzbDrone.exe --no-browser -data=/config/sonarr
7 |
8 |
--------------------------------------------------------------------------------
/sonerezh/Dockerfile:
--------------------------------------------------------------------------------
1 | # set base os
2 | FROM phusion/baseimage:0.9.16
3 |
4 | # Set environment variables for my_init, terminal and apache
5 | ENV DEBIAN_FRONTEND=noninteractive HOME="/root" TERM=xterm APACHE_RUN_USER=www-data APACHE_RUN_GROUP=www-data APACHE_LOG_DIR="/var/log/apache2" APACHE_LOCK_DIR="/var/lock/apache2" APACHE_PID_FILE="/var/run/apache2.pid"
6 | CMD ["/sbin/my_init"]
7 |
8 | # add local files
9 | ADD src/ /root/
10 |
11 | # expose port(s)
12 | EXPOSE 80
13 |
14 | # startup files
15 | RUN mkdir -p /etc/service/apache && \
16 | mv /root/apache.sh /etc/service/apache/run && \
17 | mv /root/firstrun.sh /etc/my_init.d/firstrun.sh && \
18 | chmod +x /etc/service/apache/run && \
19 | chmod +x /etc/my_init.d/firstrun.sh && \
20 |
21 | # update apt and get dependencies etc..
22 | apt-get update && \
23 | apt-get install -y libav-tools apache2 php5 php5-mysql php5-gd git-core && \
24 |
25 | # Enable apache mods.
26 | a2enmod php5 && \
27 | a2enmod rewrite && \
28 |
29 | # Update the PHP.ini file, enable ?> tags and quieten logging.
30 | sed -i "s/short_open_tag = Off/short_open_tag = On/" /etc/php5/apache2/php.ini && \
31 | sed -i "s/error_reporting = .*$/error_reporting = E_ERROR | E_WARNING | E_PARSE/" /etc/php5/apache2/php.ini && \
32 | mv /root/apache-config.conf /etc/apache2/sites-enabled/000-default.conf
33 |
34 |
35 |
--------------------------------------------------------------------------------
/sonerezh/src/apache-config.conf:
--------------------------------------------------------------------------------
1 |
2 | ServerName www.myserver.com
3 | DocumentRoot /var/www/sonerezh
4 |
5 |
6 | Options -Indexes
7 | AllowOverride All
8 |
9 | Require all granted
10 |
11 |
12 |
13 | CustomLog /var/log/apache2/www.myserver.com-access.log "Combined"
14 | ErrorLog /var/log/apache2/www.myserver.com-error.log
15 |
16 |
--------------------------------------------------------------------------------
/sonerezh/src/apache.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | exec /usr/sbin/apache2ctl -D FOREGROUND
3 |
4 |
--------------------------------------------------------------------------------
/sonerezh/src/firstrun.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | if [ -f "/var/www/sonerezh/index.php" ]; then
3 | echo "using existing website"
4 | chown -R www-data:www-data /var/log/apache2
5 | else
6 | echo "fetching sonerezh files"
7 | cd /var/www
8 | git clone http://github.com/Sonerezh/sonerezh.git
9 | chown -R www-data:www-data /var/www/sonerezh
10 | fi
11 |
12 |
--------------------------------------------------------------------------------
/synaman/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM phusion/baseimage:0.9.16
2 | MAINTAINER sparklyballs
3 |
4 | # Set correct environment variables
5 | ENV DEBIAN_FRONTEND=noninteractive HOME="/root" TERM=xterm
6 |
7 | # set ports
8 | EXPOSE 6060
9 |
10 | # Use baseimage-docker's init system
11 | CMD ["/sbin/my_init"]
12 |
13 | # Add required files that are local
14 | ADD src/ /root/
15 |
16 | # Fix a Debianism of the nobody's uid being 65534
17 | RUN usermod -u 99 nobody && \
18 | usermod -g 100 nobody && \
19 |
20 | # fix up start file
21 | mv /root/startup-files/firstrun.sh /etc/my_init.d/firstrun.sh && \
22 | chmod +x /etc/my_init.d/firstrun.sh && \
23 |
24 | # update apt and install dependencies
25 | apt-get update && \
26 | apt-get install -y wget openjdk-7-jre-headless && \
27 | mkdir -p /root/temp && \
28 | cd /root/temp && \
29 | wget http://www.synametrics.com/files/SynaMan/SynaManJava.tar.gz && \
30 | gunzip -c SynaManJava.tar.gz | tar -xvf - && \
31 | rm SynaManJava.tar.gz && \
32 |
33 | # clean up
34 | apt-get clean && \
35 | rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* \
36 | /usr/share/man /usr/share/groff /usr/share/info \
37 | /usr/share/lintian /usr/share/linda /var/cache/man && \
38 | (( find /usr/share/doc -depth -type f ! -name copyright|xargs rm || true )) && \
39 | (( find /usr/share/doc -empty|xargs rmdir || true ))
40 |
--------------------------------------------------------------------------------
/synaman/src/startup-files/firstrun.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | if [ -f "/opt/SynaMan/run.sh" ]; then
4 | echo "SynaMan files are in place"
5 | else
6 | mkdir -p /opt/SynaMan
7 | cp -r /root/temp/SynaMan/* /opt/SynaMan/
8 | fi
9 |
10 | cd /opt/SynaMan
11 | CP=
12 | for i in `ls lib/*.jar`
13 | do
14 | CP=$CP:$i
15 | done
16 | echo $CP
17 | exec java -server -Xmx128m -cp $CP -DLoggingConfigFile=logconfig.xml com.synametrics.sradef.BootLoader &
18 |
--------------------------------------------------------------------------------
/syslog-server/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM phusion/baseimage:0.9.16
2 | MAINTAINER Marius Sturm
3 |
4 | ENV DEBIAN_FRONTEND noninteractive
5 | ENV TERM xterm
6 | ENV JAVA_HOME /opt/graylog/embedded/jre
7 |
8 | RUN apt-get update && \
9 | apt-get install -y curl ntp ntpdate tzdata && \
10 | curl -O -L https://packages.graylog2.org/releases/graylog2-omnibus/ubuntu/graylog_latest.deb && \
11 | dpkg -i graylog_latest.deb && \
12 | rm graylog_latest.deb && \
13 | sed -i "0,/^\s*$/s//\/opt\/graylog\/embedded\/share\/docker\/run_graylogctl\n/" /etc/rc.local && \
14 | sed -i "0,/^\s*$/s//tail\ \-F\ \/var\/log\/graylog\/server\/current\ \&\n/" /etc/rc.local && \
15 | apt-get clean && \
16 | rm -rf /tmp/* /var/tmp/*
17 |
18 | VOLUME /var/opt/graylog/data
19 | VOLUME /var/log/graylog
20 | VOLUME /opt/graylog/plugin
21 | VOLUME /opt/graylog/conf/nginx/ca
22 |
23 | # web interface
24 | EXPOSE 9000
25 | EXPOSE 443
26 | # gelf tcp
27 | EXPOSE 12201
28 | # gelf udp
29 | EXPOSE 12201/udp
30 | # rest api
31 | EXPOSE 12900
32 | # etcd
33 | EXPOSE 4001
34 | # syslog
35 | EXPOSE 514
36 | EXPOSE 514/udp
37 |
38 | CMD ["/opt/graylog/embedded/share/docker/my_init"]
39 |
--------------------------------------------------------------------------------
/syslog-server/README.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sparklyballs/docker-containers/d5844bdc0d1651fc95c2997c44b419d436164cae/syslog-server/README.md
--------------------------------------------------------------------------------
/taskboard/Dockerfile:
--------------------------------------------------------------------------------
1 | # set base os
2 | FROM phusion/baseimage:0.9.16
3 |
4 | # Set environment variables for my_init, terminal and apache
5 | ENV DEBIAN_FRONTEND=noninteractive HOME="/root" TERM=xterm APACHE_RUN_USER=www-data APACHE_RUN_GROUP=www-data APACHE_LOG_DIR="/var/log/apache2" APACHE_LOCK_DIR="/var/lock/apache2" APACHE_PID_FILE="/var/run/apache2.pid"
6 | CMD ["/sbin/my_init"]
7 |
8 | # add local files
9 | ADD src/ /root/
10 |
11 | # expose port(s)
12 | EXPOSE 80
13 |
14 | # startup files
15 | RUN mkdir -p /etc/service/apache && \
16 | mv /root/apache.sh /etc/service/apache/run && \
17 | mv /root/firstrun.sh /etc/my_init.d/firstrun.sh && \
18 | chmod +x /etc/service/apache/run && \
19 | chmod +x /etc/my_init.d/firstrun.sh && \
20 |
21 | # update apt and get dependencies etc..
22 |
23 | apt-get update && \
24 | apt-get install -y apache2 git-core sqlite php5 php5-sqlite && \
25 | # Enable apache mods.
26 | a2enmod php5 && \
27 | a2enmod rewrite && \
28 |
29 | # Update the PHP.ini file, enable ?> tags and quieten logging.
30 | sed -i "s/short_open_tag = Off/short_open_tag = On/" /etc/php5/apache2/php.ini && \
31 | sed -i "s/error_reporting = .*$/error_reporting = E_ERROR | E_WARNING | E_PARSE/" /etc/php5/apache2/php.ini && \
32 | ln -s /etc/apache2/mods-available/expires.load /etc/apache2/mods-enabled && \
33 | mv /root/apache-config.conf /etc/apache2/sites-enabled/000-default.conf
34 |
35 |
--------------------------------------------------------------------------------
/taskboard/src/apache-config.conf:
--------------------------------------------------------------------------------
1 |
2 | ServerAdmin me@mydomain.com
3 | DocumentRoot /var/www/TaskBoard
4 |
5 | Options Indexes FollowSymLinks MultiViews
6 | AllowOverride All
7 | Order deny,allow
8 | Allow from all
9 |
10 | ErrorLog ${APACHE_LOG_DIR}/error.log
11 | CustomLog ${APACHE_LOG_DIR}/access.log combined
12 |
13 |
--------------------------------------------------------------------------------
/taskboard/src/apache.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | exec /usr/sbin/apache2ctl -D FOREGROUND
3 |
4 |
--------------------------------------------------------------------------------
/taskboard/src/firstrun.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | mkdir -p /config
3 | if [ -f "/var/www/TaskBoard/index.html" ]; then
4 | echo "using existing website"
5 | chown -R www-data:www-data /var/log/apache2
6 | else
7 | echo "fetching Taskboard files"
8 | git clone https://github.com/kiswa/TaskBoard.git /var/www/TaskBoard
9 | chown -R www-data:www-data /var/www/TaskBoard
10 | chmod -R 777 /var/www/TaskBoard/api
11 | fi
12 |
13 |
--------------------------------------------------------------------------------
/tftp-server/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM phusion/baseimage:0.9.16
2 |
3 | # Set correct environment variables
4 | ENV DEBIAN_FRONTEND=noninteractive HOME="/root" TERM=xterm
5 |
6 | # Use baseimage-docker's init system
7 | CMD ["/sbin/my_init"]
8 |
9 | # add local files
10 | ADD src/ /root/
11 |
12 | # Expose ports
13 | EXPOSE 69/tcp 69/udp
14 |
15 | # set volume
16 | VOLUME /images
17 |
18 | # Fix permissions of user nobody to suit unraid
19 | RUN usermod -u 99 nobody && \
20 | usermod -g 100 nobody && \
21 |
22 | # fix up startup files
23 | mkdir -p /etc/service/tftp-d && \
24 | mv /root/bring-up-the-server.sh /etc/service/tftp-d/run && \
25 | mv /root/001-set-perms.sh /etc/my_init.d/001-set-perms.sh && \
26 | chmod +x -R /etc/service/ /etc/my_init.d/ && \
27 |
28 | # install dependencies
29 | apt-get update -qq && \
30 | apt-get install \
31 | tftpd-hpa -qy && \
32 |
33 | #clean up
34 | apt-get clean && \
35 | rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* \
36 | /usr/share/man /usr/share/groff /usr/share/info \
37 | /usr/share/lintian /usr/share/linda /var/cache/man && \
38 | (( find /usr/share/doc -depth -type f ! -name copyright|xargs rm || true )) && \
39 | (( find /usr/share/doc -empty|xargs rmdir || true ))
40 |
41 |
--------------------------------------------------------------------------------
/tftp-server/src/001-set-perms.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | chown nobody:users /images
3 |
--------------------------------------------------------------------------------
/tftp-server/src/bring-up-the-server.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | exec /usr/sbin/in.tftpd --foreground --ipv4 --user nobody --address 0.0.0.0:69 --secure /images
3 |
--------------------------------------------------------------------------------
/uniserv/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM phusion/baseimage:0.9.16
2 | ENV DEBIAN_FRONTEND noninteractive
3 | # Set correct environment variables
4 | ENV HOME /root
5 | ENV TERM xterm
6 |
7 | # Use baseimage-docker's init system
8 | CMD ["/sbin/my_init"]
9 |
10 | # add local files
11 | ADD start.sh /root/start.sh
12 | ADD firstrun.sh /etc/my_init.d/firstrun.sh
13 |
14 | # Fix a Debianism of the nobody's uid being 65534
15 | RUN usermod -u 99 nobody && \
16 | usermod -g 100 nobody && \
17 |
18 | # update apt and get dependencies etc.
19 | add-apt-repository ppa:webupd8team/java && \
20 | apt-get update && \
21 | echo debconf shared/accepted-oracle-license-v1-1 select true | debconf-set-selections && \
22 | apt-get install oracle-java8-installer oracle-java8-set-default mediainfo dcraw vlc-nox mplayer mencoder openssh-server openssh-client -y && \
23 |
24 | # fetch ums
25 | cd /root && \
26 | wget http://sourceforge.net/projects/unimediaserver/files/Official%20Releases/Linux/UMS-5.1.4-Java8.tgz && \
27 | tar -xvzf UMS-5.1.4-Java8.tgz && \
28 | rm UMS-5.1.4-Java8.tgz && \
29 | mkdir /etc/service/ums && \
30 | mv /root/start.sh /etc/service/ums/run && \
31 | chmod +x /etc/service/ums/run && \
32 | chmod +x /etc/my_init.d/firstrun.sh
33 | EXPOSE 5001/tcp 2869/tcp 1900/udp 9001/tcp
34 |
--------------------------------------------------------------------------------
/uniserv/firstrun.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | if [ -f "/opt/ums/UMS.sh" ]; then
3 | echo "using existing files"
4 | else
5 | echo "copying program files to opt/ums"
6 | mkdir -p /opt/ums
7 | cp -pr /root/ums-5.1.4/* /opt/ums
8 | fi
9 |
--------------------------------------------------------------------------------
/uniserv/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | exec /opt/ums/UMS.sh
3 |
--------------------------------------------------------------------------------
/unmark/Dockerfile:
--------------------------------------------------------------------------------
1 | # set base os
2 | FROM phusion/baseimage:0.9.16
3 |
4 | # Set environment variables for my_init, terminal and apache
5 | ENV DEBIAN_FRONTEND=noninteractive HOME="/root" TERM=xterm APACHE_RUN_USER=www-data APACHE_RUN_GROUP=www-data APACHE_LOG_DIR="/var/log/apache2" APACHE_LOCK_DIR="/var/lock/apache2" APACHE_PID_FILE="/var/run/apache2.pid"
6 | CMD ["/sbin/my_init"]
7 |
8 | # add local files
9 | ADD src/ /root/
10 |
11 | # expose port(s)
12 | EXPOSE 80
13 |
14 | # startup files
15 | RUN mkdir -p /etc/service/apache && \
16 | mv /root/apache.sh /etc/service/apache/run && \
17 | mv /root/firstrun.sh /etc/my_init.d/firstrun.sh && \
18 | chmod +x /etc/service/apache/run && \
19 | chmod +x /etc/my_init.d/firstrun.sh && \
20 |
21 | # update apt and install dependencies
22 | apt-get update && \
23 | apt-get install git-core apache2 php5 php5-common php5-curl php5-mysql -y && \
24 |
25 | # Enable apache mods.
26 | a2enmod php5 && \
27 | a2enmod rewrite && \
28 |
29 | # Update the PHP.ini file, enable ?> tags and quieten logging.
30 | sed -i "s/short_open_tag = Off/short_open_tag = On/" /etc/php5/apache2/php.ini && \
31 | sed -i "s/error_reporting = .*$/error_reporting = E_ERROR | E_WARNING | E_PARSE/" /etc/php5/apache2/php.ini && \
32 | mv /root/apache-config.conf /etc/apache2/sites-enabled/000-default.conf
33 |
34 |
--------------------------------------------------------------------------------
/unmark/src/apache-config.conf:
--------------------------------------------------------------------------------
1 |
2 | ServerAdmin me@mydomain.com
3 | DocumentRoot /var/www/unmark
4 |
5 | RewriteEngine On
6 | Options Indexes FollowSymLinks MultiViews
7 | AllowOverride All
8 | Order deny,allow
9 | Allow from all
10 |
11 | ErrorLog ${APACHE_LOG_DIR}/error.log
12 | CustomLog ${APACHE_LOG_DIR}/access.log combined
13 |
14 |
15 |
--------------------------------------------------------------------------------
/unmark/src/apache.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | exec /usr/sbin/apache2ctl -D FOREGROUND
3 |
--------------------------------------------------------------------------------
/unmark/src/cronjob:
--------------------------------------------------------------------------------
1 | # Edit this file to introduce tasks to be run by cron.
2 | #
3 | # Each task to run has to be defined through a single line
4 | # indicating with different fields when the task will be run
5 | # and what command to run for the task
6 | #
7 | # To define the time you can provide concrete values for
8 | # minute (m), hour (h), day of month (dom), month (mon),
9 | # and day of week (dow) or use '*' in these fields (for 'any').#
10 | # Notice that tasks will be started based on the cron's system
11 | # daemon's notion of time and timezones.
12 | #
13 | # Output of the crontab jobs (including errors) is sent through
14 | # email to the user the crontab file belongs to (unless redirected).
15 | #
16 | # For example, you can run a backup of all your user accounts
17 | # at 5 a.m every week with:
18 | # 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
19 | #
20 | # For more information see the manual pages of crontab(5) and cron(8)
21 | #
22 | # m h dom mon dow command
23 | 0,15 * * * * php /var/www/freshrss/app/actualize_script.php > /tmp/FreshRSS.log 2>&1
24 |
--------------------------------------------------------------------------------
/unmark/src/firstrun.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | if [ -f "/var/www/unmark/index.php" ]; then
3 | echo "using existing website"
4 | chown -R www-data:www-data /var/log/apache2
5 | else
6 | echo "fetching unmark files"
7 | cd /var/www/
8 | git clone https://github.com/plainmade/unmark
9 | cd unmark
10 | cp application/config/database-sample.php application/config/database.php
11 | chown -R www-data:www-data /var/www/unmark
12 | fi
13 |
14 |
--------------------------------------------------------------------------------
/usenet-pack/src/couchpotato.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | exec /sbin/setuser nobody python /opt/couchpotato/CouchPotato.py --config_file=/config/couchpotato/settings.conf --data_dir=/config/couchpotato/data > /dev/null 2>&1
4 |
5 |
--------------------------------------------------------------------------------
/usenet-pack/src/firstrun.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | if [ -d "/config/couchpotato" ]; then
4 | echo "folders appear set"
5 | else
6 | mkdir -p /config/couchpotato /config/sabnzbd /config/sickbeard /downloads/incomplete /downloads/movies /downloads/tv-shows
7 | chown -R nobody:users /config /downloads
8 | SAB_API_KEY=$(< /dev/urandom tr -dc a-z0-9 | head -c${1:-32})
9 | fi
10 |
11 | if [ -f "/config/sabnzbd/sabnzbd.ini" ]; then
12 | echo "sabnzbd config file appears to be set"
13 | else
14 | cp /root/config-files/sabnzbd.ini /config/sabnzbd/sabnzbd.ini
15 | sed -i "/create_group_folders = 0/{n;s/.*/api_key =${SAB_API_KEY}/}" /config/sabnzbd/sabnzbd.ini
16 | fi
17 |
18 | if [ -f "/config/sickbeard/config.ini" ]; then
19 | echo "sickbeard config file appears set"
20 | else
21 | cp /root/config-files/config.ini /config/sickbeard/config.ini
22 | sed -i -e "s@sab_apikey.*@sab_apikey = \"${SAB_API_KEY}\"@g" /config/sickbeard/config.ini
23 | fi
24 |
25 | if [ -f "/config/couchpotato/settings.conf" ]; then
26 | echo "couchpotato config file appears set"
27 | else
28 | cp /root/config-files/settings.conf /config/couchpotato/settings.conf
29 | fi
30 |
31 | chown -R nobody:users /config
32 |
33 |
34 |
--------------------------------------------------------------------------------
/usenet-pack/src/sabnzbd.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | exec /sbin/setuser nobody /usr/bin/sabnzbdplus --config-file /config/sabnzbd --server 0.0.0.0:8080 >/dev/null 2>&1
4 |
5 |
--------------------------------------------------------------------------------
/usenet-pack/src/sickbeard.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | exec /sbin/setuser nobody python /opt/sickbeard/SickBeard.py --datadir=/config/sickbeard >/dev/null 2>&1
4 |
5 |
--------------------------------------------------------------------------------
/websync/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM linuxserver/baseimage
2 |
3 | MAINTAINER Sparklyballs
4 |
5 | ENV APTLIST="build-essential git nodejs python sshpass wget"
6 |
7 | # install packages
8 | RUN curl -sL https://deb.nodesource.com/setup_0.12 | bash - && \
9 | apt-get install $APTLIST -qy && \
10 | npm install -g bower && \
11 | npm install -g gulp && \
12 | git clone https://github.com/furier/websync.git /app/websync && \
13 |
14 | # give user abc a home folder
15 | usermod -d /app abc && \
16 |
17 | # complete install of websync (use setuser, cannot be run as root)
18 | chown -R abc:abc /app && \
19 | cd /app/websync && \
20 | /sbin/setuser abc npm install && \
21 | /sbin/setuser abc bower install && \
22 | /sbin/setuser abc gulp dist || true && \
23 | rm -rf /app/websync/dist && \
24 | /sbin/setuser abc gulp dist && \
25 |
26 | # clean up
27 | rm -rf rm -rf /app/.*[a-z] && \
28 | apt-get clean && rm -rf /tmp/* /var/lib/apt/lists/* /var/tmp/*
29 |
30 | # adding custom files
31 | ADD services/ /etc/service/
32 | ADD init/ /etc/my_init.d/
33 | RUN chmod -v +x /etc/service/*/run && chmod -v +x /etc/my_init.d/*.sh && \
34 |
35 | # configure websync
36 | mv /app/websync/dist/wsdata.json /defaults/wsdata.json
37 |
38 | # volumes and ports
39 | VOLUME /config
40 | EXPOSE 3000
41 |
--------------------------------------------------------------------------------
/websync/init/30_ssh_keygen.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | mkdir -p /config/keys /app/.ssh
4 | chown abc:abc /app/.ssh
5 |
6 | if [ ! -f /config/keys/id_rsa -o ! -f /config/keys/id_rsa.pub ]; then
7 | /sbin/setuser abc ssh-keygen -t rsa -N "" -f /app/.ssh/id_rsa
8 | cp /app/.ssh/* /config/keys
9 | else
10 | cp /config/keys/id_rsa.pub /config/keys/id_rsa /app/.ssh/
11 | fi
12 |
13 |
--------------------------------------------------------------------------------
/websync/init/40_set_config.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | [[ ! -f /config/wsdata.json ]] && cp /defaults/wsdata.json /config/wsdata.json
4 |
5 | [[ ! -L /app/websync/dist/wsdata.json ]] && ln -s /config/wsdata.json /app/websync/dist/wsdata.json
6 |
7 | chown -R abc:abc /app /config
8 |
--------------------------------------------------------------------------------
/websync/services/websync/run:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | cd /app/websync/dist
3 | /sbin/setuser abc node server.js
4 |
--------------------------------------------------------------------------------
/yify-pop/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM phusion/baseimage:0.9.16
2 | MAINTAINER sparklyballs
3 |
4 | # Set correct environment variables
5 | ENV DEBIAN_FRONTEND=noninteractive HOME="/root" TERM=xterm LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_ALL=en_US.UTF-8
6 |
7 | # set ports
8 | EXPOSE 4000 8889 8890 8891 8892
9 |
10 | # Use baseimage-docker's init system
11 | CMD ["/sbin/my_init"]
12 |
13 | # Add required files that are local
14 | ADD src/ /root/
15 |
16 | # Set the locale
17 | RUN locale-gen en_US.UTF-8 && \
18 |
19 | # fix start up files
20 | mv /root/start.sh /etc/my_init.d/start.sh && \
21 | chmod +x /etc/my_init.d/start.sh && \
22 |
23 | # Fix a Debianism of the nobody's uid being 65534
24 | usermod -u 99 nobody && \
25 | usermod -g 100 nobody && \
26 |
27 | # update apt and install dependencies
28 | apt-get update && \
29 | apt-get install -y supervisor nodejs npm git-core && \
30 | cp /usr/bin/nodejs /usr/bin/node && \
31 |
32 | # clone yify repo and install packages
33 | cd /opt && \
34 | git clone https://github.com/yify-pop/yify-pop && \
35 | cd yify-pop && \
36 | npm -g install geddy && \
37 | npm -g install peerflix && \
38 | npm install && \
39 |
40 | # set supervisor file
41 | mv /root/supervisord.conf /etc/supervisor/conf.d/supervisord.conf && \
42 |
43 | # clean up
44 | apt-get clean && \
45 | rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* \
46 | /usr/share/man /usr/share/groff /usr/share/info \
47 | /usr/share/lintian /usr/share/linda /var/cache/man && \
48 | (( find /usr/share/doc -depth -type f ! -name copyright|xargs rm || true )) && \
49 | (( find /usr/share/doc -empty|xargs rmdir || true ))
50 |
--------------------------------------------------------------------------------
/yify-pop/src/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | exec /usr/bin/supervisord
4 |
--------------------------------------------------------------------------------
/yify-pop/src/supervisord.conf:
--------------------------------------------------------------------------------
1 | [supervisord]
2 | nodaemon=true
3 | [program:yify-pop]
4 | command=/usr/local/bin/geddy --geddy-root /opt/yify-pop
5 |
--------------------------------------------------------------------------------
/znc/src/excludes:
--------------------------------------------------------------------------------
1 | path-exclude /usr/share/doc/*
2 | # we need to keep copyright files for legal reasons
3 | path-include /usr/share/doc/*/copyright
4 | path-exclude /usr/share/man/*
5 | path-exclude /usr/share/groff/*
6 | path-exclude /usr/share/info/*
7 | # lintian stuff is small, but really unnecessary
8 | path-exclude /usr/share/lintian/*
9 | path-exclude /usr/share/linda/*
10 | # Drop locales except English
11 | path-exclude=/usr/share/locale/*
12 | path-include=/usr/share/locale/en/*
13 | path-include=/usr/share/locale/locale.alias
14 |
--------------------------------------------------------------------------------
/znc/src/firstrun.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | mkdir -p /config/configs
3 | if [ ! -f "/config/znc.pem" ]; then
4 | /usr/local/bin/znc -d /config -p
5 | fi
6 | while [ ! -f "/config/znc.pem" ]; do
7 | echo "waiting for pem file to be generated"
8 | sleep 1s
9 | done
10 | if [ ! -f "/config/configs/znc.conf" ]; then
11 | cp /root/znc.conf /config/configs/znc.conf
12 | fi
13 | chown -R nobody:users /config
14 | exec /usr/bin/supervisord -c /root/supervisord.conf > /dev/null 2>&1
15 |
16 |
--------------------------------------------------------------------------------
/znc/src/supervisord.conf:
--------------------------------------------------------------------------------
1 | [supervisord]
2 | nodaemon=true
3 | [program:znc]
4 | user=nobody
5 | command=/usr/local/bin/znc -d /config
6 |
--------------------------------------------------------------------------------
/znc/src/znc.conf:
--------------------------------------------------------------------------------
1 | // WARNING
2 | //
3 | // Do NOT edit this file while ZNC is running!
4 | // Use webadmin or *controlpanel instead.
5 | //
6 | // Altering this file by hand will forfeit all support.
7 | //
8 | // But if you feel risky, you might want to read help on /znc saveconfig and /znc rehash.
9 | // Also check http://en.znc.in/wiki/Configuration
10 |
11 | Version = 1.7.x
12 |
13 | Port = 6501
14 | IPv4 = true
15 | IPv6 = false
16 | SSL = true
17 |
18 | LoadModule = webadmin
19 |
20 |
21 | Pass = sha256#b83fb77b88fede3a01f5a92b2124f3008227828b4b0b6daf389404f68461aa90#X?0DsLk6eUajI4o1.39T#
22 | Admin = true
23 | Nick = admin
24 | AltNick = admin_
25 | Ident = admin
26 | RealName = Got ZNC?
27 | LoadModule = chansaver
28 | LoadModule = controlpanel
29 |
30 |
--------------------------------------------------------------------------------