Made my first docker template! Would love some feedback


Recommended Posts

So I'm about to buy a couple of IP camera's and I wanted some nice software to use it with, I used zoneminder but the UI was a killer for me, I saw a post on /r/selfhosted that people liked Shinobi so I decided to make a docker template for it!

 

<?xml version="1.0"?>
<Container version="2">
  <Name>shinobi</Name>
  <Repository>shinobicctv/shinobi</Repository>
  <Registry>https://hub.docker.com/r/shinobicctv/shinobi/~/dockerfile/</Registry>
  <Network>bridge</Network>
  <Privileged>false</Privileged>
  <Support>https://hub.docker.com/r/shinobicctv/shinobi/</Support>
  <Overview>Streams by WebSocket, and Save to WebM. Shinobi can record IP Cameras and Local Cameras. &amp;lt;br /&amp;gt; &amp;lt;br /&amp;gt;&#xD;
&#xD;
If you used the default databse the login credentials for the WebUI are: &amp;lt;br /&amp;gt;&#xD;
Username : [email protected] &amp;lt;br /&amp;gt;&#xD;
Password : password &amp;lt;br /&amp;gt; &amp;lt;br /&amp;gt;&#xD;
&#xD;
To change these credentials after logged in. &amp;lt;br /&amp;gt;&#xD;
&#xD;
1. Login &amp;lt;br /&amp;gt;&#xD;
2. Click user email located at the top right of the dashboard. &amp;lt;br /&amp;gt;&#xD;
3. Open Settings. &amp;lt;br /&amp;gt;&#xD;
4. Change details to your liking. &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&#xD;
[b]Converted By Community Applications[/b] </Overview>
  <Category/>
  <WebUI>http://[IP]:[PORT:8083]</WebUI>
  <TemplateURL/>
  <Icon>https://pbs.twimg.com/profile_images/850880216666849280/c2iECrEE.jpg</Icon>
  <ExtraParams/>
  <DateInstalled>1495465372</DateInstalled>
  <Description>Streams by WebSocket, and Save to WebM. Shinobi can record IP Cameras and Local Cameras. &amp;lt;br /&amp;gt; &amp;lt;br /&amp;gt;&#xD;
&#xD;
If you used the default databse the login credentials for the WebUI are: &amp;lt;br /&amp;gt;&#xD;
Username : [email protected] &amp;lt;br /&amp;gt;&#xD;
Password : password &amp;lt;br /&amp;gt; &amp;lt;br /&amp;gt;&#xD;
&#xD;
To change these credentials after logged in. &amp;lt;br /&amp;gt;&#xD;
&#xD;
1. Login &amp;lt;br /&amp;gt;&#xD;
2. Click user email located at the top right of the dashboard. &amp;lt;br /&amp;gt;&#xD;
3. Open Settings. &amp;lt;br /&amp;gt;&#xD;
4. Change details to your liking. &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&#xD;
[b]Converted By Community Applications[/b] </Description>
  <Networking>
    <Mode>bridge</Mode>
    <Publish>
      <Port>
        <HostPort>8083</HostPort>
        <ContainerPort>8083</ContainerPort>
        <Protocol>tcp</Protocol>
      </Port>
      <Port>
        <HostPort>3314</HostPort>
        <ContainerPort>3314</ContainerPort>
        <Protocol>tcp</Protocol>
      </Port>
    </Publish>
  </Networking>
  <Data>
    <Volume>
      <HostDir>/mnt/user/videos/</HostDir>
      <ContainerDir>/opt/shinobi/videos</ContainerDir>
      <Mode>rw</Mode>
    </Volume>
    <Volume>
      <HostDir>/mnt/user/appdata/shinobi</HostDir>
      <ContainerDir>/var/log/mysql/</ContainerDir>
      <Mode>rw</Mode>
    </Volume>
  </Data>
  <Environment/>
  <Config Name="Host Path 1" Target="/opt/shinobi/videos" Default="/opt/shinobi/videos" Mode="rw" Description="Container Path: /opt/shinobi/videos" Type="Path" Display="always" Required="true" Mask="false">/mnt/user/videos/</Config>
  <Config Name="WebUI port" Target="8083" Default="" Mode="tcp" Description="Container Port: 8083" Type="Port" Display="always" Required="true" Mask="false">8083</Config>
  <Config Name="Port" Target="3314" Default="" Mode="tcp" Description="Container Port: 3314" Type="Port" Display="always" Required="true" Mask="false">3314</Config>
  <Config Name="MySQL logs" Target="/var/log/mysql/" Default="/mnt/user/appdata/shinobi" Mode="rw" Description="Container Path: /var/log/mysql/" Type="Path" Display="always" Required="false" Mask="false">/mnt/user/appdata/shinobi</Config>
</Container>

To be fair, I haven't even tested it with camera's because I haven't set mine up yet but I would love some feedback if anyone can see something I can clean up. Shout out to the developers for making this software and /r/selfhosted for the idea :^)

Link to comment
How do we install this? Would like to try!

You could copy this XML and use it yourself, I think I cant publish it to the community apps thing because I need to submit it. if you need an explanation I could help you out in a hour or so

Sent from my SM-G935F using Tapatalk

Link to comment

Alright if you use a client like WinSCP you can navigate to

 

/boot/config/plugins/dockerMan/templates-user

 

and then

 

  1. create new document (notepad, notepad++ etc.)
  2. paste the XML in there (all that text in my main post)
  3. save it as .xml, so something like "my-shinobi.xml"

Now it should be a docker template so you can add it on the docker template with "add container" and customize it to your liking

 

If you have any problems I would love to hear it, I'll ask a mod to add it to the apps store soon but I want to make sure this template is "good"

Link to comment
9 hours ago, beire said:

The container works fine. (The email for changing settings in in upper left corner, not right emoji14.png ).
Shinobi doesn't really like 5mp camera's though I think. Does not really run smooth.

Sent from my Pixel XL using Tapatalk
 

If you're stream is lagging you can tune the quality down (1 highest, 25 lowest) and if you're recording, did you change the fps from 5 to higher? because it's 5 on default?

 

And great to hear the docker is working! Did you use this XML or did you download it from CA? I requested it to be posted on CA but it stopped working so they pulled it, so I would love to hear if you're using this XML or the CA template.

Link to comment

I was using the XML. I did not think it would already be available in CA.

 

I changed FPS to 30 (camera fps). Even on lower quality the stream is choppy.

I am used to streaming multiple camera's in live view at full fps, full quality.

 

Finding a good free software is not easy. :)

Link to comment
22 hours ago, Zero said:

Did you use this XML or did you download it from CA? I requested it to be posted on CA but it stopped working so they pulled it, so I would love to hear if you're using this XML or the CA template.

While it was available within CA, it didn't matter whether or not it was installed via CA or by the template posted above (assuming they were equivalent except for the addition of the Categories)  The template within CA is passed straight through to dockerMan.  If/when the issues with the docker are resolved (I tried it myself before pulling it, and the same symptoms - nothing in the log at all, no UI, etc) then the app can be reinstated

Link to comment
10 hours ago, Squid said:

While it was available within CA, it didn't matter whether or not it was installed via CA or by the template posted above (assuming they were equivalent except for the addition of the Categories)  The template within CA is passed straight through to dockerMan.  If/when the issues with the docker are resolved (I tried it myself before pulling it, and the same symptoms - nothing in the log at all, no UI, etc) then the app can be reinstated

I'm not saying CA is the problem but I'm just trying to determine where I exactly fucked up. If I want to be sure I don't have any previous files of the docker are left, what directories should I make sure I've deleted? (e.g. dockerman, appdata etc.)

Link to comment
  • 4 weeks later...

I got it working changing the following - ports changed in bright green

 

>shinobicctv/shinobi</Repository>
  <Registry>https://hub.docker.com/r/shinobicctv/shinobi/~/dockerfile/</Registry>
  <Network>bridge</Network>
  <Privileged>false</Privileged>
  <Support>https://hub.docker.com/r/shinobicctv/shinobi/</Support>
  <Overview>Streams by WebSocket, and Save to WebM. Shinobi can record IP Cameras and Local Cameras. &amp;lt;br /&amp;gt; &amp;lt;br /&amp;gt;&#xD;
&#xD;
If you used the default databse the login credentials for the WebUI are: &amp;lt;br /&amp;gt;&#xD;
Username : [email protected] &amp;lt;br /&amp;gt;&#xD;
Password : password &amp;lt;br /&amp;gt; &amp;lt;br /&amp;gt;&#xD;
&#xD;
To change these credentials after logged in. &amp;lt;br /&amp;gt;&#xD;
&#xD;
1. Login &amp;lt;br /&amp;gt;&#xD;
2. Click user email located at the top right of the dashboard. &amp;lt;br /&amp;gt;&#xD;
3. Open Settings. &amp;lt;br /&amp;gt;&#xD;
4. Change details to your liking. &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&#xD;
[b]Converted By Community Applications[/b] </Overview>
  <Category/>
  <WebUI>http://[IP]:[PORT:8083]</WebUI>
  <TemplateURL/>
  <Icon>https://pbs.twimg.com/profile_images/850880216666849280/c2iECrEE.jpg</Icon>
  <ExtraParams/>
  <DateInstalled>1495465372</DateInstalled>
  <Description>Streams by WebSocket, and Save to WebM. Shinobi can record IP Cameras and Local Cameras. &amp;lt;br /&amp;gt; &amp;lt;br /&amp;gt;&#xD;
&#xD;
If you used the default databse the login credentials for the WebUI are: &amp;lt;br /&amp;gt;&#xD;
Username : [email protected] &amp;lt;br /&amp;gt;&#xD;
Password : password &amp;lt;br /&amp;gt; &amp;lt;br /&amp;gt;&#xD;
&#xD;
To change these credentials after logged in. &amp;lt;br /&amp;gt;&#xD;
&#xD;
1. Login &amp;lt;br /&amp;gt;&#xD;
2. Click user email located at the top right of the dashboard. &amp;lt;br /&amp;gt;&#xD;
3. Open Settings. &amp;lt;br /&amp;gt;&#xD;
4. Change details to your liking. &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&#xD;
[b]Converted By Community Applications[/b] </Description>
  <Networking>
    <Mode>bridge</Mode>
    <Publish>
      <Port>
        <HostPort>8080</HostPort>
        <ContainerPort>8080</ContainerPort>
        <Protocol>tcp</Protocol>
      </Port>
      <Port>
        <HostPort>3314</HostPort>
        <ContainerPort>3314</ContainerPort>
        <Protocol>tcp</Protocol>
      </Port>
    </Publish>
  </Networking>
  <Data>
    <Volume>
      <HostDir>/mnt/user/videos/</HostDir>
      <ContainerDir>/opt/shinobi/videos</ContainerDir>
      <Mode>rw</Mode>
    </Volume>
    <Volume>
      <HostDir>/mnt/user/appdata/shinobi</HostDir>
      <ContainerDir>/var/log/mysql/</ContainerDir>
      <Mode>rw</Mode>
    </Volume>
  </Data>
  <Environment/>
  <Config Name="Host Path 1" Target="/opt/shinobi/videos" Default="/opt/shinobi/videos" Mode="rw" Description="Container Path: /opt/shinobi/videos" Type="Path" Display="always" Required="true" Mask="false">/mnt/user/videos/</Config>
  <Config Name="WebUI port" Target="8080" Default="" Mode="tcp" Description="Container Port: 8080" Type="Port" Display="always" Required="true" Mask="false">8080</Config>
  <Config Name="Port" Target="3314" Default="" Mode="tcp" Description="Container Port: 3314" Type="Port" Display="always" Required="true" Mask="false">3314</Config>
  <Config Name="MySQL logs" Target="/var/log/mysql/" Default="/mnt/user/appdata/shinobi" Mode="rw" Description="Container Path: /var/log/mysql/" Type="Path" Display="always" Required="false" Mask="false">/mnt/user/appdata/shinobi</Config>
</Container>
Edited by bennymundz
Link to comment
  • 1 month later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.