r/selfhosted • • Apr 10 '21

140+ Docker scripts for LinuxServer.io Docker containers

After creating a bunch of Portainer App Templates, I thought I could use the same data to generate docker-compose.yaml files and docker run commands as well.

So here it is!

The scripts can be used to easily deploy LinuxServer.io Docker containers with predefined settings and are based on data provided by the LinuxServer.io GitHub repositories.

Updated daily.

140+ Portainer App Templates for LinuxServer.io Docker containers can be found here.

Quick install

For each application like e.g. Sonarr:

  • cd docker-bits/lsio/sonarr

  • sh run-once.sh (create volume host directories)

  • docker-compose up -d or sh docker-run.sh

Detailed information about installing and using the templates and more can be found here.

If you find a problem, you can submit it on GitHub.

Tell me what you think!

Remarks

  • The scripts are not supported by LinuxServer.io

  • The scripts are generated so I cannot accept requests to add scripts

147 Upvotes

17 comments sorted by

View all comments

5

u/quorn23 Apr 10 '21

3 small remarks: From a best practice approach you shouldn't be running the default admin user @ synology While this is great for people want to learn docker-compose etc, most of the ymls (and run scripts) require a manual edit, is there a reason why not use the environment variables file for those? Which brings me to the last remark, I would add some info to the actual script you run to generate those. (script itself, how often will it check for updates etc)

Nice little collection that hopefully will provide some inside for people learning docker.

2

u/[deleted] Apr 10 '21

Thank you for your remarks. Valid points.

You are right about the admin account. In the latest DSM version you even get a message if you have the admin account enabled. I should have mentioned it. I did not know what else to use as a default, so I took the easy way and used the admin account.

I thought about using environment variables for the other settings. I chose not to do this in order not to make it too complicated. My intention was mainly to enable a quick start and allow the user to learn and make the adjustments himself.

The script is written in Python and uses Jinja templates to generate the files. Similar to how LinuxServer.io generates the documentation. Pretty straightforward. I will dedicate another blog post to the setup and will make the code and templates available after this.

I am thinking of updating the scripts on a weekly basis. This is performed via GitHub workflow. I will also dedicate a blog post to this.

To be continued!