Merge pull request #11 from SelfhostedPro/master
DSMR reader request to add
BIN
.DS_Store
vendored
17
.github/ISSUE_TEMPLATE/application-request.md
vendored
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
---
|
||||||
|
name: Application Request
|
||||||
|
about: Request new applications using this template.
|
||||||
|
title: "[APP REQUEST]: "
|
||||||
|
labels: App Request
|
||||||
|
assignees: ''
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Dockerhub Link: ###
|
||||||
|
*replace with dockerhub link*
|
||||||
|
|
||||||
|
### Description ###
|
||||||
|
*replace with description*
|
||||||
|
|
||||||
|
### Separate Database? ###
|
||||||
|
*does this require a separate database in order to function?*
|
27
.github/ISSUE_TEMPLATE/bug_report.md
vendored
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
---
|
||||||
|
name: Bug report
|
||||||
|
about: Create a report to help us improve
|
||||||
|
title: "[BUG]"
|
||||||
|
labels: bug
|
||||||
|
assignees: ''
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**Describe the bug**
|
||||||
|
A clear and concise description of what the bug is.
|
||||||
|
|
||||||
|
**To Reproduce**
|
||||||
|
Steps to reproduce the behavior:
|
||||||
|
1. Go to '...'
|
||||||
|
2. Click on '....'
|
||||||
|
3. Scroll down to '....'
|
||||||
|
4. See error
|
||||||
|
|
||||||
|
**Expected behavior**
|
||||||
|
A clear and concise description of what you expected to happen.
|
||||||
|
|
||||||
|
**Screenshots**
|
||||||
|
If applicable, add screenshots to help explain your problem.
|
||||||
|
|
||||||
|
**Portainer Logs**
|
||||||
|
Paste logs here
|
13
.github/workflows/tests.yml
vendored
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
name: tests
|
||||||
|
on: [push, pull_request]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
test:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- uses: actions/setup-node@v1
|
||||||
|
with:
|
||||||
|
node-version: '14.x'
|
||||||
|
- run: npm install
|
||||||
|
- run: npm test
|
2
.gitignore
vendored
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
/node_modules
|
||||||
|
/package-lock.json
|
BIN
Images/Mumble-logo.png
Normal file
After Width: | Height: | Size: 45 KiB |
BIN
Images/authelia.png
Normal file
After Width: | Height: | Size: 41 KiB |
BIN
Images/bitwarden.png
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
Images/bookstack2.png
Normal file
After Width: | Height: | Size: 46 KiB |
BIN
Images/chowdown.png
Normal file
After Width: | Height: | Size: 42 KiB |
BIN
Images/code-server.png
Normal file
After Width: | Height: | Size: 79 KiB |
BIN
Images/dashmachine_logo.png
Normal file
After Width: | Height: | Size: 6.7 KiB |
BIN
Images/deemix.png
Normal file
After Width: | Height: | Size: 8.1 KiB |
BIN
Images/emby.png
Normal file
After Width: | Height: | Size: 2.6 KiB |
BIN
Images/embystat.png
Normal file
After Width: | Height: | Size: 109 KiB |
BIN
Images/filebrowser.png
Normal file
After Width: | Height: | Size: 20 KiB |
BIN
Images/grocy_logo.png
Normal file
After Width: | Height: | Size: 8.8 KiB |
BIN
Images/guacamole.png
Normal file
After Width: | Height: | Size: 14 KiB |
BIN
Images/homer.png
Normal file
After Width: | Height: | Size: 16 KiB |
BIN
Images/huginn.png
Normal file
After Width: | Height: | Size: 57 KiB |
BIN
Images/invoice_ninja.png
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
Images/jellyfin.png
Normal file
After Width: | Height: | Size: 16 KiB |
BIN
Images/mstream.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
Images/pihole.png
Normal file
After Width: | Height: | Size: 27 KiB |
BIN
Images/protonmail-bridge.png
Normal file
After Width: | Height: | Size: 503 B |
BIN
Images/proxy_mgr.png
Normal file
After Width: | Height: | Size: 22 KiB |
BIN
Images/reactiveresume.png
Normal file
After Width: | Height: | Size: 52 KiB |
BIN
Images/shiori-icon.png
Normal file
After Width: | Height: | Size: 6.4 KiB |
BIN
Images/sickchill-banner.png
Normal file
After Width: | Height: | Size: 18 KiB |
BIN
Images/sickchill-icon.png
Normal file
After Width: | Height: | Size: 45 KiB |
BIN
Images/sickgear-banner.png
Normal file
After Width: | Height: | Size: 24 KiB |
BIN
Images/sickgear-icon.png
Normal file
After Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 118 KiB |
Before Width: | Height: | Size: 114 KiB |
BIN
Images/snibox.png
Normal file
After Width: | Height: | Size: 14 KiB |
BIN
Images/speedtest.png
Normal file
After Width: | Height: | Size: 127 KiB |
BIN
Images/tiddlywiki.png
Normal file
After Width: | Height: | Size: 5.3 KiB |
BIN
Images/watchtower.png
Normal file
After Width: | Height: | Size: 149 KiB |
BIN
Images/whoogle.png
Normal file
After Width: | Height: | Size: 26 KiB |
BIN
Images/wikijs.png
Normal file
After Width: | Height: | Size: 13 KiB |
BIN
Images/ytdlm.png
Normal file
After Width: | Height: | Size: 20 KiB |
127
README.md
|
@ -1,28 +1,139 @@
|
||||||
|
|
||||||
# Portainer Template for linuxserver.io
|
# Portainer Templates for Selfhosted Projects/Homelabs
|
||||||
|
|
||||||
This is a rewriten template that will be working with the latest portainer version
|
This is a template focused on helping people spin up selfhosted services using Portainer.
|
||||||
|
|
||||||
|
*for the OMV5 version use the OMV5 branch*
|
||||||
|
|
||||||
### Prerequisites
|
### Prerequisites
|
||||||
|
|
||||||
1. A Server or NAS running Docker
|
1. A server/NAS with docker installed
|
||||||
2. A Portainer setup.
|
2. A Portainer setup.
|
||||||
|
|
||||||
|
*Want something we don't have? Make an issue and we'll work on adding it*
|
||||||
|
|
||||||
### Installing
|
### Installing
|
||||||
|
|
||||||
Login to your portainer setup go to settings -> enable Use external templates -> add the url: https://raw.githubusercontent.com/Qballjos/portainer_templates/master/Template/template.json
|
1. Login to your portainer setup go to settings
|
||||||
|
2. Enable Use external templates
|
||||||
|
3. Add the url: `https://raw.githubusercontent.com/SelfhostedPro/selfhosted_templates/master/Template/template.json` then go to app templates and hit refresh at the top.
|
||||||
|
|
||||||
|
### Information
|
||||||
|
All templates are already configured to bind mount to various places on your drive. This branch works without the need for OMV. The following folders are all created in /portainer/
|
||||||
|
|
||||||
|
* **Files** - General file storage.
|
||||||
|
* **AppData** - Subfolder where application data (unrelated to served data) is stored.
|
||||||
|
* **Config** - Subfolder where configuration files for every container are stored.
|
||||||
|
* **Downloads** - Where bittorrent and usenet downloaders download files to.
|
||||||
|
* **TV** - Where tv shows are stored/moved to after downloaded.
|
||||||
|
* **Movies** - Where movies are stored/moved to after downloaded.
|
||||||
|
* **Music** - Where music is stored/moved to after downloaded.
|
||||||
|
* **Books** - Where books are stored/moved to after downloaded.
|
||||||
|
* **Comics** - Where comics are stored/moved to after downloaded.
|
||||||
|
* **Podcasts** - Where podcasts are stored/moved to after downloaded.
|
||||||
|
## App List
|
||||||
|
|
||||||
|
- Guacamole
|
||||||
|
- Homer
|
||||||
|
- Wikijs
|
||||||
|
- Bazarr
|
||||||
|
- Jellyfin
|
||||||
|
- Bitwarden_rs
|
||||||
|
- Pi-Hole
|
||||||
|
- Whoogle
|
||||||
|
- Mstream
|
||||||
|
- Filebrowser
|
||||||
|
- YouTubeDL-Material
|
||||||
|
- DashMachine
|
||||||
|
- Reactive-Resume
|
||||||
|
- LibreSpeed
|
||||||
|
- DeeMix
|
||||||
|
- Nginx Proxy Manager
|
||||||
|
- Organizrv2
|
||||||
|
- TiddlyWiki
|
||||||
|
- Watchtower
|
||||||
|
- transmission-openvpn
|
||||||
|
- airsonic
|
||||||
|
- beets
|
||||||
|
- booksonic
|
||||||
|
- bookstack
|
||||||
|
- calibre-web
|
||||||
|
- cardigann
|
||||||
|
- Chevereto
|
||||||
|
- codiad
|
||||||
|
- cops
|
||||||
|
- couchpotato
|
||||||
|
- daapd
|
||||||
|
- davos
|
||||||
|
- deluge
|
||||||
|
- domoticz
|
||||||
|
- duckdns
|
||||||
|
- duplicati
|
||||||
|
- freshrss
|
||||||
|
- gazee
|
||||||
|
- headphones
|
||||||
|
- heimdall
|
||||||
|
- htpcmanager
|
||||||
|
- jackett
|
||||||
|
- kodi-headless
|
||||||
|
- lazylibrarian
|
||||||
|
- letsencrypt
|
||||||
|
- libresonic
|
||||||
|
- lidarr
|
||||||
|
- lychee
|
||||||
|
- mariadb
|
||||||
|
- mcmyadmin
|
||||||
|
- medusa
|
||||||
|
- minetest
|
||||||
|
- minisatip
|
||||||
|
- musicbrainz
|
||||||
|
- muximux
|
||||||
|
- mylar
|
||||||
|
- nextcloud
|
||||||
|
- nginx
|
||||||
|
- nzbget
|
||||||
|
- nzbhydra
|
||||||
|
- ombi
|
||||||
|
- openvpn-as
|
||||||
|
- oscam
|
||||||
|
- photoshow
|
||||||
|
- piwigo
|
||||||
|
- plex
|
||||||
|
- plexrequests
|
||||||
|
- projectsend
|
||||||
|
- pydio
|
||||||
|
- qbittorrent
|
||||||
|
- quassel-core
|
||||||
|
- radarr
|
||||||
|
- resilio-sync
|
||||||
|
- rutorrent
|
||||||
|
- sabnzbd
|
||||||
|
- sickchill
|
||||||
|
- smokeping
|
||||||
|
- sonarr
|
||||||
|
- syncthing
|
||||||
|
- tautulli
|
||||||
|
- thelounge
|
||||||
|
- transmission
|
||||||
|
- tt-rss
|
||||||
|
- tvheadend
|
||||||
|
- ubooquity
|
||||||
|
- unifi
|
||||||
|
- webgrabplus
|
||||||
|
- znc
|
||||||
|
|
||||||
## Contributing
|
## Contributing
|
||||||
|
|
||||||
If you wish to contribute contact me by email.
|
If you wish to contribute make a pull request, create an issue, or email me.
|
||||||
|
|
||||||
## Authors
|
## Authors
|
||||||
|
* **NASHosted** - *Current Work*
|
||||||
|
* **SelfhostedPro** - *Current Work*
|
||||||
* **Jos Visser** - *Initial work* - [Qballjos](https://github.com/Qballjos)
|
* **Jos Visser** - *Initial work* - [Qballjos](https://github.com/Qballjos)
|
||||||
|
|
||||||
See also the list of [contributors](https://github.com/Qballjos/portainer_templates/contributors) who participated in this project.
|
See also the list of [contributors](https://github.com/SelfhostedPro/selfhosted_templates/contributors) who participated in this project.
|
||||||
|
|
||||||
## Acknowledgments
|
## Acknowledgments
|
||||||
|
|
||||||
* LinuxServer.io for the old Template
|
* LinuxServer.io for the old Template
|
||||||
* Inspiration being to lazy to create each container template manualy
|
* Inspiration being too lazy to create each container template manualy
|
||||||
|
|
34
Template/Stack/bookstack.yml
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
---
|
||||||
|
version: "2"
|
||||||
|
services:
|
||||||
|
bookstack:
|
||||||
|
image: linuxserver/bookstack
|
||||||
|
container_name: bookstack
|
||||||
|
environment:
|
||||||
|
- PUID=${PUID}
|
||||||
|
- PGID=${PGID}
|
||||||
|
- DB_HOST=bookstack_db
|
||||||
|
- DB_USER=bookstack
|
||||||
|
- DB_PASS=${DATABASE_PASSWORD}
|
||||||
|
- DB_DATABASE=bookstackapp
|
||||||
|
volumes:
|
||||||
|
- /portainer/Files/AppData/Bookstack/Data:/config
|
||||||
|
ports:
|
||||||
|
- ${PORT}:80
|
||||||
|
restart: unless-stopped
|
||||||
|
depends_on:
|
||||||
|
- bookstack_db
|
||||||
|
bookstack_db:
|
||||||
|
image: linuxserver/mariadb
|
||||||
|
container_name: bookstack_db
|
||||||
|
environment:
|
||||||
|
- PUID=${PUID}
|
||||||
|
- PGID=${PGID}
|
||||||
|
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
|
||||||
|
- TZ=${Timezone}
|
||||||
|
- MYSQL_DATABASE=bookstackapp
|
||||||
|
- MYSQL_USER=bookstack
|
||||||
|
- MYSQL_PASSWORD=${DATABASE_PASSWORD}
|
||||||
|
volumes:
|
||||||
|
- /portainer/Files/AppData/Bookstack/DB:/config
|
||||||
|
restart: unless-stopped
|
35
Template/Stack/invoice-ninja.yml
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
---
|
||||||
|
version: "2"
|
||||||
|
services:
|
||||||
|
invoice-ninja:
|
||||||
|
image: invoiceninja/invoiceninja:alpine-4
|
||||||
|
container_name: invoice-ninja
|
||||||
|
environment:
|
||||||
|
- APP_URL=${URL}
|
||||||
|
- APP_KEY=${APP_KEY}
|
||||||
|
- MULTI_DB_ENABLED=false
|
||||||
|
- DB_TYPE=mysql
|
||||||
|
- DB_HOST1=ninja_db
|
||||||
|
- DB_DATABASE=ninja_db
|
||||||
|
- DB_USERNAME=invoice_ninja
|
||||||
|
- DB_PASSWORD=${DATABASE_PASSWORD}
|
||||||
|
volumes:
|
||||||
|
- /portainer/Files/AppData/Config/Invoice-Ninja/public:/var/app/public
|
||||||
|
- /portainer/Files/AppData/Config/Invoice-Ninja/storage:/var/app/storage
|
||||||
|
ports:
|
||||||
|
- ${PORT}:9000
|
||||||
|
restart: unless-stopped
|
||||||
|
depends_on:
|
||||||
|
- ninja_db
|
||||||
|
ninja_db:
|
||||||
|
image: linuxserver/mariadb
|
||||||
|
container_name: ninja_db
|
||||||
|
environment:
|
||||||
|
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
|
||||||
|
- TZ=${TZ}
|
||||||
|
- MYSQL_DATABASE=ninja_db
|
||||||
|
- MYSQL_USER=invoice_ninja
|
||||||
|
- MYSQL_PASSWORD=${DATABASE_PASSWORD}
|
||||||
|
volumes:
|
||||||
|
- /portainer/Files/AppData/Config/Invoice-Ninja/DB:/config
|
||||||
|
restart: unless-stopped
|
31
Template/Stack/nextcloud.yml
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
---
|
||||||
|
version: "2"
|
||||||
|
services:
|
||||||
|
nextcloud:
|
||||||
|
image: linuxserver/nextcloud
|
||||||
|
container_name: nextcloud
|
||||||
|
environment:
|
||||||
|
- PUID=${PUID}
|
||||||
|
- PGID=${PGID}
|
||||||
|
- TZ=${TZ}
|
||||||
|
volumes:
|
||||||
|
- /portainer/Files/AppData/Config/Nextcloud/Config:/config
|
||||||
|
ports:
|
||||||
|
- ${PORT}:443
|
||||||
|
restart: unless-stopped
|
||||||
|
depends_on:
|
||||||
|
- nextcloud_db
|
||||||
|
nextcloud_db:
|
||||||
|
image: linuxserver/mariadb
|
||||||
|
container_name: nextcloud_db
|
||||||
|
environment:
|
||||||
|
- PUID=${PUID}
|
||||||
|
- PGID=${PGID}
|
||||||
|
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
|
||||||
|
- TZ=${Timezone}
|
||||||
|
- MYSQL_DATABASE=nextcloud_db
|
||||||
|
- MYSQL_USER=nextcloud
|
||||||
|
- MYSQL_PASSWORD=${DATABASE_PASSWORD}
|
||||||
|
volumes:
|
||||||
|
- /portainer/AppData/Config/Nextcloud/DB:/config
|
||||||
|
restart: unless-stopped
|
20
package.json
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
{
|
||||||
|
"name": "selfhosted_templates",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"description": "Portainer Templates for Selfhosted Projects/Homelabs.",
|
||||||
|
"private": true,
|
||||||
|
"devDependencies": {
|
||||||
|
"jsonlint": "^1.6.3",
|
||||||
|
"yaml-validator": "^3.0.0"
|
||||||
|
},
|
||||||
|
"scripts": {
|
||||||
|
"pretest": "jsonlint Template/template.json --quiet",
|
||||||
|
"test": "yaml-validator Template/Stack/*"
|
||||||
|
},
|
||||||
|
"repository": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "git+https://github.com/SelfhostedPro/selfhosted_templates.git"
|
||||||
|
},
|
||||||
|
"author": "Qballjos",
|
||||||
|
"license": "GPLv3"
|
||||||
|
}
|