Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
tobbenb committed Jun 10, 2017
0 parents commit f23109c
Show file tree
Hide file tree
Showing 14 changed files with 309 additions and 0 deletions.
6 changes: 6 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
.git
.gitignore
.github
.gitattributes
READMETEMPLATE.md
README.md
17 changes: 17 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Auto detect text files and perform LF normalization
* text=auto

# Custom for Visual Studio
*.cs diff=csharp

# Standard to msysgit
*.doc diff=astextplain
*.DOC diff=astextplain
*.docx diff=astextplain
*.DOCX diff=astextplain
*.dot diff=astextplain
*.DOT diff=astextplain
*.pdf diff=astextplain
*.PDF diff=astextplain
*.rtf diff=astextplain
*.RTF diff=astextplain
21 changes: 21 additions & 0 deletions .github/ISSUE_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
<!--- Provide a general summary of the issue in the Title above -->

[linuxserverurl]: https://linuxserver.io
[![linuxserver.io](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/linuxserver_medium.png)][linuxserverurl]


<!--- If you have an issue with the project, please provide us with the following information -->

<!--- Host OS -->
<!--- Command line users, your run/create command, GUI/Unraid users, a screenshot of your template settings. -->
<!--- Docker log output, docker log <container-name> -->
<!--- Mention if you're using symlinks on any of the volume mounts. -->


<!--- If you have a suggestion or fix for the project, please provide us with the following information -->

<!--- What you think your suggestion brings to the project, or fixes with the project -->
<!--- If it's a fix, would it be better suited as a Pull request to the repo ? -->

## Thanks, team linuxserver.io

15 changes: 15 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
<!--- Provide a general summary of your changes in the Title above -->

[linuxserverurl]: https://linuxserver.io
[![linuxserver.io](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/linuxserver_medium.png)][linuxserverurl]


<!--- Before submitting a pull request please check the following -->

<!--- That you have made a branch in your fork, we'd rather not merge from your master -->
<!--- That if the PR is addressing an existing issue include, closes #<issue number> , in the body of the PR commit message -->
<!--- You have included links to any files / patches etc your PR may be using in the body of the PR commit message -->
<!--- -->

## Thanks, team linuxserver.io

43 changes: 43 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# Windows image file caches
Thumbs.db
ehthumbs.db

# Folder config file
Desktop.ini

# Recycle Bin used on file shares
$RECYCLE.BIN/

# Windows Installer files
*.cab
*.msi
*.msm
*.msp

# Windows shortcuts
*.lnk

# =========================
# Operating System Files
# =========================

# OSX
# =========================

.DS_Store
.AppleDouble
.LSOverride

# Thumbnails
._*

# Files that might appear on external disk
.Spotlight-V100
.Trashes

# Directories potentially created on remote AFP share
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk
45 changes: 45 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
FROM lsiobase/mono
MAINTAINER saarg

# set version label
ARG BUILD_DATE
ARG VERSION
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"

# Set correct environment variables.
ENV HOME /config
ARG DEBIAN_FRONTEND="noninteractive"

# install runtime dependencies
RUN \
apt-get update && \
apt-get install -y \
cron && \

# download and extract WG++ to correct paths
mkdir wg++ && \
curl -o /tmp/wg++.tar.gz -L \
http://webgrabplus.com/sites/default/files/download/SW/V2.0.0/WebGrabPlus_V2.0_install.tar.gz && \
tar xzf /tmp/wg++.tar.gz --strip-components=1 -C /wg++/ && \

# download update
curl -o /tmp/update.tar.gz -L \
http://webgrabplus.com/sites/default/files/download/SW/V2.0.7/WebGrabPlus_V2.0.7_beta_install.tar.gz && \
tar xf /tmp/update.tar.gz --strip-components=2 -C /wg++/bin/ && \

# download Siteini.pack
curl -o /tmp/ini.zip -L \
http://webgrabplus.com/sites/default/files/download/ini/SiteIniPack_current.zip && \
unzip /tmp/ini.zip -d /defaults/ini/ && \

# cleanup
rm -rf \
/tmp/* \
/var/lib/apt/lists/* \
/var/tmp/*

# copy files
COPY root/ /

VOLUME /config \
/data
15 changes: 15 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
[linuxserverurl]: https://linuxserver.io
[forumurl]: https://forum.linuxserver.io
[ircurl]: https://www.linuxserver.io/irc/
[podcasturl]: https://www.linuxserver.io/podcast/

[![linuxserver.io](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/linuxserver_medium.png)][linuxserverurl]

## This is a Container in active development by the [LinuxServer.io][linuxserverurl] team and is not recommended for use by the general public.

If you want to comment\contribute on this container , are looking for support on any of our other work , or are curious about us in general, check out the following.

* [forum.linuxserver.io][forumurl]
* [IRC][ircurl] on freenode at `#linuxserver.io`
* [Podcast][podcasturl] covers everything to do with getting the most from your Linux Server plus a focus on all things Docker and containerisation!

81 changes: 81 additions & 0 deletions READMETEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
[linuxserverurl]: https://linuxserver.io
[forumurl]: https://forum.linuxserver.io
[ircurl]: https://www.linuxserver.io/irc/
[podcasturl]: https://www.linuxserver.io/podcast/
[appurl]: www.example.com
[hub]: https://hub.docker.com/r/example/example/

[![linuxserver.io](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/linuxserver_medium.png)][linuxserverurl]

The [LinuxServer.io][linuxserverurl] team brings you another container release featuring easy user mapping and community support. Find us for support at:
* [forum.linuxserver.io][forumurl]
* [IRC][ircurl] on freenode at `#linuxserver.io`
* [Podcast][podcasturl] covers everything to do with getting the most from your Linux Server plus a focus on all things Docker and containerisation!

# <image-name>

Provide a short, concise description of the application. No more than two SHORT paragraphs. Link to sources where possible and include an image illustrating your point if necessary. Point users to the original applications website, as that's the best place to get support - not here.

Our Plex container has immaculate docs so follow that if in doubt for layout.

`IMPORTANT, replace all instances of <image-name> with the correct dockerhub repo (ie linuxserver/plex) and <container-name> information (ie, plex)`

## Usage

```
docker create \
--name=<container-name> \
-v <path to data>:/config \
-e PGID=<gid> -e PUID=<uid> \
-p 1234:1234 \
<image-name>
```

## Parameters

`The parameters are split into two halves, separated by a colon, the left hand side representing the host and the right the container side.
For example with a port -p external:internal - what this shows is the port mapping from internal to external of the container.
So -p 8080:80 would expose port 80 from inside the container to be accessible from the host's IP on port 8080
http://192.168.x.x:8080 would show you what's running INSIDE the container on port 80.`



* `-p 1234` - the port(s)
* `-v /config` - explain what lives here
* `-e PGID` for GroupID - see below for explanation
* `-e PUID` for UserID - see below for explanation

It is based on alpine linux with s6 overlay, for shell access whilst the container is running do `docker exec -it <container-name> /bin/bash`.

### User / Group Identifiers

Sometimes when using data volumes (`-v` flags) permissions issues can arise between the host OS and the container. We avoid this issue by allowing you to specify the user `PUID` and group `PGID`. Ensure the data volume directory on the host is owned by the same user you specify and it will "just work" ™.

In this instance `PUID=1001` and `PGID=1001`. To find yours use `id user` as below:

```
$ id <dockeruser>
uid=1001(dockeruser) gid=1001(dockergroup) groups=1001(dockergroup)
```

## Setting up the application

Insert a basic user guide here to get a n00b up and running with the software inside the container. DELETE ME


## Info

* Shell access whilst the container is running: `docker exec -it <container-name> /bin/bash`
* To monitor the logs of the container in realtime: `docker logs -f <container-name>`

* container version number

`docker inspect -f '{{ index .Config.Labels "build_version" }}' <container-name>`

* image version number

`docker inspect -f '{{ index .Config.Labels "build_version" }}' <image-name>`

## Versions

+ **dd.MM.yy:** Initial Release.
25 changes: 25 additions & 0 deletions root/defaults/WebGrab++.config.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
<?xml version="1.0"?>
<settings>

<!-- for detailed info about the settings see http://webgrabplus.com/documentation/configuration/webgrabconfigxml -->

<filename>/data/guide.xml</filename>
<mode></mode>
<postprocess grab="y" run="n">mdb</postprocess>
<user-agent>Mozilla/5.0 (Windows NT 6.1; WOW64; rv:29.0) Gecko/20100101 Firefox/29.0</user-agent>
<logging>on</logging>
<retry time-out="5">4</retry>
<timespan>8</timespan>
<update>i</update>

<!--
Replace the next dummy channel entry with the channels you want.
You can look into the installed siteini.pack folder on your computer
For the latest version,
see http://webgrabplus.com/epg-channels for the available sites/channels
-->

<channel site="dummy" site_id="xx" update="i" xmltv_id="Example">Example</channel>

</settings>
1 change: 1 addition & 0 deletions root/defaults/abc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
2 3 * * * /wg++/update.sh
23 changes: 23 additions & 0 deletions root/etc/cont-init.d/30-config
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
#!/usr/bin/with-contenv bash

# Check if Webgrab++ config file exists in config folder.
[[ ! -e /config/WebGrab++.config.xml ]] && \
cp /defaults/WebGrab++.config.xml /config/

# Check if Ini folder exists in config folder.
[[ ! -e /config/ini/siteini.pack ]] && \
cp -R /defaults/ini/siteini.pack /config/

# Copy default cron file if not in config
[[ ! -e /config/abc ]] && \
cp /defaults/abc /config/abc

# add cron file for running webgrab+plus
[[ -e /config/abc ]] && \
crontab -u abc /config/abc

# Change owner for config files and guide.xml
chown -R abc:abc /config \
/data
chmod 766 /config \
/data
9 changes: 9 additions & 0 deletions root/etc/cont-init.d/40-grab
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
#!/usr/bin/with-contenv bash

[[ -e /config/WebGrab++.config.xml ]] && \
cd /wg++/bin || exit
exec \
s6-setuidgid abc \
mono WebGrab+Plus.exe "/config"

exit 0
3 changes: 3 additions & 0 deletions root/etc/services.d/cron/run
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/usr/bin/with-contenv bash

/usr/sbin/cron -f -L 0
5 changes: 5 additions & 0 deletions root/wg++/update.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
#!/usr/bin/with-contenv bash
cd /wg++/bin
mono WebGrab+Plus.exe "/config"

exit 0

0 comments on commit f23109c

Please sign in to comment.