├── .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 | --------------------------------------------------------------------------------