├── .gitattributes ├── .github ├── ISSUE_TEMPLATE │ ├── application-request.md │ └── bug_report.md └── workflows │ └── tests.yml ├── .gitignore ├── Images ├── CREDITS ├── Chevereto.png ├── Dockerfile-Bionic-green.png ├── Dockerfile-Link-green.png ├── Dockerfile-Xenial-green.png ├── Dockerfile-arm64-green.png ├── Dockerfile-armhf-green.png ├── Dockerfile-x86--64-green.png ├── Firefox.png ├── GitLab.png ├── Mumble-logo.png ├── adguard.png ├── airsonic-banner.png ├── airsonic-logo.png ├── apacheweb-banner.png ├── apacheweb-icon.png ├── authelia.png ├── bazarr.png ├── beets-banner.png ├── beets-icon.png ├── bitwarden.png ├── booksonic.png ├── bookstack.png ├── bookstack2.png ├── broadlink.png ├── calibre-web-icon.png ├── cardigann.png ├── changedetection-custom.png ├── chowdown.png ├── code-server.png ├── codiad-icon.png ├── codiad.png ├── cops-icon-old.png ├── cops-icon.png ├── couchpotato-banner.png ├── couchpotato-icon.png ├── dashmachine_logo.png ├── davos.png ├── ddclient-logo.png ├── deemix.png ├── deluge-banner.png ├── deluge-icon.png ├── dokuwiki-icon.png ├── domoticz.png ├── donate.png ├── duck.png ├── duckdns.png ├── duplicati-icon.png ├── emby.png ├── embystat.png ├── filebrowser.png ├── flame.png ├── freeboard.jpg ├── freshrss-banner.png ├── freshrss-icon.png ├── gazee-logo.png ├── grocy_logo.png ├── guacamole.png ├── h5ai-icon.png ├── headphones-banner.png ├── headphones-icon.png ├── heimdall-banner.png ├── heimdall-icon.png ├── homer-dashboard.png ├── homer.png ├── htpcmanager-banner.png ├── htpcmanager-icon.png ├── huginn.png ├── hydra-banner.png ├── hydra-icon.png ├── influxdb_telegraf.jpg ├── invoice_ninja.png ├── jacket-icon.png ├── jackett-banner.png ├── jellyfin.png ├── kodi-banner.png ├── kodi-icon.png ├── lazylibrarian-icon.png ├── le-logo-wide.png ├── letsencrypt.png ├── libresonic (old).png ├── libresonic.png ├── lidarr.png ├── linuxserver-ls-logo.png ├── linuxserver_forum.png ├── linuxserver_medium.png ├── linuxserver_small.png ├── lychee-icon.png ├── maraschino-icon.png ├── maraschino.png ├── mariadb-banner.png ├── mariadb-git.png ├── mariadb-icon.png ├── mcmyadmin-banner.png ├── mcmyadmin-icon.png ├── medusa-icon.png ├── medusa-readme.png ├── minetest-banner.png ├── minetest-icon.png ├── minisatip-icon.png ├── mstream.png ├── musicbrainz-icon.png ├── muximux-icon.png ├── mylar-icon.png ├── mysql-banner.png ├── mysql-git.png ├── mysql-icon.png ├── netbox.png ├── netbox_icon.svg ├── nextcloud-icon.png ├── nginx-banner.png ├── nginx-icon.png ├── node-red-icon.svg ├── nzbget-banner.png ├── nzbget-icon.png ├── nzbmegasearch-banner.png ├── nzbmegasearch-icon.png ├── ogar-icon.png ├── ombi.png ├── openvpn-as-banner.png ├── openvpn-as-icon.png ├── openvpn-as.png ├── organizr-icon.png ├── overseerr-icon.png ├── petio-icon.png ├── photoshow-icon.png ├── pihole.png ├── piwigo-banner.png ├── piwigo-icon.png ├── pixelfed.png ├── plex-banner.png ├── plex-icon.png ├── plexemail-icon.png ├── plexpy-banner.png ├── plexpy-icon.png ├── polipo-icon.png ├── projectsend-logo.png ├── protonmail-bridge.png ├── prowlarr.png ├── proxy_mgr.png ├── pydio-banner.png ├── pydio-icon.png ├── qbittorrent-icon.png ├── quassel-core-banner.png ├── quassel-core-icon.png ├── radarr.png ├── reactiveresume.png ├── resilio.png ├── rutorrent.jpg ├── sabnzbd-banner.png ├── sabnzbd-icon.png ├── shiori-icon.png ├── sickbeard-banner.png ├── sickbeard-icon.png ├── sickchill-banner.png ├── sickchill-icon.png ├── sickgear-banner.png ├── sickgear-icon.png ├── smokeping-banner.png ├── smokeping-icon.png ├── snibox.png ├── snipe-it.png ├── sonarr-banner.png ├── sonarr-icon.png ├── speedtest.png ├── statping.png ├── syncthing-banner.png ├── syncthing-icon.png ├── tailscale.jpg ├── tautulli-banner.png ├── tautulli-icon.png ├── tautulli-logo.png ├── teamspeak-banner.png ├── teamspeak-icon.png ├── tiddlywiki.png ├── transmission-icon.png ├── transmission.png ├── tt-rss-banner.png ├── tt-rss-icon.png ├── tvheadend-big.png ├── ubooquity-banner.png ├── ubooquity-icon.png ├── unifi-banner.png ├── unifi-icon.png ├── watcher-banner.png ├── watcher-icon.png ├── watchtower.png ├── webgrabplus.png ├── whoogle.png ├── wikijs.png ├── ytdlm.png └── znc-icon.png ├── LICENSE ├── README.md ├── Template ├── Stack │ ├── activepieces.yml │ ├── actual.yml │ ├── adguardhome.yml │ ├── airsonic.yml │ ├── ansible-semaphore.yml │ ├── apprise.yml │ ├── appsmith.yml │ ├── appwrite.yml │ ├── aria2pro.yml │ ├── audiobookshelf.yml │ ├── authentik.yml │ ├── autobrr.yml │ ├── baikal.yml │ ├── baserow.yml │ ├── bazarr.yml │ ├── beszel.yml │ ├── blinko.yml │ ├── bookstack.yml │ ├── broadlink-manager.yml │ ├── budibase.yml │ ├── castopod.yml │ ├── checkmate.yml │ ├── chibisafe.yml │ ├── chiefonboarding.yml │ ├── codex.yml │ ├── dashdot.yml │ ├── dashy.yml │ ├── dawarich.yml │ ├── docker-container-stats.yml │ ├── dockge.yml │ ├── documize.yml │ ├── dokemon.yml │ ├── drawio.yml │ ├── excalidraw.yml │ ├── facebox.yml │ ├── feedcord.yml │ ├── fenrus.yml │ ├── ferdiserver.yml │ ├── ferdium.yml │ ├── filepizza.yml │ ├── filestash.yml │ ├── firefox.yml │ ├── fireshare.yml │ ├── flood.yml │ ├── flowiseai.yml │ ├── freeboard.yml │ ├── freescout.yml │ ├── frigatenvr.yml │ ├── funkwhale.yml │ ├── fusion.yml │ ├── gathio.yml │ ├── ghost.yml │ ├── ghostfolio.yml │ ├── gitlab.yml │ ├── glances.yml │ ├── goaccessnpm.yml │ ├── gokapi.yml │ ├── grafana.yml │ ├── grocy.yml │ ├── hasty-paste.yml │ ├── hauk.yml │ ├── hoarder.yml │ ├── homarr.yml │ ├── homebridge.yaml │ ├── homechart.yml │ ├── homepage.yml │ ├── ihatemoney.yml │ ├── immich.yml │ ├── influxdb2.yml │ ├── influxdb2_telegraf.yml │ ├── invidious.yml │ ├── invoice-ninja.yml │ ├── iperf.yml │ ├── jellyseer.yml │ ├── jump.yml │ ├── kapowarr.yml │ ├── kasmworkspaces.yml │ ├── kavita.yml │ ├── kiwix.yml │ ├── koillection.yml │ ├── lazytainer.yml │ ├── leantime.yml │ ├── linkstack.yml │ ├── littlelink.yml │ ├── loggifly.yml │ ├── mailpile.yml │ ├── markopolis.yml │ ├── mastodon.yml │ ├── matomo.yml │ ├── mautic.yml │ ├── medama.yml │ ├── media_server_plex.yml │ ├── medusa.yml │ ├── meilisearch.yml │ ├── meshcentral.yml │ ├── midarr.yml │ ├── miniflux.yml │ ├── monica.yml │ ├── moodle.yml │ ├── n8n.yml │ ├── navidrome.yml │ ├── neko.yml │ ├── netalertx.yml │ ├── netbootxyz.yml │ ├── nextcloud.yml │ ├── nexterm.yml │ ├── nocodb.yml │ ├── nodered.yml │ ├── npm.yml │ ├── nutify.yml │ ├── ombi.yml │ ├── openbudgeteer.yml │ ├── opnform.yml │ ├── organizr.yml │ ├── ory-kratos-oathkeeper.yml │ ├── ory-kratos-standalone.yml │ ├── overseerr.yml │ ├── owncloud.yml │ ├── petio.yml │ ├── photoprism.yml │ ├── pinchflat.yml │ ├── pingvin.yml │ ├── plane.yml │ ├── posteio.yml │ ├── proxitok.yml │ ├── pve-exporter.yml │ ├── readarr.yml │ ├── remotely.yml │ ├── renovate.yml │ ├── romm.env │ ├── romm.yml │ ├── rport.yml │ ├── rr_mtm.yml │ ├── rustdesk.yml │ ├── shaarli.yml │ ├── shiori.yml │ ├── signal.yml │ ├── silverstripe.yml │ ├── snibox.yml │ ├── snippetbox.yml │ ├── speedtest-tracker.yml │ ├── stirling-pdf.yml │ ├── syncthing.yml │ ├── tabby.yml │ ├── tailscale.yml │ ├── tandoor.yml │ ├── tdarr.yml │ ├── teleport.yml │ ├── teleportenv.file │ ├── timetagger.yml │ ├── tinymediamanager.yml │ ├── tooljet.yml │ ├── traggo.yml │ ├── trudesk.yml │ ├── tubearchivist.yml │ ├── umami.yml │ ├── unpackerr.yml │ ├── upsnap.yml │ ├── uptimekuma.yml │ ├── vikunja.yml │ ├── vpn_download.yml │ ├── wallabag.yml │ ├── watchrarr.yml │ ├── webcheck.yml │ ├── webtrees.yml │ ├── wger.yml │ ├── whisparr.yml │ ├── wordpress.yml │ ├── xwiki.yml │ └── your_spotify.yml ├── template.json └── template3.json ├── details.md └── package.json /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/application-request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Application Request 3 | about: Request new applications using this template. 4 | title: "[APP REQUEST]: " 5 | labels: App Request 6 | assignees: '' 7 | 8 | --- 9 | 10 | ### Dockerhub Link: ### 11 | *replace with dockerhub link* 12 | 13 | ### Description ### 14 | *replace with description* 15 | 16 | ### Separate Database? ### 17 | *does this require a separate database in order to function?* 18 | 19 | ### Fill this out as best as you can. Documentation about these can be found here: https://www.portainer.io/documentation/how-to-use-templates/ 20 | 21 | ```json 22 | { 23 | "version": "2", 24 | "templates": [ 25 | { 26 | "categories": [ 27 | "Music" 28 | ], 29 | "description": "Airsonic is a free, web-based media streamer, providing ubiqutious access to your music. Use it to share your music with friends, or to listen to your own music while at work. You can stream to multiple players simultaneously, for instance to one player in your kitchen and another in your living room.", 30 | "env": [ 31 | { 32 | "default": "1000", 33 | "label": "PUID", 34 | "name": "PUID" 35 | }, 36 | { 37 | "default": "100", 38 | "label": "PGID", 39 | "name": "PGID" 40 | }, 41 | { 42 | "label": "CONTEXT_PATH", 43 | "name": "CONTEXT_PATH", 44 | "set": "airsonic" 45 | }, 46 | { 47 | "label": "JAVA_OPTS", 48 | "name": "JAVA_OPTS", 49 | "set": "-Xms256m -Xmx512m" 50 | } 51 | ], 52 | "image": "linuxserver/airsonic:latest", 53 | "logo": "https://raw.githubusercontent.com/Qballjos/portainer_templates/master/Images/airsonic-logo.png", 54 | "name": "airsonic", 55 | "platform": "linux", 56 | "ports": [ 57 | "4040:4040/tcp" 58 | ], 59 | "restart_policy": "unless-stopped", 60 | "title": "Airsonic", 61 | "type": 1, 62 | "volumes": [ 63 | { 64 | "bind": "/portainer/Music", 65 | "container": "/music" 66 | }, 67 | { 68 | "bind": "/portainer/Files/AppData/Airsonic/Playlists", 69 | "container": "/playlists" 70 | }, 71 | { 72 | "bind": "/portainer/Podcasts", 73 | "container": "/podcasts" 74 | }, 75 | { 76 | "bind": "/portainer/Files/AppData/Airsonic/Media", 77 | "container": "/media" 78 | }, 79 | { 80 | "bind": "/portainer/Files/AppData/Config/Airsonic/", 81 | "container": "/config" 82 | } 83 | ] 84 | }, 85 | ``` -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Create a report to help us improve 4 | title: "[BUG]" 5 | labels: bug 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Describe the bug** 11 | A clear and concise description of what the bug is. 12 | 13 | **To Reproduce** 14 | Steps to reproduce the behavior: 15 | 1. Go to '...' 16 | 2. Click on '....' 17 | 3. Scroll down to '....' 18 | 4. See error 19 | 20 | **Expected behavior** 21 | A clear and concise description of what you expected to happen. 22 | 23 | **Screenshots** 24 | If applicable, add screenshots to help explain your problem. 25 | 26 | **Portainer Logs** 27 | Paste logs here 28 | -------------------------------------------------------------------------------- /.github/workflows/tests.yml: -------------------------------------------------------------------------------- 1 | name: tests 2 | on: [push, pull_request] 3 | 4 | jobs: 5 | test: 6 | runs-on: ubuntu-latest 7 | steps: 8 | - uses: actions/checkout@v2 9 | - uses: actions/setup-node@v1 10 | with: 11 | node-version: '14.x' 12 | - run: npm install 13 | - run: npm test 14 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /node_modules 2 | /package-lock.json 3 | .DS_Store 4 | -------------------------------------------------------------------------------- /Images/CREDITS: -------------------------------------------------------------------------------- 1 | plex-icon.png is grabbed from https://github.com/binhex/docker-templates 2 | 3 | Images Not mentioned here is grabbed from respective's softwares webpage. 4 | -------------------------------------------------------------------------------- /Images/Chevereto.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/Chevereto.png -------------------------------------------------------------------------------- /Images/Dockerfile-Bionic-green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/Dockerfile-Bionic-green.png -------------------------------------------------------------------------------- /Images/Dockerfile-Link-green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/Dockerfile-Link-green.png -------------------------------------------------------------------------------- /Images/Dockerfile-Xenial-green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/Dockerfile-Xenial-green.png -------------------------------------------------------------------------------- /Images/Dockerfile-arm64-green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/Dockerfile-arm64-green.png -------------------------------------------------------------------------------- /Images/Dockerfile-armhf-green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/Dockerfile-armhf-green.png -------------------------------------------------------------------------------- /Images/Dockerfile-x86--64-green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/Dockerfile-x86--64-green.png -------------------------------------------------------------------------------- /Images/Firefox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/Firefox.png -------------------------------------------------------------------------------- /Images/GitLab.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/GitLab.png -------------------------------------------------------------------------------- /Images/Mumble-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/Mumble-logo.png -------------------------------------------------------------------------------- /Images/adguard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/adguard.png -------------------------------------------------------------------------------- /Images/airsonic-banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/airsonic-banner.png -------------------------------------------------------------------------------- /Images/airsonic-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/airsonic-logo.png -------------------------------------------------------------------------------- /Images/apacheweb-banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/apacheweb-banner.png -------------------------------------------------------------------------------- /Images/apacheweb-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/apacheweb-icon.png -------------------------------------------------------------------------------- /Images/authelia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/authelia.png -------------------------------------------------------------------------------- /Images/bazarr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/bazarr.png -------------------------------------------------------------------------------- /Images/beets-banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/beets-banner.png -------------------------------------------------------------------------------- /Images/beets-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/beets-icon.png -------------------------------------------------------------------------------- /Images/bitwarden.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/bitwarden.png -------------------------------------------------------------------------------- /Images/booksonic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/booksonic.png -------------------------------------------------------------------------------- /Images/bookstack.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/bookstack.png -------------------------------------------------------------------------------- /Images/bookstack2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/bookstack2.png -------------------------------------------------------------------------------- /Images/broadlink.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/broadlink.png -------------------------------------------------------------------------------- /Images/calibre-web-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/calibre-web-icon.png -------------------------------------------------------------------------------- /Images/cardigann.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/cardigann.png -------------------------------------------------------------------------------- /Images/changedetection-custom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/changedetection-custom.png -------------------------------------------------------------------------------- /Images/chowdown.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/chowdown.png -------------------------------------------------------------------------------- /Images/code-server.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/code-server.png -------------------------------------------------------------------------------- /Images/codiad-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/codiad-icon.png -------------------------------------------------------------------------------- /Images/codiad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/codiad.png -------------------------------------------------------------------------------- /Images/cops-icon-old.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/cops-icon-old.png -------------------------------------------------------------------------------- /Images/cops-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/cops-icon.png -------------------------------------------------------------------------------- /Images/couchpotato-banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/couchpotato-banner.png -------------------------------------------------------------------------------- /Images/couchpotato-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/couchpotato-icon.png -------------------------------------------------------------------------------- /Images/dashmachine_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/dashmachine_logo.png -------------------------------------------------------------------------------- /Images/davos.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/davos.png -------------------------------------------------------------------------------- /Images/ddclient-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/ddclient-logo.png -------------------------------------------------------------------------------- /Images/deemix.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/deemix.png -------------------------------------------------------------------------------- /Images/deluge-banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/deluge-banner.png -------------------------------------------------------------------------------- /Images/deluge-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/deluge-icon.png -------------------------------------------------------------------------------- /Images/dokuwiki-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/dokuwiki-icon.png -------------------------------------------------------------------------------- /Images/domoticz.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/domoticz.png -------------------------------------------------------------------------------- /Images/donate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/donate.png -------------------------------------------------------------------------------- /Images/duck.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/duck.png -------------------------------------------------------------------------------- /Images/duckdns.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/duckdns.png -------------------------------------------------------------------------------- /Images/duplicati-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/duplicati-icon.png -------------------------------------------------------------------------------- /Images/emby.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/emby.png -------------------------------------------------------------------------------- /Images/embystat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/embystat.png -------------------------------------------------------------------------------- /Images/filebrowser.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/filebrowser.png -------------------------------------------------------------------------------- /Images/flame.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/flame.png -------------------------------------------------------------------------------- /Images/freeboard.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/freeboard.jpg -------------------------------------------------------------------------------- /Images/freshrss-banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/freshrss-banner.png -------------------------------------------------------------------------------- /Images/freshrss-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/freshrss-icon.png -------------------------------------------------------------------------------- /Images/gazee-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/gazee-logo.png -------------------------------------------------------------------------------- /Images/grocy_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/grocy_logo.png -------------------------------------------------------------------------------- /Images/guacamole.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/guacamole.png -------------------------------------------------------------------------------- /Images/h5ai-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/h5ai-icon.png -------------------------------------------------------------------------------- /Images/headphones-banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/headphones-banner.png -------------------------------------------------------------------------------- /Images/headphones-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/headphones-icon.png -------------------------------------------------------------------------------- /Images/heimdall-banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/heimdall-banner.png -------------------------------------------------------------------------------- /Images/heimdall-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/heimdall-icon.png -------------------------------------------------------------------------------- /Images/homer-dashboard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/homer-dashboard.png -------------------------------------------------------------------------------- /Images/homer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/homer.png -------------------------------------------------------------------------------- /Images/htpcmanager-banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/htpcmanager-banner.png -------------------------------------------------------------------------------- /Images/htpcmanager-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/htpcmanager-icon.png -------------------------------------------------------------------------------- /Images/huginn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/huginn.png -------------------------------------------------------------------------------- /Images/hydra-banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/hydra-banner.png -------------------------------------------------------------------------------- /Images/hydra-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/hydra-icon.png -------------------------------------------------------------------------------- /Images/influxdb_telegraf.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/influxdb_telegraf.jpg -------------------------------------------------------------------------------- /Images/invoice_ninja.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/invoice_ninja.png -------------------------------------------------------------------------------- /Images/jacket-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/jacket-icon.png -------------------------------------------------------------------------------- /Images/jackett-banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/jackett-banner.png -------------------------------------------------------------------------------- /Images/jellyfin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/jellyfin.png -------------------------------------------------------------------------------- /Images/kodi-banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/kodi-banner.png -------------------------------------------------------------------------------- /Images/kodi-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/kodi-icon.png -------------------------------------------------------------------------------- /Images/lazylibrarian-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/lazylibrarian-icon.png -------------------------------------------------------------------------------- /Images/le-logo-wide.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/le-logo-wide.png -------------------------------------------------------------------------------- /Images/letsencrypt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/letsencrypt.png -------------------------------------------------------------------------------- /Images/libresonic (old).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/libresonic (old).png -------------------------------------------------------------------------------- /Images/libresonic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/libresonic.png -------------------------------------------------------------------------------- /Images/lidarr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/lidarr.png -------------------------------------------------------------------------------- /Images/linuxserver-ls-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/linuxserver-ls-logo.png -------------------------------------------------------------------------------- /Images/linuxserver_forum.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/linuxserver_forum.png -------------------------------------------------------------------------------- /Images/linuxserver_medium.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/linuxserver_medium.png -------------------------------------------------------------------------------- /Images/linuxserver_small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/linuxserver_small.png -------------------------------------------------------------------------------- /Images/lychee-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/lychee-icon.png -------------------------------------------------------------------------------- /Images/maraschino-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/maraschino-icon.png -------------------------------------------------------------------------------- /Images/maraschino.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/maraschino.png -------------------------------------------------------------------------------- /Images/mariadb-banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/mariadb-banner.png -------------------------------------------------------------------------------- /Images/mariadb-git.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/mariadb-git.png -------------------------------------------------------------------------------- /Images/mariadb-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/mariadb-icon.png -------------------------------------------------------------------------------- /Images/mcmyadmin-banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/mcmyadmin-banner.png -------------------------------------------------------------------------------- /Images/mcmyadmin-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/mcmyadmin-icon.png -------------------------------------------------------------------------------- /Images/medusa-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/medusa-icon.png -------------------------------------------------------------------------------- /Images/medusa-readme.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/medusa-readme.png -------------------------------------------------------------------------------- /Images/minetest-banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/minetest-banner.png -------------------------------------------------------------------------------- /Images/minetest-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/minetest-icon.png -------------------------------------------------------------------------------- /Images/minisatip-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/minisatip-icon.png -------------------------------------------------------------------------------- /Images/mstream.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/mstream.png -------------------------------------------------------------------------------- /Images/musicbrainz-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/musicbrainz-icon.png -------------------------------------------------------------------------------- /Images/muximux-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/muximux-icon.png -------------------------------------------------------------------------------- /Images/mylar-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/mylar-icon.png -------------------------------------------------------------------------------- /Images/mysql-banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/mysql-banner.png -------------------------------------------------------------------------------- /Images/mysql-git.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/mysql-git.png -------------------------------------------------------------------------------- /Images/mysql-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/mysql-icon.png -------------------------------------------------------------------------------- /Images/netbox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/netbox.png -------------------------------------------------------------------------------- /Images/netbox_icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /Images/nextcloud-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/nextcloud-icon.png -------------------------------------------------------------------------------- /Images/nginx-banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/nginx-banner.png -------------------------------------------------------------------------------- /Images/nginx-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/nginx-icon.png -------------------------------------------------------------------------------- /Images/nzbget-banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/nzbget-banner.png -------------------------------------------------------------------------------- /Images/nzbget-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/nzbget-icon.png -------------------------------------------------------------------------------- /Images/nzbmegasearch-banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/nzbmegasearch-banner.png -------------------------------------------------------------------------------- /Images/nzbmegasearch-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/nzbmegasearch-icon.png -------------------------------------------------------------------------------- /Images/ogar-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/ogar-icon.png -------------------------------------------------------------------------------- /Images/ombi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/ombi.png -------------------------------------------------------------------------------- /Images/openvpn-as-banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/openvpn-as-banner.png -------------------------------------------------------------------------------- /Images/openvpn-as-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/openvpn-as-icon.png -------------------------------------------------------------------------------- /Images/openvpn-as.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/openvpn-as.png -------------------------------------------------------------------------------- /Images/organizr-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/organizr-icon.png -------------------------------------------------------------------------------- /Images/overseerr-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/overseerr-icon.png -------------------------------------------------------------------------------- /Images/petio-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/petio-icon.png -------------------------------------------------------------------------------- /Images/photoshow-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/photoshow-icon.png -------------------------------------------------------------------------------- /Images/pihole.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/pihole.png -------------------------------------------------------------------------------- /Images/piwigo-banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/piwigo-banner.png -------------------------------------------------------------------------------- /Images/piwigo-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/piwigo-icon.png -------------------------------------------------------------------------------- /Images/pixelfed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/pixelfed.png -------------------------------------------------------------------------------- /Images/plex-banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/plex-banner.png -------------------------------------------------------------------------------- /Images/plex-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/plex-icon.png -------------------------------------------------------------------------------- /Images/plexemail-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/plexemail-icon.png -------------------------------------------------------------------------------- /Images/plexpy-banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/plexpy-banner.png -------------------------------------------------------------------------------- /Images/plexpy-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/plexpy-icon.png -------------------------------------------------------------------------------- /Images/polipo-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/polipo-icon.png -------------------------------------------------------------------------------- /Images/projectsend-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/projectsend-logo.png -------------------------------------------------------------------------------- /Images/protonmail-bridge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/protonmail-bridge.png -------------------------------------------------------------------------------- /Images/prowlarr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/prowlarr.png -------------------------------------------------------------------------------- /Images/proxy_mgr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/proxy_mgr.png -------------------------------------------------------------------------------- /Images/pydio-banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/pydio-banner.png -------------------------------------------------------------------------------- /Images/pydio-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/pydio-icon.png -------------------------------------------------------------------------------- /Images/qbittorrent-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/qbittorrent-icon.png -------------------------------------------------------------------------------- /Images/quassel-core-banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/quassel-core-banner.png -------------------------------------------------------------------------------- /Images/quassel-core-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/quassel-core-icon.png -------------------------------------------------------------------------------- /Images/radarr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/radarr.png -------------------------------------------------------------------------------- /Images/reactiveresume.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/reactiveresume.png -------------------------------------------------------------------------------- /Images/resilio.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/resilio.png -------------------------------------------------------------------------------- /Images/rutorrent.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/rutorrent.jpg -------------------------------------------------------------------------------- /Images/sabnzbd-banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/sabnzbd-banner.png -------------------------------------------------------------------------------- /Images/sabnzbd-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/sabnzbd-icon.png -------------------------------------------------------------------------------- /Images/shiori-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/shiori-icon.png -------------------------------------------------------------------------------- /Images/sickbeard-banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/sickbeard-banner.png -------------------------------------------------------------------------------- /Images/sickbeard-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/sickbeard-icon.png -------------------------------------------------------------------------------- /Images/sickchill-banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/sickchill-banner.png -------------------------------------------------------------------------------- /Images/sickchill-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/sickchill-icon.png -------------------------------------------------------------------------------- /Images/sickgear-banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/sickgear-banner.png -------------------------------------------------------------------------------- /Images/sickgear-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/sickgear-icon.png -------------------------------------------------------------------------------- /Images/smokeping-banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/smokeping-banner.png -------------------------------------------------------------------------------- /Images/smokeping-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/smokeping-icon.png -------------------------------------------------------------------------------- /Images/snibox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/snibox.png -------------------------------------------------------------------------------- /Images/snipe-it.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/snipe-it.png -------------------------------------------------------------------------------- /Images/sonarr-banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/sonarr-banner.png -------------------------------------------------------------------------------- /Images/sonarr-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/sonarr-icon.png -------------------------------------------------------------------------------- /Images/speedtest.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/speedtest.png -------------------------------------------------------------------------------- /Images/statping.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/statping.png -------------------------------------------------------------------------------- /Images/syncthing-banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/syncthing-banner.png -------------------------------------------------------------------------------- /Images/syncthing-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/syncthing-icon.png -------------------------------------------------------------------------------- /Images/tailscale.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/tailscale.jpg -------------------------------------------------------------------------------- /Images/tautulli-banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/tautulli-banner.png -------------------------------------------------------------------------------- /Images/tautulli-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/tautulli-icon.png -------------------------------------------------------------------------------- /Images/tautulli-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/tautulli-logo.png -------------------------------------------------------------------------------- /Images/teamspeak-banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/teamspeak-banner.png -------------------------------------------------------------------------------- /Images/teamspeak-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/teamspeak-icon.png -------------------------------------------------------------------------------- /Images/tiddlywiki.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/tiddlywiki.png -------------------------------------------------------------------------------- /Images/transmission-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/transmission-icon.png -------------------------------------------------------------------------------- /Images/transmission.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/transmission.png -------------------------------------------------------------------------------- /Images/tt-rss-banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/tt-rss-banner.png -------------------------------------------------------------------------------- /Images/tt-rss-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/tt-rss-icon.png -------------------------------------------------------------------------------- /Images/tvheadend-big.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/tvheadend-big.png -------------------------------------------------------------------------------- /Images/ubooquity-banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/ubooquity-banner.png -------------------------------------------------------------------------------- /Images/ubooquity-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/ubooquity-icon.png -------------------------------------------------------------------------------- /Images/unifi-banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/unifi-banner.png -------------------------------------------------------------------------------- /Images/unifi-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/unifi-icon.png -------------------------------------------------------------------------------- /Images/watcher-banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/watcher-banner.png -------------------------------------------------------------------------------- /Images/watcher-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/watcher-icon.png -------------------------------------------------------------------------------- /Images/watchtower.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/watchtower.png -------------------------------------------------------------------------------- /Images/webgrabplus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/webgrabplus.png -------------------------------------------------------------------------------- /Images/whoogle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/whoogle.png -------------------------------------------------------------------------------- /Images/wikijs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/wikijs.png -------------------------------------------------------------------------------- /Images/ytdlm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/ytdlm.png -------------------------------------------------------------------------------- /Images/znc-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xneo1/portainer_templates/c84a60c00729c8bc34c3d25df283804556731f85/Images/znc-icon.png -------------------------------------------------------------------------------- /Template/Stack/activepieces.yml: -------------------------------------------------------------------------------- 1 | services: 2 | activepieces: 3 | image: activepieces/activepieces:0.12.2 4 | container_name: activepieces 5 | restart: unless-stopped 6 | ## Enable the following line if you already use AP_EXECUTION_MODE with SANDBOXED or old activepieces, checking the breaking change documentation for more info. 7 | ## privileged: true 8 | ports: 9 | - 38080:80 10 | depends_on: 11 | - ap-postgres 12 | - ap-redis 13 | environment: 14 | ## It's advisable to consult the documentation and use the tools/deploy.sh to generate the passwords, keys, instead of manually filling them. 15 | - AP_ENGINE_EXECUTABLE_PATH=dist/packages/engine/main.js 16 | ## Random Long Password (Optional for community edition) 17 | - AP_API_KEY=superduperlongranDOMpwd 18 | ## 256 bit encryption key, 32 hex character 19 | - AP_ENCRYPTION_KEY= 20 | ## JWT Secret 21 | - AP_JWT_SECRET=JWT2square_changeme 22 | - AP_ENVIRONMENT=prod 23 | - AP_FRONTEND_URL=http://localhost:38080 24 | - AP_WEBHOOK_TIMEOUT_SECONDS=30 25 | - AP_TRIGGER_DEFAULT_POLL_INTERVAL=5 26 | - AP_POSTGRES_DATABASE=activepieces 27 | - AP_POSTGRES_HOST=postgres 28 | - AP_POSTGRES_PORT=5432 29 | - AP_POSTGRES_USERNAME=postgres 30 | - AP_POSTGRES_PASSWORD=postgresof_changeme 31 | - AP_EXECUTION_MODE=UNSANDBOXED 32 | - AP_REDIS_HOST=redis 33 | - AP_REDIS_PORT=6379 34 | - AP_SANDBOX_RUN_TIME_SECONDS=600 35 | - AP_TELEMETRY_ENABLED=false 36 | - AP_TEMPLATES_SOURCE_URL="https://cloud.activepieces.com/api/v1/flow-templates" 37 | ap-postgres: 38 | image: postgres:14.4 39 | container_name: postgres 40 | restart: unless-stopped 41 | environment: 42 | - POSTGRES_DB=activepieces 43 | - POSTGRES_PASSWORD=postgresof_changeme 44 | - POSTGRES_USER=postgres 45 | volumes: 46 | - /portainer/Files/AppData/Config/activepieces/postgres_data:/var/lib/postgresql/data 47 | ap-redis: 48 | image: redis:7.0.7 49 | container_name: redis 50 | restart: unless-stopped 51 | volumes: 52 | - /portainer/Files/AppData/Config/activepieces/redis_data:/data 53 | -------------------------------------------------------------------------------- /Template/Stack/actual.yml: -------------------------------------------------------------------------------- 1 | services: 2 | actual-server: 3 | container_name: actual 4 | ports: 5 | - 5007:5006 6 | volumes: 7 | - /portainer/Files/AppData/Config/actual:/data 8 | image: 'actualbudget/actual-server:latest' 9 | restart: unless-stopped 10 | -------------------------------------------------------------------------------- /Template/Stack/adguardhome.yml: -------------------------------------------------------------------------------- 1 | services: 2 | adguardhome: 3 | image: adguard/adguardhome 4 | container_name: adguardhome 5 | ports: 6 | - 53:53/tcp 7 | - 53:53/udp 8 | - 67:67/udp 9 | - 68:68/tcp 10 | - 68:68/udp 11 | - 784:784/udp 12 | - 853:853/tcp 13 | - 3000:3000/tcp 14 | - 80:80/tcp 15 | - 443:443/tcp 16 | volumes: 17 | - /portainer/Files/AppData/Config/adguardhome/workdir:/opt/adguardhome/work 18 | - /portainer/Files/AppData/Config/adguardhome/confdir:/opt/adguardhome/conf 19 | restart: unless-stopped 20 | -------------------------------------------------------------------------------- /Template/Stack/airsonic.yml: -------------------------------------------------------------------------------- 1 | services: 2 | airsonic: 3 | image: lscr.io/linuxserver/airsonic 4 | container_name: airsonic 5 | environment: 6 | - PUID=1000 7 | - PGID=1000 8 | - TZ=Europe/Athens 9 | volumes: 10 | - /portainer/Files/AppData/Config/airsonic:/config 11 | - /portainer/multimedia/music/:/music 12 | - /portainer/multimedia/music/playlists:/playlists 13 | - /portainer/multimedia/podcasts:/podcasts 14 | - /portainer/multimedia/music/othermedia:/media #optional 15 | ports: 16 | - 4040:4040 17 | restart: unless-stopped 18 | -------------------------------------------------------------------------------- /Template/Stack/ansible-semaphore.yml: -------------------------------------------------------------------------------- 1 | services: 2 | # uncomment this section and comment out the mysql section to use postgres instead of mysql 3 | #postgres: 4 | #restart: unless-stopped 5 | #ports: 6 | #- 5432:5432 7 | #image: postgres:14 8 | #hostname: postgres 9 | #volumes: 10 | # - semaphore-postgres:/var/lib/postgresql/data 11 | #environment: 12 | # POSTGRES_USER: semaphore 13 | # POSTGRES_PASSWORD: semaphore 14 | # POSTGRES_DB: semaphore 15 | # if you wish to use postgres, comment the mysql service section below 16 | mysql: 17 | restart: unless-stopped 18 | ports: 19 | - 3306:3306 20 | image: mysql:8.0 21 | hostname: mysql 22 | volumes: 23 | - semaphore-mysql:/var/lib/mysql 24 | environment: 25 | MYSQL_RANDOM_ROOT_PASSWORD: 'yes' 26 | MYSQL_DATABASE: semaphore 27 | MYSQL_USER: semaphore 28 | MYSQL_PASSWORD: semaphore 29 | semaphore: 30 | restart: unless-stopped 31 | ports: 32 | - 3000:3000 33 | image: semaphoreui/semaphore:latest 34 | environment: 35 | SEMAPHORE_DB_USER: semaphore 36 | SEMAPHORE_DB_PASS: semaphore 37 | SEMAPHORE_DB_HOST: mysql # for postgres, change to: postgres 38 | SEMAPHORE_DB_PORT: 3306 # change to 5432 for postgres 39 | SEMAPHORE_DB_DIALECT: mysql 40 | SEMAPHORE_DB: semaphore 41 | SEMAPHORE_PLAYBOOK_PATH: /tmp/semaphore/ 42 | SEMAPHORE_ADMIN_PASSWORD: changeme 43 | SEMAPHORE_ADMIN_NAME: admin 44 | SEMAPHORE_ADMIN_EMAIL: admin@localhost 45 | SEMAPHORE_ADMIN: admin 46 | SEMAPHORE_ACCESS_KEY_ENCRYPTION: gs72mPntFATGJs9qK0pQ0rKtfidlexiMjYCH9gWKhTU= 47 | SEMAPHORE_LDAP_ACTIVATED: 'no' # if you wish to use ldap, set to: 'yes' 48 | SEMAPHORE_LDAP_HOST: dc01.local.example.com 49 | SEMAPHORE_LDAP_PORT: '636' 50 | SEMAPHORE_LDAP_NEEDTLS: 'yes' 51 | SEMAPHORE_LDAP_DN_BIND: 'uid=bind_user,cn=users,cn=accounts,dc=local,dc=shiftsystems,dc=net' 52 | SEMAPHORE_LDAP_PASSWORD: 'ldap_bind_account_password' 53 | SEMAPHORE_LDAP_DN_SEARCH: 'dc=local,dc=example,dc=com' 54 | SEMAPHORE_LDAP_SEARCH_FILTER: "(\u0026(uid=%s)(memberOf=cn=ipausers,cn=groups,cn=accounts,dc=local,dc=example,dc=com))" 55 | depends_on: 56 | - mysql # for postgres, change to: postgres 57 | volumes: 58 | semaphore-mysql: # to use postgres, switch to: semaphore-postgres 59 | -------------------------------------------------------------------------------- /Template/Stack/apprise.yml: -------------------------------------------------------------------------------- 1 | #& type: 3 2 | #& title: Apprise API 3 | #& description: Send notifications to more then 70+ services. 4 | #& note: Website: Github.com 5 | #& categories: SelfHosted 6 | #& platform: linux 7 | #& logo: https://warehouse-camo.ingress.cmh1.psfhosted.org/a22d9206f80dfbb10748b6764fee932ff0ae1a8f/687474703a2f2f7265706f2e6e75787265662e636f6d2f7075622f696d672f6c6f676f2d617070726973652e706e67 8 | 9 | #% SERVICE: Name of the service (No spaces or points) [apprise-api] 10 | #% DATA_LOCATION: Data location (Example: /apps/service) [/portainer/Files/AppData/Config/apprise] 11 | #% URL: Service URL (Example: service.com) 12 | #% NETWORK: Your Traefik network (Example: proxy) [proxy] 13 | 14 | # Work with Portainer 15 | services: 16 | apprise-api: 17 | image: lscr.io/linuxserver/apprise-api 18 | container_name: $SERVICE 19 | volumes: 20 | - $DATA_LOCATION/$SERVICE/config:/config 21 | healthcheck: 22 | test: ["CMD", "bash", "-c", "exec 5<>/dev/tcp/127.0.0.1/8036 && echo -e 'GET /healthz HTTP/1.1\n\n' >&5 && cat <&5 | head -n 1 | grep 200"] 23 | interval: 1m 24 | timeout: 30s 25 | retries: 3 26 | restart: unless-stopped 27 | networks: 28 | - default 29 | labels: 30 | - "traefik.enable=true" 31 | - "traefik.http.routers.$SERVICE.entrypoints=https" 32 | - "traefik.http.routers.$SERVICE.rule=Host(`$URL`)" 33 | - "traefik.http.routers.$SERVICE.tls=true" 34 | - "traefik.http.routers.$SERVICE.tls.certresolver=http" 35 | - "traefik.http.services.$SERVICE.loadbalancer.server.port=8036" 36 | - "traefik.docker.network=$NETWORK" 37 | networks: 38 | default: 39 | external: 40 | name: $NETWORK 41 | -------------------------------------------------------------------------------- /Template/Stack/appsmith.yml: -------------------------------------------------------------------------------- 1 | services: 2 | appsmith: 3 | image: index.docker.io/appsmith/appsmith-ce 4 | container_name: appsmith 5 | ports: 6 | - "1810:80" 7 | - "1443:443" 8 | volumes: 9 | - /portainer/Files/AppData/Config/appsmith:/appsmith-stacks 10 | restart: unless-stopped 11 | # Uncomment the lines below to enable auto-update 12 | #labels: 13 | # com.centurylinklabs.watchtower.enable: "true" 14 | 15 | #auto_update: 16 | # image: containrrr/watchtower 17 | # volumes: 18 | # - /var/run/docker.sock:/var/run/docker.sock 19 | # # Update check interval in seconds. 20 | # command: --schedule "0 0 * ? * *" --label-enable --cleanup 21 | # restart: unless-stopped 22 | # depends_on: 23 | # - appsmith 24 | # environment: 25 | # - WATCHTOWER_LIFECYCLE_HOOKS=true 26 | -------------------------------------------------------------------------------- /Template/Stack/aria2pro.yml: -------------------------------------------------------------------------------- 1 | #https://raw.githubusercontent.com/P3TERX/Aria2-Pro-Docker/master/docker-compose.yml 2 | services: 3 | 4 | Aria2-Pro: 5 | container_name: aria2-pro 6 | image: p3terx/aria2-pro 7 | environment: 8 | - PUID=65534 9 | - PGID=65534 10 | - UMASK_SET=022 11 | #- RPC_SECRET=P3TERX 12 | - RPC_PORT=6800 13 | - LISTEN_PORT=6888 14 | - DISK_CACHE=64M 15 | - IPV6_MODE=false 16 | - UPDATE_TRACKERS=true 17 | - CUSTOM_TRACKER_URL= 18 | - TZ=Europe/Athens 19 | volumes: 20 | - /portainer/Files/AppData/Config/aria2-pro:/config 21 | - /portainer/Downloads:/downloads 22 | # If you use host network mode, then no port mapping is required. 23 | # This is the easiest way to use IPv6 networks. 24 | # network_mode: host 25 | network_mode: bridge 26 | ports: 27 | - 6800:6800 28 | - 6888:6888 29 | - 6888:6888/udp 30 | restart: always 31 | # Since Aria2 will continue to generate logs, limit the log size to 1M to prevent your hard disk from running out of space. 32 | logging: 33 | driver: json-file 34 | options: 35 | max-size: 1m 36 | 37 | # AriaNg is just a static web page, usually you only need to deploy on a single host. 38 | AriaNg: 39 | container_name: ariang 40 | image: p3terx/ariang 41 | environment: 42 | - PUID=1000 43 | - PGID=1000 44 | - ARIA2RPCPORT=6800 45 | - RPC_SECRET=P3TERX 46 | command: --port 6880 --ipv6 47 | # network_mode: host 48 | network_mode: bridge 49 | ports: 50 | - 6880:6880 51 | restart: always 52 | logging: 53 | driver: json-file 54 | options: 55 | max-size: 1m 56 | -------------------------------------------------------------------------------- /Template/Stack/audiobookshelf.yml: -------------------------------------------------------------------------------- 1 | services: 2 | audiobookshelf: 3 | container_name: audiobookshelf 4 | image: ghcr.io/advplyr/audiobookshelf 5 | ports: 6 | - 13378:80 7 | volumes: 8 | - /portainer/Files/AppData/Config/audiobookshelf/audiobooks:/audiobooks 9 | - /portainer/Files/AppData/Config/audiobookshelf/podcasts:/podcasts 10 | - /portainer/Files/AppData/Config/audiobookshelf/metadata:/metadata 11 | - /portainer/Files/AppData/Config/audiobookshelf:/config 12 | -------------------------------------------------------------------------------- /Template/Stack/authentik.yml: -------------------------------------------------------------------------------- 1 | services: 2 | postgresql: 3 | image: postgres:12-alpine 4 | restart: unless-stopped 5 | volumes: 6 | - database:/var/lib/postgresql/data 7 | environment: 8 | - POSTGRES_PASSWORD=${PG_PASS:?database password required} 9 | - POSTGRES_USER=${PG_USER:-authentik} 10 | - POSTGRES_DB=${PG_DB:-authentik} 11 | env_file: 12 | - .env 13 | redis: 14 | image: redis:alpine 15 | restart: unless-stopped 16 | server: 17 | image: ${AUTHENTIK_IMAGE:-ghcr.io/goauthentik/server}:${AUTHENTIK_TAG:-2021.12.5} 18 | restart: unless-stopped 19 | command: server 20 | environment: 21 | AUTHENTIK_REDIS__HOST: redis 22 | AUTHENTIK_POSTGRESQL__HOST: postgresql 23 | AUTHENTIK_POSTGRESQL__USER: ${PG_USER:-authentik} 24 | AUTHENTIK_POSTGRESQL__NAME: ${PG_DB:-authentik} 25 | AUTHENTIK_POSTGRESQL__PASSWORD: ${PG_PASS} 26 | # AUTHENTIK_ERROR_REPORTING__ENABLED: "true" 27 | # WORKERS: 2 28 | volumes: 29 | - ./media:/media 30 | - ./custom-templates:/templates 31 | - geoip:/geoip 32 | env_file: 33 | - .env 34 | ports: 35 | - "0.0.0.0:${AUTHENTIK_PORT_HTTP:-9000}:9000" 36 | - "0.0.0.0:${AUTHENTIK_PORT_HTTPS:-9443}:9443" 37 | worker: 38 | image: ${AUTHENTIK_IMAGE:-ghcr.io/goauthentik/server}:${AUTHENTIK_TAG:-2021.12.5} 39 | restart: unless-stopped 40 | command: worker 41 | environment: 42 | AUTHENTIK_REDIS__HOST: redis 43 | AUTHENTIK_POSTGRESQL__HOST: postgresql 44 | AUTHENTIK_POSTGRESQL__USER: ${PG_USER:-authentik} 45 | AUTHENTIK_POSTGRESQL__NAME: ${PG_DB:-authentik} 46 | AUTHENTIK_POSTGRESQL__PASSWORD: ${PG_PASS} 47 | # AUTHENTIK_ERROR_REPORTING__ENABLED: "true" 48 | # This is optional, and can be removed. If you remove this, the following will happen 49 | # - The permissions for the /backups and /media folders aren't fixed, so make sure they are 1000:1000 50 | # - The docker socket can't be accessed anymore 51 | user: root 52 | volumes: 53 | - ./backups:/backups 54 | - ./media:/media 55 | - ./certs:/certs 56 | - /var/run/docker.sock:/var/run/docker.sock 57 | - ./custom-templates:/templates 58 | - geoip:/geoip 59 | env_file: 60 | - .env 61 | geoipupdate: 62 | image: "maxmindinc/geoipupdate:latest" 63 | volumes: 64 | - "geoip:/usr/share/GeoIP" 65 | environment: 66 | GEOIPUPDATE_EDITION_IDS: "GeoLite2-City" 67 | GEOIPUPDATE_FREQUENCY: "8" 68 | env_file: 69 | - .env 70 | 71 | volumes: 72 | database: 73 | driver: local 74 | geoip: 75 | driver: local 76 | -------------------------------------------------------------------------------- /Template/Stack/autobrr.yml: -------------------------------------------------------------------------------- 1 | services: 2 | autobrr: 3 | container_name: autobrr 4 | image: ghcr.io/autobrr/autobrr:latest 5 | restart: unless-stopped 6 | #logging: 7 | # driver: json-file 8 | # options: 9 | # max-file: ${DOCKERLOGGING_MAXFILE} 10 | # max-size: ${DOCKERLOGGING_MAXSIZE} 11 | user: 1000:1000 12 | environment: 13 | - TZ=Europe/Athens 14 | volumes: 15 | - /portainer/Files/AppData/Config/autobrr/config:/config 16 | ports: 17 | - 7474:7474 18 | -------------------------------------------------------------------------------- /Template/Stack/baikal.yml: -------------------------------------------------------------------------------- 1 | services: 2 | baikal: 3 | image: ckulka/baikal:nginx 4 | restart: always 5 | ports: 6 | - "8220:80" 7 | volumes: 8 | - /portainer/Files/AppData/Config/baikal/config:/var/www/baikal/config 9 | - /portainer/Files/AppData/Config/baikal/data:/var/www/baikal/Specific 10 | 11 | volumes: 12 | config: 13 | data: 14 | -------------------------------------------------------------------------------- /Template/Stack/baserow.yml: -------------------------------------------------------------------------------- 1 | services: 2 | baserow: 3 | image: baserow/baserow:latest 4 | container_name: baserow 5 | environment: 6 | - TZ=Europe/Athens 7 | volumes: 8 | - /portainer/Files/AppData/Config/baserow:/baserow/data 9 | ports: 10 | - 280:80 #changed from default 80 11 | - 2443:443 12 | restart: unless-stopped 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /Template/Stack/bazarr.yml: -------------------------------------------------------------------------------- 1 | services: 2 | bazarr: 3 | image: lscr.io/linuxserver/bazarr:latest 4 | container_name: bazarr 5 | environment: 6 | - PUID=1000 7 | - PGID=1000 8 | - TZ=Europe/Athens 9 | volumes: 10 | - /portainer/Files/AppData/Config/bazarr/config:/config 11 | - /portainer/Movies:/movies #optional 12 | - /portainer/TV:/tv #optional 13 | ports: 14 | - 6767:6767 15 | restart: unless-stopped 16 | -------------------------------------------------------------------------------- /Template/Stack/beszel.yml: -------------------------------------------------------------------------------- 1 | services: 2 | beszel: 3 | image: 'henrygd/beszel' 4 | container_name: 'beszel' 5 | restart: unless-stopped 6 | ports: 7 | - '8090:8090' 8 | volumes: 9 | - /portainer/Files/AppData/Config/beszel:/beszel_data 10 | -------------------------------------------------------------------------------- /Template/Stack/blinko.yml: -------------------------------------------------------------------------------- 1 | networks: 2 | blinko-network: 3 | driver: bridge 4 | 5 | services: 6 | blinko-website: 7 | container_name: blinko-website 8 | build: 9 | context: . 10 | args: 11 | USE_MIRROR: "true" 12 | dockerfile: ./dockerfile 13 | environment: 14 | NODE_ENV: production 15 | NEXTAUTH_URL: http://localhost:1111 16 | NEXT_PUBLIC_BASE_URL: http://localhost:1111 17 | NEXTAUTH_SECRET: my_ultra_secure_nextauth_secret 18 | DATABASE_URL: postgresql://postgres:mysecretpassword@postgres:5432/postgres 19 | depends_on: 20 | blinko-postgres: 21 | condition: service_healthy 22 | restart: always 23 | ports: 24 | - 1111:1111 25 | healthcheck: 26 | test: ["CMD", "curl", "-f", "http://blinko-website:1111/"] 27 | interval: 30s 28 | timeout: 10s 29 | retries: 5 30 | start_period: 30s 31 | networks: 32 | - blinko-network 33 | 34 | blinko-postgres: 35 | image: postgres:14 36 | container_name: blinko-postgres 37 | restart: always 38 | ports: 39 | - 5432:5432 40 | environment: 41 | POSTGRES_DB: postgres 42 | POSTGRES_USER: postgres 43 | POSTGRES_PASSWORD: mysecretpassword 44 | healthcheck: 45 | test: 46 | ["CMD", "pg_isready", "-U", "postgres", "-d", "postgres"] 47 | interval: 5s 48 | timeout: 10s 49 | retries: 5 50 | networks: 51 | - blinko-network 52 | -------------------------------------------------------------------------------- /Template/Stack/bookstack.yml: -------------------------------------------------------------------------------- 1 | services: 2 | bookstack: 3 | image: linuxserver/bookstack 4 | container_name: bookstack 5 | environment: 6 | - PUID=${PUID} 7 | - PGID=${PGID} 8 | - DB_HOST=bookstack_db 9 | - DB_USER=bookstack 10 | - DB_PASS=${DATABASE_PASSWORD} 11 | - DB_DATABASE=bookstackapp 12 | volumes: 13 | - /portainer/Files/AppData/Config/Bookstack/Data:/config 14 | ports: 15 | - ${PORT}:80 16 | restart: unless-stopped 17 | depends_on: 18 | - bookstack_db 19 | bookstack_db: 20 | image: linuxserver/mariadb 21 | container_name: bookstack_db 22 | environment: 23 | - PUID=${PUID} 24 | - PGID=${PGID} 25 | - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD} 26 | - TZ=${TZ} 27 | - MYSQL_DATABASE=bookstackapp 28 | - MYSQL_USER=bookstack 29 | - MYSQL_PASSWORD=${DATABASE_PASSWORD} 30 | volumes: 31 | - /portainer/Files/AppData/Bookstack/DB:/config 32 | restart: unless-stopped 33 | -------------------------------------------------------------------------------- /Template/Stack/broadlink-manager.yml: -------------------------------------------------------------------------------- 1 | services: 2 | broadlinkmanager: 3 | image: techblog/broadlinkmanager 4 | network_mode: host 5 | container_name: broadlinkmanager 6 | restart: unless-stopped 7 | volumes: 8 | - /portainer/Files/AppData/Config/broadlinkmanager:/opt/broadlinkmanager/data 9 | 10 | -------------------------------------------------------------------------------- /Template/Stack/castopod.yml: -------------------------------------------------------------------------------- 1 | services: 2 | app: 3 | image: castopod/app:latest 4 | container_name: Castopod-APP 5 | volumes: 6 | - /portainer/Files/AppData/Config/castopod/app:/opt/castopod/public/media 7 | environment: 8 | MYSQL_DATABASE: castopod 9 | MYSQL_USER: castopod 10 | MYSQL_PASSWORD: changeme 11 | CP_BASEURL: https://castopod.me 12 | CP_ANALYTICS_SALT: changeme 13 | CP_CACHE_HANDLER: redis 14 | CP_REDIS_HOST: redis 15 | networks: 16 | - castopod-app 17 | - castopod-db 18 | restart: always 19 | 20 | web-server: 21 | image: castopod/web-server:latest 22 | container_name: Castopod-WEB-SERVER 23 | volumes: 24 | - /portainer/Files/AppData/Config/castopod/web:/var/www/html/media 25 | networks: 26 | - castopod-app 27 | ports: 28 | - 8848:80 29 | restart: unless-stopped 30 | 31 | mariadb: 32 | image: mariadb 33 | container_name: Castopod-DB 34 | networks: 35 | - castopod-db 36 | volumes: 37 | - /portainer/Files/AppData/Config/castopod/db:/var/lib/mysql 38 | user: 1026:100 39 | environment: 40 | MYSQL_ROOT_PASSWORD: changeme 41 | MYSQL_DATABASE: castopod 42 | MYSQL_USER: castopod 43 | MYSQL_PASSWORD: changeme 44 | restart: always 45 | 46 | redis: 47 | image: redis 48 | container_name: Castopod-REDIS 49 | volumes: 50 | - /portainer/Files/AppData/Config/castopod/redis:/data 51 | user: 1026:100 52 | networks: 53 | - castopod-app 54 | video-clipper: 55 | image: castopod/video-clipper:latest 56 | container_name: Castopod-VIDEO 57 | volumes: 58 | - /portainer/Files/AppData/Config/castopod/media:/opt/castopod/public/media 59 | environment: 60 | MYSQL_DATABASE: castopod 61 | MYSQL_USER: castopod 62 | MYSQL_PASSWORD: changeme 63 | networks: 64 | - castopod-db 65 | restart: always 66 | 67 | volumes: 68 | castopod-media: 69 | castopod-db: 70 | castopod-cache: 71 | 72 | networks: 73 | castopod-app: 74 | castopod-db: 75 | -------------------------------------------------------------------------------- /Template/Stack/checkmate.yml: -------------------------------------------------------------------------------- 1 | services: 2 | client: 3 | image: bluewaveuptime/uptime_client:latest 4 | restart: always 5 | environment: 6 | UPTIME_APP_API_BASE_URL: "http://localhost:5000/api/v1" 7 | ports: 8 | - "1180:80" 9 | - "11443:443" 10 | depends_on: 11 | - server 12 | server: 13 | image: bluewaveuptime/uptime_server:latest 14 | restart: always 15 | ports: 16 | - "5000:5000" 17 | depends_on: 18 | - redis 19 | - mongodb 20 | environment: 21 | - DB_CONNECTION_STRING=mongodb://mongodb:27017/uptime_db 22 | - REDIS_HOST=redis 23 | # volumes: 24 | # - /var/run/docker.sock:/var/run/docker.sock:ro 25 | redis: 26 | image: bluewaveuptime/uptime_redis:latest 27 | restart: always 28 | ports: 29 | - "6379:6379" 30 | volumes: 31 | - /portainer/Files/AppData/Config/checkmate/redis/data:/data 32 | healthcheck: 33 | test: ["CMD", "redis-cli", "ping"] 34 | interval: 30s 35 | timeout: 10s 36 | retries: 5 37 | start_period: 5s 38 | mongodb: 39 | image: bluewaveuptime/uptime_database_mongo:latest 40 | restart: always 41 | volumes: 42 | - /portainer/Files/AppData/Config/checkmate/mongo/data:/data/db 43 | command: ["mongod", "--quiet"] 44 | ports: 45 | - "27017:27017" 46 | -------------------------------------------------------------------------------- /Template/Stack/chibisafe.yml: -------------------------------------------------------------------------------- 1 | services: 2 | chibisafe: 3 | image: chibisafe/chibisafe:latest 4 | container_name: Chibisafe 5 | mem_limit: 8g 6 | cpu_shares: 2048 7 | security_opt: 8 | - no-new-privileges:true 9 | volumes: 10 | - /portainer/Files/AppData/Config/chibisafe/db:/home/node/chibisafe/database:rw 11 | - /portainer/Files/AppData/Config/chibisafe/uploads:/home/node/chibisafe/uploads:rw 12 | - /portainer/Files/AppData/Config/chibisafe/logs:/home/node/chibisafe/logs:rw 13 | ports: 14 | - 2425:8000 15 | restart: on-failure:5 16 | -------------------------------------------------------------------------------- /Template/Stack/chiefonboarding.yml: -------------------------------------------------------------------------------- 1 | services: 2 | cob-db: 3 | restart: always 4 | image: postgres:latest 5 | expose: 6 | - "5432" 7 | volumes: 8 | - /portainer/Files/AppData/Config/chiefonboarding/pgdata:/var/lib/postgresql/data/ 9 | environment: 10 | - POSTGRES_DB=postgres 11 | - POSTGRES_USER=postgres 12 | - POSTGRES_PASSWORD=postgres 13 | networks: 14 | - global 15 | 16 | cob-web: 17 | restart: always 18 | build: 19 | dockerfile: ./Dockerfile-dev 20 | context: ./back/ 21 | ports: 22 | - "127.0.0.1:8111:8000" 23 | environment: 24 | - DEBUG=True 25 | - SECRET_KEY=somethingsupersecret 26 | - BASE_URL=http://0.0.0.0:3111 27 | - DATABASE_URL=postgres://postgres:postgres@db:5432/postgres 28 | - DEFAULT_FROM_EMAIL=hello@chiefonboarding.com 29 | - ACCOUNT_EMAIL=admin@example.com 30 | - ACCOUNT_PASSWORD=admin 31 | volumes: 32 | - /portainer/Files/AppData/Config/chiefonboarding/back:/app 33 | depends_on: 34 | - cob-db 35 | networks: 36 | - global 37 | 38 | volumes: 39 | pgdata: 40 | 41 | networks: 42 | global: 43 | -------------------------------------------------------------------------------- /Template/Stack/codex.yml: -------------------------------------------------------------------------------- 1 | services: 2 | codex: 3 | image: docker.io/ajslater/codex 4 | container_name: codex 5 | volumes: 6 | - /portainer/Files/AppData/Config/codex:/config 7 | - /portainer/comics:/comics:ro 8 | ports: 9 | - 9810:9810 10 | restart: on-failure 11 | -------------------------------------------------------------------------------- /Template/Stack/dashdot.yml: -------------------------------------------------------------------------------- 1 | services: 2 | dash: 3 | image: mauricenino/dashdot:latest 4 | restart: unless-stopped 5 | privileged: true 6 | ports: 7 | - '9980:3001' 8 | volumes: 9 | - /portainer/Files/AppData/Config/dashdot/:/mnt/host:ro 10 | environment: 11 | DASHDOT_ENABLE_CPU_TEMPS: 'true' 12 | DASHDOT_ALWAYS_SHOW_PERCENTAGES: 'true' 13 | DASHDOT_WIDGET_LIST: 'os,cpu,storage,ram,network' 14 | DASHDOT_OS_LABEL_LIST: 'os,arch,up_since' 15 | DASHDOT_CPU_LABEL_LIST: 'brand,model,cores,threads,frequency' 16 | DASHDOT_STORAGE_LABEL_LIST: 'brand,size,type' 17 | DASHDOT_RAM_LABEL_LIST: 'brand,size,type,frequency' 18 | DASHDOT_NETWORK_LABEL_LIST: 'type,speed_up,speed_down,interface_speed' 19 | DASHDOT_GPU_LABEL_LIST: 'brand, model, memory' 20 | 21 | -------------------------------------------------------------------------------- /Template/Stack/dashy.yml: -------------------------------------------------------------------------------- 1 | services: 2 | dashy: 3 | # To build from source, replace 'image: lissy93/dashy' with 'build: .' 4 | # build: . 5 | image: lissy93/dashy 6 | container_name: Dashy 7 | # Pass in your config file below, by specifying the path on your host machine 8 | volumes: 9 | - /portainer/Files/AppData/Config/Dashy/conf.yml:/app/public/conf.yml 10 | - /portainer/Files/AppData/Config/Dashy/icons:/app/public/item-icons 11 | ports: 12 | - 4000:80 13 | # Set any environmental variables 14 | environment: 15 | - NODE_ENV=production 16 | # Specify your user ID and group ID. You can find this by running `id -u` and `id -g` 17 | - UID=1000 18 | - GID=1000 19 | # Specify restart policy 20 | restart: always 21 | # Configure healthchecks 22 | healthcheck: 23 | test: ['CMD', 'node', '/app/services/healthcheck'] 24 | interval: 1m30s 25 | timeout: 10s 26 | retries: 3 27 | start_period: 40s 28 | -------------------------------------------------------------------------------- /Template/Stack/docker-container-stats.yml: -------------------------------------------------------------------------------- 1 | services: 2 | stats: 3 | image: virtualzone/docker-container-stats 4 | container_name: docker-stats 5 | ports: 6 | - 8383:8080 7 | environment: 8 | STATS_UPDATE_INTERVAL: 10 9 | volumes: 10 | - /var/run/docker.sock:/var/run/docker.sock:ro 11 | - /portainer/Files/AppData/Config/docker-stats/db:/opt/docker-stats/db 12 | -------------------------------------------------------------------------------- /Template/Stack/dockge.yml: -------------------------------------------------------------------------------- 1 | services: 2 | dockge: 3 | image: louislam/dockge:1 4 | restart: unless-stopped 5 | ports: 6 | # Host Port : Container Port 7 | - 5001:5001 8 | volumes: 9 | - /var/run/docker.sock:/var/run/docker.sock 10 | - /portainer/Files/AppData/Config/dockge/data:/app/data 11 | - /portainer/Files/AppData/Config/dockge/stacks:/opt/stacks 12 | # If you want to use private registries, you need to share the auth file with Dockge: 13 | # - /root/.docker/:/root/.docker 14 | 15 | environment: 16 | # Tell Dockge where is your stacks directory 17 | - DOCKGE_STACKS_DIR=/portainer/Files/AppData/Config/dockge/stacks 18 | -------------------------------------------------------------------------------- /Template/Stack/documize.yml: -------------------------------------------------------------------------------- 1 | services: 2 | documize-db: 3 | image: postgres:12 4 | restart: always 5 | ports: 6 | - 5432:5432 7 | environment: 8 | POSTGRES_USER: documize 9 | POSTGRES_PASSWORD: hsk3Acndky8cdTNx3 10 | POSTGRES_DB: documize 11 | volumes: 12 | - /portainer/Files/AppData/Config/documize/db-data:/var/lib/postgresql/data 13 | networks: 14 | - documizenet 15 | 16 | documize-app: 17 | image: debian:latest 18 | command: /bin/sh -c "apt-get -qq update && apt-get -qq install -y wget && wget https://community-downloads.s3.us-east-2.amazonaws.com/documize-community-plus-linux-amd64 && chmod 777 ./documize-community-plus-linux-amd64 && ./documize-community-plus-linux-amd64" 19 | depends_on: 20 | - documize-db 21 | ports: 22 | - 5001:5001 23 | environment: 24 | DOCUMIZEPORT: 5001 25 | DOCUMIZEDB: host=db port=5432 dbname=documize user=documize password=Passw0rd sslmode=disable 26 | DOCUMIZEDBTYPE: postgresql 27 | DOCUMIZESALT: hsk3Acndky8cdTNx3 28 | DOCUMIZELOCATION: selfhost 29 | networks: 30 | - documizenet 31 | 32 | networks: 33 | documizenet: 34 | -------------------------------------------------------------------------------- /Template/Stack/dokemon.yml: -------------------------------------------------------------------------------- 1 | services: 2 | dokemon: 3 | image: productiveops/dokemon:latest 4 | container_name: dokemon 5 | restart: unless-stopped 6 | ports: 7 | - 9090:9090 8 | volumes: 9 | - /var/run/docker.sock:/var/run/docker.sock 10 | - /portainer/Files/AppData/Config/dokemon/data:/data 11 | -------------------------------------------------------------------------------- /Template/Stack/drawio.yml: -------------------------------------------------------------------------------- 1 | #This compose file adds draw.io to your stack 2 | services: 3 | drawio: 4 | image: fjudith/draw.io 5 | container_name: drawio 6 | restart: unless-stopped 7 | ports: 8 | - 28181:8080 9 | - 28443:8443 10 | environment: 11 | PUBLIC_DNS: domain 12 | ORGANISATION_UNIT: unit 13 | ORGANISATION: org 14 | CITY: Athens 15 | STATE: Attica 16 | COUNTRY_CODE: Greece 17 | DRAWIO_GITLAB_URL: http://mygitlab.net 18 | DRAWIO_GITLAB_ID: change_to_your_app_id 19 | -------------------------------------------------------------------------------- /Template/Stack/excalidraw.yml: -------------------------------------------------------------------------------- 1 | services: 2 | excalidraw: 3 | build: 4 | context: . 5 | args: 6 | - NODE_ENV=development 7 | container_name: excalidraw 8 | ports: 9 | - "3111:80" 10 | restart: on-failure 11 | stdin_open: true 12 | healthcheck: 13 | disable: true 14 | environment: 15 | - NODE_ENV=development 16 | volumes: 17 | - /portainer/Files/AppData/Config/excalidraw/:/opt/node_app/app:delegated 18 | - /portainer/Files/AppData/Config/excalidraw/package.json:/opt/node_app/package.json 19 | - /portainer/Files/AppData/Config/excalidraw/yarn.lock:/opt/node_app/yarn.lock 20 | - /portainer/Files/AppData/Config/excalidraw/notused:/opt/node_app/app/node_modules 21 | -------------------------------------------------------------------------------- /Template/Stack/facebox.yml: -------------------------------------------------------------------------------- 1 | services: 2 | facebox: 3 | image: machinebox/facebox 4 | container_name: facebox 5 | restart: unless-stopped 6 | ports: 7 | - 1080:8080 8 | environment: 9 | - MB_KEY=${MB_KEY} 10 | - MB_FACEBOX_DISABLE_RECOGNITION=false 11 | -------------------------------------------------------------------------------- /Template/Stack/feedcord.yml: -------------------------------------------------------------------------------- 1 | services: 2 | myfeedcord: 3 | image: qolors/feedcord:latest 4 | container_name: FeedCord 5 | restart: unless-stopped 6 | volumes: 7 | - /portainer/Files/AppData/Config/feedcord/appsettings.json:/app/config/appsettings.json 8 | -------------------------------------------------------------------------------- /Template/Stack/fenrus.yml: -------------------------------------------------------------------------------- 1 | services: 2 | fenrus: 3 | image: revenz/fenrus 4 | container_name: fenrus 5 | environment: 6 | - TZ=Europe/Athens 7 | volumes: 8 | - /portainer/Files/AppData/Config/fenrus/data:/app/data 9 | - /portainer/Files/AppData/Config/fenrus/images:/app/wwwroot/images 10 | ports: 11 | - 3003:3000 12 | restart: unless-stopped 13 | -------------------------------------------------------------------------------- /Template/Stack/ferdiserver.yml: -------------------------------------------------------------------------------- 1 | services: 2 | ferdi-server: 3 | image: getferdi/ferdi-server 4 | container_name: ferdi-server 5 | environment: 6 | - NODE_ENV=development 7 | - EXTERNAL_DOMAIN=localhost 8 | - DB_CONNECTION=sqlite 9 | - DB_HOST=127.0.0.1 10 | - DB_PORT=3306 11 | - DB_USER=root 12 | - DB_PASSWORD=password 13 | - DB_DATABASE=ferdi 14 | - DB_SSL=false 15 | - MAIL_CONNECTION=smtp 16 | - SMPT_HOST=127.0.0.1 17 | - SMTP_PORT=2525 18 | - MAIL_SSL=false 19 | - MAIL_USERNAME=username 20 | - MAIL_PASSWORD=password 21 | - MAIL_SENDER=noreply@getferdi.com 22 | - IS_CREATION_ENABLED=true 23 | - IS_DASHBOARD_ENABLED=true 24 | - IS_REGISTRATION_ENABLED=true 25 | - CONNECT_WITH_FRANZ=false 26 | - DATA_DIR=/data 27 | - PUID=1000 28 | - PGID=1000 29 | volumes: 30 | - ferdi-database-vol:/data 31 | - ferdi-recipes-vol:/app/recipes 32 | ports: 33 | - 3333:3333 34 | restart: unless-stopped 35 | volumes: 36 | ferdi-database-vol: 37 | ferdi-recipes-vol: 38 | -------------------------------------------------------------------------------- /Template/Stack/ferdium.yml: -------------------------------------------------------------------------------- 1 | services: 2 | ferdi-server: 3 | image: ferdium/ferdium-server:latest 4 | container_name: ferdium-server 5 | environment: 6 | - NODE_ENV=development 7 | - EXTERNAL_DOMAIN=localhost 8 | - DB_CONNECTION=sqlite 9 | - DB_HOST=127.0.0.1 10 | - DB_PORT=3306 11 | - DB_USER=root 12 | - DB_PASSWORD=password 13 | - DB_DATABASE=ferdi 14 | - DB_SSL=false 15 | - MAIL_CONNECTION=smtp 16 | - SMPT_HOST=127.0.0.1 17 | - SMTP_PORT=2525 18 | - MAIL_SSL=false 19 | - MAIL_USERNAME=username 20 | - MAIL_PASSWORD=password 21 | - MAIL_SENDER=noreply@getferdi.com 22 | - IS_CREATION_ENABLED=true 23 | - IS_DASHBOARD_ENABLED=true 24 | - IS_REGISTRATION_ENABLED=true 25 | - CONNECT_WITH_FRANZ=true 26 | - DATA_DIR=/data 27 | - PUID=1000 28 | - PGID=1000 29 | volumes: 30 | - /portainer/Files/AppData/Config/ferdium:/data 31 | - /portainer/Files/AppData/Config/ferdium/recipes:/app/recipes 32 | ports: 33 | - 3334:3333 34 | restart: always 35 | -------------------------------------------------------------------------------- /Template/Stack/filepizza.yml: -------------------------------------------------------------------------------- 1 | services: 2 | filepizza: 3 | image: kern/filepizza:latest 4 | restart: always 5 | build: 6 | context: . 7 | ports: 8 | - 3333:3333 9 | environment: 10 | - PORT=3333 11 | - EXTRA_ICE_SERVERS=turn:localhost:3478 12 | - WEBTORRENT_TRACKERS=ws://localhost:28000 13 | coturn: 14 | image: instrumentisto/coturn:latest 15 | network_mode: host 16 | ports: 17 | - 3478:3478 18 | bittorrent-tracker: 19 | image: henkel/bittorrent-tracker:latest 20 | command: ["npx", "bittorrent-tracker", "--http-hostname", "0.0.0.0", "--ws"] 21 | ports: 22 | - 28000:8000 23 | -------------------------------------------------------------------------------- /Template/Stack/filestash.yml: -------------------------------------------------------------------------------- 1 | services: 2 | filestash: 3 | container_name: filestash 4 | image: machines/filestash 5 | restart: always 6 | environment: 7 | - APPLICATION_URL= 8 | - GDRIVE_CLIENT_ID= 9 | - GDRIVE_CLIENT_SECRET= 10 | - DROPBOX_CLIENT_ID= 11 | - ONLYOFFICE_URL=http://onlyoffice 12 | ports: 13 | - "8334:8334" 14 | onlyoffice: 15 | container_name: filestash_oods 16 | image: onlyoffice/documentserver 17 | restart: always 18 | security_opt: 19 | - seccomp:unconfined 20 | -------------------------------------------------------------------------------- /Template/Stack/firefox.yml: -------------------------------------------------------------------------------- 1 | volumes: 2 | firefox: 3 | 4 | services: 5 | firefox: 6 | image: ghcr.io/linuxserver/firefox 7 | container_name: firefox 8 | environment: 9 | - PUID=1026 #change this to for your settings 10 | - PGID=100 #change this to for your settings 11 | - TZ=Europe/Athens #change this to for your location 12 | volumes: 13 | - /portainer/Files/AppData/Config/firefox:/config 14 | ports: 15 | - 3456:3000 16 | shm_size: "1gb" 17 | restart: unless-stopped 18 | -------------------------------------------------------------------------------- /Template/Stack/fireshare.yml: -------------------------------------------------------------------------------- 1 | services: 2 | fireshare: 3 | container_name: fireshare 4 | image: shaneisrael/fireshare:latest 5 | restart: unless-stopped 6 | ports: 7 | - "8888:80" 8 | volumes: 9 | - /portainer/Files/AppData/Config/fireshare/data:/data 10 | - /portainer/Files/AppData/Config/fireshare/processed:/processed 11 | - /portainer/Files/AppData/Config/fireshare/videos:/videos 12 | environment: 13 | - ADMIN_USERNAME=fireadmin 14 | - ADMIN_PASSWORD=firepwd #please change this 15 | - SECRET_KEY=replace_this_with_some_random_string0x0 16 | - MINUTES_BETWEEN_VIDEO_SCANS=1 #how often should the system scan? 17 | - PUID=998 #change this to match your server settings 18 | - PGID=100 #change this to match your server settings 19 | -------------------------------------------------------------------------------- /Template/Stack/flood.yml: -------------------------------------------------------------------------------- 1 | services: 2 | qflood: 3 | container_name: qflood 4 | image: hotio/qflood 5 | restart: always 6 | ports: 7 | - "8282:8080" 8 | - "3223:3000" 9 | environment: 10 | - PUID=1000 11 | - PGID=1000 12 | - UMASK=002 13 | - TZ=Europe/Athens 14 | - FLOOD_AUTH=false 15 | volumes: 16 | - /portainer/Files/AppData/Config/flood:/config 17 | -------------------------------------------------------------------------------- /Template/Stack/flowiseai.yml: -------------------------------------------------------------------------------- 1 | services: 2 | flowise-db: 3 | image: postgres 4 | container_name: FlowiseAI-DB 5 | hostname: flowise-db 6 | mem_limit: 1g 7 | cpu_shares: 768 8 | security_opt: 9 | - no-new-privileges:true 10 | healthcheck: 11 | test: ["CMD", "pg_isready", "-q", "-d", "flowise", "-U", "flowiseuser"] 12 | timeout: 45s 13 | interval: 10s 14 | retries: 10 15 | volumes: 16 | - /portainer/Files/AppData/Config/flowiseai/db:/var/lib/postgresql/data:rw 17 | environment: 18 | POSTGRES_DB: flowise 19 | POSTGRES_USER: flowiseuser 20 | POSTGRES_PASSWORD: flowisepass 21 | restart: on-failure 22 | 23 | flowise: 24 | image: flowiseai/flowise:latest 25 | command: /bin/sh -c "sleep 3; flowise start" 26 | container_name: FlowiseAI 27 | hostname: flowise 28 | mem_limit: 4g 29 | cpu_shares: 768 30 | security_opt: 31 | - no-new-privileges:true 32 | healthcheck: 33 | test: wget --no-verbose --tries=1 --spider http://localhost:3000 34 | ports: 35 | - 8459:3000 36 | volumes: 37 | - /portainer/Files/AppData/Config/data:/root/.flowise:rw 38 | environment: 39 | DEBUG: false 40 | PORT: 3000 41 | FLOWISE_USERNAME: xneo1 42 | FLOWISE_PASSWORD: xneo1portainer 43 | DATABASE_PATH: /root/.flowise 44 | APIKEY_PATH: /root/.flowise 45 | SECRETKEY_PATH: /root/.flowise 46 | LOG_LEVEL: info 47 | LOG_PATH: /root/.flowise/logs 48 | DATABASE_TYPE: postgres 49 | DATABASE_PORT: 5432 50 | DATABASE_HOST: flowise-db 51 | DATABASE_NAME: flowise 52 | DATABASE_USER: flowiseuser 53 | DATABASE_PASSWORD: flowisepass 54 | restart: on-failure 55 | depends_on: 56 | flowise-db: 57 | condition: service_healthy 58 | -------------------------------------------------------------------------------- /Template/Stack/freeboard.yml: -------------------------------------------------------------------------------- 1 | services: 2 | nginx: 3 | image: nginx:1.13 4 | ports: 5 | - "8003:80" 6 | volumes_from: 7 | - freeboard:ro 8 | freeboard: 9 | image: freeboard 10 | build: . 11 | -------------------------------------------------------------------------------- /Template/Stack/freescout.yml: -------------------------------------------------------------------------------- 1 | services: 2 | freescout-db: 3 | image: mariadb 4 | container_name: Freescout-DB 5 | hostname: freescout-db 6 | mem_limit: 1g 7 | cpu_shares: 768 8 | security_opt: 9 | - no-new-privileges:true 10 | healthcheck: 11 | test: ["CMD-SHELL", "mysqladmin ping -P 3306 -prootpass | grep 'mysqld is alive' || exit 1"] 12 | volumes: 13 | - /portainer/Files/AppData/Config/freescout/db:/var/lib/mysql:rw 14 | environment: 15 | MYSQL_ROOT_PASSWORD: rootpass 16 | MYSQL_USER: freescoutuser 17 | MYSQL_PASSWORD: freescoutpass 18 | MYSQL_DATABASE: freescout 19 | restart: on-failure:5 20 | 21 | freescout: 22 | image: tiredofit/freescout:latest 23 | container_name: Freescout 24 | hostname: freescout 25 | mem_limit: 1g 26 | cpu_shares: 768 27 | security_opt: 28 | - no-new-privileges:true 29 | healthcheck: 30 | test: curl -f http://localhost:80/ || exit 1 31 | ports: 32 | - 5135:80 33 | volumes: 34 | - /portainer/Files/AppData/Config/freescout/data:/data:rw 35 | - /portainer/Files/AppData/Config/freescout/logs/:/www/logs:rw 36 | environment: 37 | ADMIN_EMAIL: yourownemail 38 | ADMIN_PASS: mariushosting 39 | SITE_URL: https://freescout.yourdomain.com 40 | ENABLE_SSL_PROXY: true 41 | DB_HOST: freescout-db 42 | DB_NAME: freescout 43 | DB_USER: freescoutuser 44 | DB_PASS: freescoutpass 45 | restart: on-failure:5 46 | depends_on: 47 | freescout-db: 48 | condition: service_healthy 49 | -------------------------------------------------------------------------------- /Template/Stack/frigatenvr.yml: -------------------------------------------------------------------------------- 1 | services: 2 | dev: 3 | container_name: frigate-dev 4 | user: vscode 5 | privileged: true 6 | shm_size: "256mb" 7 | build: 8 | context: . 9 | dockerfile: docker/Dockerfile.dev 10 | volumes: 11 | - /etc/localtime:/etc/localtime:ro 12 | - .:/lab/frigate:cached 13 | - /portainer/Files/AppData/Config/frigatenvr/config.yml:/config/config.yml:ro 14 | - ./debug:/media/frigate 15 | - /dev/bus/usb:/dev/bus/usb 16 | - /dev/dri:/dev/dri # for intel hwaccel, needs to be updated for your hardware 17 | ports: 18 | - "1935:1935" 19 | - "5000:5000" 20 | - "5001:5001" 21 | - "8080:8080" 22 | entrypoint: ["sudo", "/init"] 23 | command: /bin/sh -c "while sleep 1000; do :; done" 24 | mqtt: 25 | container_name: mqtt 26 | image: eclipse-mosquitto:1.6 27 | ports: 28 | - "1883:1883" 29 | -------------------------------------------------------------------------------- /Template/Stack/funkwhale.yml: -------------------------------------------------------------------------------- 1 | services: 2 | funkwhale: 3 | container_name: funkwhale 4 | restart: unless-stopped 5 | # change version number here when you want to do an upgrade 6 | image: funkwhale/all-in-one:1.2.10 7 | environment: 8 | - PUID=1000 9 | - PGID=1000 10 | # Replace 'your.funkwhale.example' with your actual domain 11 | - FUNKWHALE_HOSTNAME=your.funkwhale.example 12 | # Protocol may also be: http 13 | - FUNKWHALE_PROTOCOL=https 14 | # This limits the upload size 15 | - NGINX_MAX_BODY_SIZE=100M 16 | # Bind to localhost 17 | - FUNKWHALE_API_IP=127.0.0.1 18 | # Container port you want to expose on the host 19 | - FUNKWHALE_API_PORT=5500 20 | # Generate and store a secure secret key for your instance 21 | - DJANGO_SECRET_KEY=$(openssl rand -hex 45) 22 | # Remove this if you expose the container directly on ports 80/443 23 | - NESTED_PROXY=1 24 | volumes: 25 | - /portainer/Files/AppData/Config/funkwhale/data:/data 26 | - /portainer/multimedia/music/dir:/music:ro 27 | ports: 28 | - "5000:80" 29 | -------------------------------------------------------------------------------- /Template/Stack/fusion.yml: -------------------------------------------------------------------------------- 1 | services: 2 | fusion: 3 | ports: 4 | - 8980:8080 5 | volumes: 6 | - /portainer/Files/AppData/Config/fusion:/data 7 | environment: 8 | - PASSWORD=changeme 9 | image: rook1e404/fusion 10 | -------------------------------------------------------------------------------- /Template/Stack/gathio.yml: -------------------------------------------------------------------------------- 1 | services: 2 | gathio: 3 | build: . 4 | links: 5 | - mongo 6 | ports: 7 | - 3022:3000 8 | mongo: 9 | image: mongo:latest 10 | volumes: 11 | - /portainer/Files/AppData/Config/gathio/mongodb_data_db:/data/db 12 | -------------------------------------------------------------------------------- /Template/Stack/ghost.yml: -------------------------------------------------------------------------------- 1 | services: 2 | 3 | ghost: 4 | image: ghost:latest 5 | restart: always 6 | depends_on: 7 | - ghost-db 8 | ports: 9 | - 8080:2368 10 | environment: 11 | # see https://ghost.org/docs/config/#configuration-options 12 | database__client: mysql 13 | database__connection__host: ghost-db 14 | database__connection__user: root 15 | database__connection__password: example 16 | database__connection__database: ghost 17 | # this url value is just an example, and is likely wrong for your environment! 18 | url: http://localhost:8080 19 | #NODE_ENV: development 20 | volumes: 21 | - /portainer/Files/AppData/Config/ghost:/var/lib/ghost/content 22 | 23 | ghost-db: 24 | image: mysql:8.0 25 | restart: always 26 | environment: 27 | MYSQL_ROOT_PASSWORD: example 28 | -------------------------------------------------------------------------------- /Template/Stack/ghostfolio.yml: -------------------------------------------------------------------------------- 1 | services: 2 | ghostfolio: 3 | image: ghostfolio/ghostfolio:latest 4 | environment: 5 | DATABASE_URL: postgresql://user:postgrespwd@postgres:5432/ghostfolio-db?sslmode=prefer 6 | REDIS_HOST: 'redis' 7 | REDIS_PASSWORD: ${REDIS_PASSWORD} 8 | ACCESS_TOKEN_SALT: bvnbvnbcdfbdrf 9 | ALPHA_VANTAGE_API_KEY: 10 | JWT_SECRET_KEY: szvbt45rtfsg5rtgf 11 | ports: 12 | - 3443:3333 13 | postgres: 14 | image: postgres:12 15 | environment: 16 | POSTGRES_DB: ghostfolio-db 17 | POSTGRES_USER: user 18 | POSTGRES_PASSWORD: postgrespwd 19 | volumes: 20 | - postgres:/var/lib/postgresql/data 21 | 22 | redis: 23 | image: 'redis:alpine' 24 | environment: 25 | REDIS_HOST: 127.0.0.1 26 | REDIS_PORT: 6379 27 | REDIS_PASSWORD: redispwd 28 | 29 | volumes: 30 | postgres: 31 | -------------------------------------------------------------------------------- /Template/Stack/gitlab.yml: -------------------------------------------------------------------------------- 1 | services: 2 | gitlab: 3 | image: gitlab/gitlab-ce:latest 4 | hostname: ${DOMAIN} 5 | ports: 6 | - "${GITLABSSHPORT}:22" 7 | - "${GITLABPORT80}:80" 8 | - "${GITLABPORT443}:443" 9 | volumes: 10 | - "${APPDATA}/gitlab/data:/var/opt/gitlab" 11 | - "${APPDATA}/gitlab/logs:/var/log/gitlab" 12 | - "${APPDATA}/gitlab/config:/etc/gitlab" 13 | restart: unless-stopped 14 | gitlab-runner: 15 | image: gitlab/gitlab-runner:alpine 16 | volumes: 17 | - "${APPDATA}/gitlab/config-runner:/etc/gitlab-runner" 18 | - "/var/run/docker.sock:/var/run/docker.sock" 19 | restart: unless-stopped 20 | -------------------------------------------------------------------------------- /Template/Stack/glances.yml: -------------------------------------------------------------------------------- 1 | services: 2 | glances-monitoring: 3 | image: nicolargo/glances:latest-alpine 4 | restart: always 5 | pid: host 6 | volumes: 7 | - /var/run/docker.sock:/var/run/docker.sock 8 | environment: 9 | - "GLANCES_OPT=-w" 10 | -------------------------------------------------------------------------------- /Template/Stack/goaccessnpm.yml: -------------------------------------------------------------------------------- 1 | services: 2 | goaccessnpm: 3 | image: xavierh/goaccess-for-nginxproxymanager:latest 4 | container_name: goaccessnpm 5 | environment: 6 | - PUID=1000 7 | - PGID=1000 8 | - TZ=Europe/Athens 9 | - SKIP_ARCHIVED_LOGS=False #optional 10 | - BASIC_AUTH=False #optional 11 | - BASIC_AUTH_USERNAME=user #optional 12 | - BASIC_AUTH_PASSWORD=pass #optional 13 | volumes: 14 | - /portainer/Files/AppData/Config/Nginx-Proxy/data/logs:/opt/log 15 | ports: 16 | - 7880:7880 17 | restart: always 18 | -------------------------------------------------------------------------------- /Template/Stack/gokapi.yml: -------------------------------------------------------------------------------- 1 | services: 2 | gokapi: 3 | container_name: Gokapi 4 | image: f0rc3/gokapi:latest 5 | ports: 6 | - 53842:53842 7 | volumes: 8 | - /portainer/Files/AppData/Config/gokapi/data:/app/data 9 | - /portainer/Files/AppData/Config/gokapi/config:/app/config 10 | restart: on-failure:5 11 | -------------------------------------------------------------------------------- /Template/Stack/grafana.yml: -------------------------------------------------------------------------------- 1 | services: 2 | grafana: 3 | image: grafana/grafana:latest 4 | ports: 5 | - 3023:3000 ##changed from 3000 to 3023 to decrease possibility of conflict on a system that 3000 is already occupied 6 | restart: unless-stopped 7 | volumes: 8 | - /portainer/Files/AppData/Config/grafana:/var/lib/grafana 9 | user: "0" 10 | ##With this one we install Latest Grafana which in December 13th 2022 is 9.3.1 11 | -------------------------------------------------------------------------------- /Template/Stack/grocy.yml: -------------------------------------------------------------------------------- 1 | services: 2 | grocy: 3 | image: lscr.io/linuxserver/grocy:latest 4 | container_name: grocy 5 | environment: 6 | PUID: 1000 7 | PGID: 1000 8 | TZ: 'Europe/Athens' 9 | volumes: 10 | - /portainer/Files/AppData/Config/Grocy:/config 11 | ports: 12 | - 9283:80 13 | restart: unless-stopped 14 | -------------------------------------------------------------------------------- /Template/Stack/hasty-paste.yml: -------------------------------------------------------------------------------- 1 | services: 2 | paste-bin: 3 | container_name: hasty-paste 4 | image: ghcr.io/enchant97/hasty-paste:latest 5 | restart: unless-stopped 6 | volumes: 7 | - portainer/Files/AppData/Config/hasty-paste:/app/data 8 | ports: 9 | - 98000:8000 10 | 11 | volumes: 12 | data: 13 | -------------------------------------------------------------------------------- /Template/Stack/hauk.yml: -------------------------------------------------------------------------------- 1 | services: 2 | hauk: 3 | image: bilde2910/hauk:latest 4 | container_name: Hauk 5 | hostname: hauk 6 | healthcheck: 7 | test: curl -f http://localhost:80/ || exit 1 8 | ports: 9 | - 7735:80 10 | volumes: 11 | - /portainer/Files/AppData/Config/hauk:/etc/hauk:rw 12 | restart: on-failure 13 | -------------------------------------------------------------------------------- /Template/Stack/hoarder.yml: -------------------------------------------------------------------------------- 1 | services: 2 | hoarder-web: 3 | image: ghcr.io/hoarder-app/hoarder-web:latest 4 | restart: unless-stopped 5 | volumes: 6 | - /portainer/Files/AppData/Config/hoarder/data:/data 7 | ports: 8 | - 3088:3000 9 | environment: 10 | REDIS_HOST: redis 11 | MEILI_ADDR: http://meilisearch:7700 12 | DATA_DIR: /data 13 | HOARDER_VERSION: latest 14 | NEXTAUTH_SECRET: qxo0NvLCphGhkAu5fBcS1B0MxCeoig8G 15 | NEXTAUTH_URL: http://localhost:3088 16 | MEILI_MASTER_KEY: aqxYm5UWCphGhkAu5fBcSJAPbSzeoiC2X 17 | hoarder-redis: 18 | image: redis:7.2-alpine 19 | restart: unless-stopped 20 | volumes: 21 | - /portainer/Files/AppData/Config/hoarder/redis:/data 22 | hoarder-chrome: 23 | image: gcr.io/zenika-hub/alpine-chrome:123 24 | restart: unless-stopped 25 | command: 26 | - --no-sandbox 27 | - --disable-gpu 28 | - --disable-dev-shm-usage 29 | - --remote-debugging-address=0.0.0.0 30 | - --remote-debugging-port=9222 31 | - --hide-scrollbars 32 | hoarder-meilisearch: 33 | image: getmeili/meilisearch:v1.6 34 | restart: unless-stopped 35 | environment: 36 | MEILI_NO_ANALYTICS: "true" 37 | HOARDER_VERSION: latest 38 | NEXTAUTH_SECRET: qxo0NvLCphGhkAu5fBcS1B0MxCeoig8G 39 | NEXTAUTH_URL: http://localhost:3088 40 | MEILI_MASTER_KEY: aqxYm5UWCphGhkAu5fBcSJAPbSzeoiC2X 41 | volumes: 42 | - /portainer/Files/AppData/Config/hoarder/meilisearch:/meili_data 43 | hoarder-workers: 44 | image: ghcr.io/hoarder-app/hoarder-workers:latest 45 | restart: unless-stopped 46 | volumes: 47 | - /portainer/Files/AppData/Config/hoarder/data:/data 48 | environment: 49 | REDIS_HOST: redis 50 | MEILI_ADDR: http://meilisearch:7700 51 | BROWSER_WEB_URL: http://chrome:9222 52 | DATA_DIR: /data 53 | HOARDER_VERSION: latest 54 | NEXTAUTH_SECRET: qxo0NvLCphGhkAu5fBcS1B0MxCeoig8G 55 | NEXTAUTH_URL: http://localhost:3088 56 | MEILI_MASTER_KEY: aqxYm5UWCphGhkAu5fBcSJAPbSzeoiC2X 57 | # OPENAI_API_KEY: ... 58 | depends_on: 59 | hoarder-web: 60 | condition: service_started 61 | 62 | volumes: 63 | redis: 64 | meilisearch: 65 | data: 66 | -------------------------------------------------------------------------------- /Template/Stack/homarr.yml: -------------------------------------------------------------------------------- 1 | services: 2 | homarr: 3 | container_name: homarr 4 | image: ghcr.io/ajnart/homarr:latest 5 | restart: unless-stopped 6 | environment: 7 | - TZ=Europe/Athens 8 | - DEFAULT_COLOR_SCHEME=dark 9 | volumes: 10 | - /portainer/Files/AppData/Config/homarr/configs:/app/data/configs 11 | - /portainer/Files/AppData/Config/homarr/icons:/app/public/icons 12 | - /var/run/docker.sock:/var/run/docker.sock 13 | ports: 14 | - 7575:7575 15 | -------------------------------------------------------------------------------- /Template/Stack/homebridge.yaml: -------------------------------------------------------------------------------- 1 | services: 2 | homebridge: 3 | image: oznu/homebridge:ubuntu 4 | restart: always 5 | network_mode: host 6 | environment: 7 | - PGID=1000 8 | - PUID=1000 9 | - HOMEBRIDGE_CONFIG_UI=1 10 | - HOMEBRIDGE_CONFIG_UI_PORT=8581 11 | - TZ=Europe/Athens 12 | volumes: 13 | - /portainer/Files/AppData/Config/homebridge:/homebridge 14 | -------------------------------------------------------------------------------- /Template/Stack/homechart.yml: -------------------------------------------------------------------------------- 1 | volumes: 2 | postgres: {} 3 | 4 | services: 5 | homechart: 6 | container_name: homechart 7 | depends_on: 8 | - postgres 9 | environment: 10 | HOMECHART_POSTGRESQL_HOSTNAME: postgres 11 | HOMECHART_POSTGRESQL_PASSWORD: postgres 12 | HOMECHART_POSTGRESQL_USERNAME: postgres 13 | image: ghcr.io/candiddev/homechart:latest 14 | ports: 15 | - "3030:3000" 16 | restart: always 17 | postgres: 18 | environment: 19 | POSTGRES_PASSWORD: postgres 20 | image: postgres:14 21 | restart: always 22 | volumes: 23 | - /portainer/Files/AppData/Config/postgres:/var/lib/postgresql/data 24 | -------------------------------------------------------------------------------- /Template/Stack/homepage.yml: -------------------------------------------------------------------------------- 1 | services: 2 | homepage: 3 | image: ghcr.io/benphelps/homepage:latest 4 | container_name: homepage 5 | ports: 6 | - 6006:3000 7 | volumes: 8 | - /portainer/Files/AppData/Config/homepage:/app/config 9 | - /var/run/docker.sock:/var/run/docker.sock 10 | -------------------------------------------------------------------------------- /Template/Stack/ihatemoney.yml: -------------------------------------------------------------------------------- 1 | services: 2 | ihatemoney: 3 | image: ihatemoney/ihatemoney:latest 4 | environment: 5 | - DEBUG=False 6 | - ACTIVATE_ADMIN_DASHBOARD=False 7 | - ACTIVATE_DEMO_PROJECT=True 8 | - ADMIN_PASSWORD= 9 | - ALLOW_PUBLIC_PROJECT_CREATION=True 10 | - BABEL_DEFAULT_TIMEZONE=Europe/Athens 11 | - GREENLET_TEST_CPP=no 12 | - MAIL_DEFAULT_SENDER="Budget manager " 13 | - MAIL_PASSWORD= 14 | - MAIL_PORT=25 15 | - MAIL_SERVER=localhost 16 | - MAIL_USE_SSL=False 17 | - MAIL_USE_TLS=False 18 | - MAIL_USERNAME= 19 | - SECRET_KEY=tralala 20 | - SESSION_COOKIE_SECURE=True 21 | - SHOW_ADMIN_EMAIL=True 22 | - SQLALCHEMY_DATABASE_URI=sqlite:////database/ihatemoney.db 23 | - SQLALCHEMY_TRACK_MODIFICATIONS=False 24 | - ENABLE_CAPTCHA=False 25 | - LEGAL_LINK= 26 | - PORT=8000 27 | - PUID=0 28 | - PGID=0 29 | ports: 30 | - "82303:8000" 31 | -------------------------------------------------------------------------------- /Template/Stack/immich.yml: -------------------------------------------------------------------------------- 1 | services: 2 | immich-server: 3 | container_name: immich_server 4 | image: altran1502/immich-server:release 5 | entrypoint: ["/bin/sh", "./start-server.sh"] 6 | volumes: 7 | - /portainer/Files/AppData/Config/immich:/usr/src/app/upload 8 | environment: 9 | - NODE_ENV=production 10 | - IMMICH_SERVER_URL=http://immich-server:3001 11 | #- IMMICH_MACHINE_LEARNING_URL=http://immich-machine-learning:3303 12 | - DB_HOSTNAME=immich_postgres 13 | - DB_USERNAME=postgres 14 | - DB_PASSWORD=postgres 15 | - DB_DATABASE_NAME=immich 16 | depends_on: 17 | - immich-redis 18 | - immich-database 19 | restart: always 20 | 21 | immich-microservices: 22 | container_name: immich_microservices 23 | image: altran1502/immich-server:release 24 | entrypoint: ["/bin/sh", "./start-microservices.sh"] 25 | volumes: 26 | - /portainer/Files/AppData/Config/immich:/usr/src/app/upload 27 | environment: 28 | - NODE_ENV=production 29 | - DB_HOSTNAME=immich_postgres 30 | - DB_USERNAME=postgres 31 | - DB_PASSWORD=postgres 32 | - DB_DATABASE_NAME=immich 33 | depends_on: 34 | - immich-redis 35 | - immich-database 36 | restart: always 37 | 38 | immich-machine-learning: 39 | container_name: immich_machine_learning 40 | image: altran1502/immich-machine-learning:release 41 | entrypoint: ["/bin/sh", "./entrypoint.sh"] 42 | volumes: 43 | - /portainer/Files/AppData/Config/immich:/usr/src/app/upload 44 | environment: 45 | - NODE_ENV=production 46 | #- IMMICH_MACHINE_LEARNING_URL=http://immich-machine-learning:3303 47 | depends_on: 48 | - immich-database 49 | restart: always 50 | 51 | immich-web: 52 | container_name: immich_web 53 | image: altran1502/immich-web:release 54 | entrypoint: ["/bin/sh", "./entrypoint.sh"] 55 | environment: 56 | #- IMMICH_WEB_URL=http://immich-web:3300 57 | - VITE_SERVER_ENDPOINT=http://immich-web:2283/api 58 | restart: always 59 | 60 | immich-redis: 61 | container_name: immich_redis 62 | image: redis:6.2 63 | restart: always 64 | environment: 65 | - REDIS_HOSTNAME=immich_redis 66 | 67 | immich-database: 68 | container_name: immich_postgres 69 | image: postgres:14 70 | environment: 71 | - DB_HOSTNAME=immich_postgres 72 | - DB_USERNAME=postgres 73 | - DB_PASSWORD=postgres 74 | - DB_DATABASE_NAME=immich 75 | - POSTGRES_PASSWORD=postgres 76 | - POSTGRES_USER=postgres 77 | - POSTGRES_DB=immich 78 | volumes: 79 | - /portainer/Files/AppData/Config/immich/pgdata:/var/lib/postgresql/data 80 | restart: always 81 | 82 | immich-proxy: 83 | container_name: immich_proxy 84 | image: altran1502/immich-proxy:release 85 | environment: 86 | - IMMICH_SERVER_URL=http://immich-server:3001 87 | - IMMICH_WEB_URL=http://immich-web:3000 88 | ports: 89 | - 2283:8080 90 | logging: 91 | driver: none 92 | depends_on: 93 | - immich-server 94 | restart: always 95 | -------------------------------------------------------------------------------- /Template/Stack/influxdb2.yml: -------------------------------------------------------------------------------- 1 | services: 2 | influxdb: 3 | image: influxdb:latest 4 | volumes: 5 | # Mount for influxdb data directory and configuration 6 | - /portainer/Files/AppData/Config/influxdb2:/var/lib/influxdb2:rw 7 | ports: 8 | - "8086:8086" 9 | # Use the influx cli to set up an influxdb instance. 10 | influxdb_cli: 11 | links: 12 | - influxdb 13 | image: influxdb:latest 14 | volumes: 15 | # Mount for influxdb data directory and configuration 16 | - /portainer/Files/AppData/Config/influxdb2:/var/lib/influxdb2:rw 17 | - /portainer/Files/AppData/Config/influxdb2/ssl/influxdb-selfsigned.crt:/etc/ssl/influxdb-selfsigned.crt:rw 18 | - /portainer/Files/AppData/Config/influxdb2/ssl/influxdb-selfsigned.key:/etc/ssl/influxdb-selfsigned.key:rw 19 | environment: 20 | - DOCKER_INFLUXDB_INIT_MODE=setup 21 | - DOCKER_INFLUXDB_INIT_USERNAME=myusername 22 | - DOCKER_INFLUXDB_INIT_PASSWORD=passwordpasswordpassword 23 | - DOCKER_INFLUXDB_INIT_ORG=myorg 24 | - DOCKER_INFLUXDB_INIT_BUCKET=mybucket 25 | - DOCKER_INFLUXDB_INIT_ADMIN_TOKEN=mytoken 26 | - INFLUXD_TLS_CERT=/etc/ssl/influxdb-selfsigned.crt 27 | - INFLUXD_TLS_KEY=/etc/ssl/influxdb-selfsigned.key 28 | entrypoint: ["./entrypoint.sh"] 29 | restart: on-failure:10 30 | depends_on: 31 | - influxdb 32 | -------------------------------------------------------------------------------- /Template/Stack/influxdb2_telegraf.yml: -------------------------------------------------------------------------------- 1 | services: 2 | influxdb: 3 | image: influxdb:latest 4 | volumes: 5 | # Mount for influxdb data directory and configuration 6 | - /portainer/Files/AppData/Config/influxdb2:/var/lib/influxdb2:rw 7 | ports: 8 | - "8086:8086" 9 | # Use the influx cli to set up an influxdb instance. 10 | influxdb_cli: 11 | links: 12 | - influxdb 13 | image: influxdb:latest 14 | volumes: 15 | # Mount for influxdb data directory and configuration 16 | - /portainer/Files/AppData/Config/influxdb2:/var/lib/influxdb2:rw 17 | - /portainer/Files/AppData/Config/influxdb2/ssl/influxdb-selfsigned.crt:/etc/ssl/influxdb-selfsigned.crt:rw 18 | - /portainer/Files/AppData/Config/influxdb2/ssl/influxdb-selfsigned.key:/etc/ssl/influxdb-selfsigned.key:rw 19 | environment: 20 | # Use these same configurations parameters in your telegraf configuration, mytelegraf.conf. 21 | - DOCKER_INFLUXDB_INIT_MODE=setup 22 | - DOCKER_INFLUXDB_INIT_USERNAME=myusername 23 | - DOCKER_INFLUXDB_INIT_PASSWORD=passwordpasswordpassword 24 | - DOCKER_INFLUXDB_INIT_ORG=myorg 25 | - DOCKER_INFLUXDB_INIT_BUCKET=mybucket 26 | - DOCKER_INFLUXDB_INIT_ADMIN_TOKEN=mytoken 27 | - INFLUXD_TLS_CERT=/etc/ssl/influxdb-selfsigned.crt 28 | - INFLUXD_TLS_KEY=/etc/ssl/influxdb-selfsigned.key 29 | entrypoint: ["./entrypoint.sh"] 30 | restart: on-failure:10 31 | depends_on: 32 | - influxdb 33 | telegraf: 34 | image: telegraf 35 | links: 36 | - influxdb 37 | volumes: 38 | # Mount for telegraf config 39 | - /portainer/Files/AppData/Config/telegraf/mytelegraf.conf:/etc/telegraf/telegraf.conf 40 | env_file: 41 | - /portainer/Files/AppData/Config/telegraf/influxv2.env 42 | environment: 43 | - DOCKER_INFLUXDB_INIT_ORG=myorg 44 | - DOCKER_INFLUXDB_INIT_BUCKET=mybucket 45 | - DOCKER_INFLUXDB_INIT_ADMIN_TOKEN=mytoken 46 | depends_on: 47 | - influxdb_cli 48 | volumes: 49 | influxdb2: 50 | -------------------------------------------------------------------------------- /Template/Stack/invidious.yml: -------------------------------------------------------------------------------- 1 | services: 2 | 3 | invidious: 4 | image: quay.io/invidious/invidious:latest 5 | # image: quay.io/invidious/invidious:latest-arm64 # ARM64/AArch64 devices 6 | restart: unless-stopped 7 | ports: 8 | - 3333:3000 9 | environment: 10 | # Please read the following file for a comprehensive list of all available 11 | # configuration options and their associated syntax: 12 | # https://github.com/iv-org/invidious/blob/master/config/config.example.yml 13 | INVIDIOUS_CONFIG: | 14 | db: 15 | dbname: invidious 16 | user: oneusr 17 | password: onepwd 18 | host: invidious-db 19 | port: 5432 20 | check_tables: true 21 | # external_port: 22 | # domain: 23 | # https_only: false 24 | # statistics_enabled: false 25 | hmac_key: "CHANGE_ME!!" 26 | healthcheck: 27 | test: wget -nv --tries=1 --spider http://127.0.0.1:3000/api/v1/trending || exit 1 28 | interval: 30s 29 | timeout: 5s 30 | retries: 2 31 | logging: 32 | options: 33 | max-size: "1G" 34 | max-file: "4" 35 | depends_on: 36 | - invidious-db 37 | 38 | invidious-db: 39 | image: docker.io/library/postgres:14 40 | restart: unless-stopped 41 | volumes: 42 | - /portainer/Files/AppData/Config/invidious/postgresdata:/var/lib/postgresql/data 43 | - /portainer/Files/AppData/Config/invidious/postgresdata/config/sql:/config/sql 44 | - /portainer/Files/AppData/Config/invidious/postgresdata/init-invidious-db.sh:/docker-entrypoint-initdb.d/init-invidious-db.sh 45 | environment: 46 | POSTGRES_DB: invidious 47 | POSTGRES_USER: theuser 48 | POSTGRES_PASSWORD: thepwd 49 | healthcheck: 50 | test: ["CMD-SHELL", "pg_isready -U $$POSTGRES_USER -d $$POSTGRES_DB"] 51 | 52 | volumes: 53 | postgresdata: 54 | -------------------------------------------------------------------------------- /Template/Stack/invoice-ninja.yml: -------------------------------------------------------------------------------- 1 | services: 2 | invoice-ninja: 3 | image: invoiceninja/invoiceninja:alpine-4 4 | container_name: invoice-ninja 5 | environment: 6 | - APP_URL=${URL} 7 | - APP_KEY=${APP_KEY} 8 | - MULTI_DB_ENABLED=false 9 | - DB_TYPE=mysql 10 | - DB_HOST=ninja_db 11 | - DB_DATABASE=ninja_db 12 | - DB_USERNAME=invoice_ninja 13 | - DB_PASSWORD=${DATABASE_PASSWORD} 14 | volumes: 15 | - /portainer/Files/AppData/Config/Invoice-Ninja/public:/var/app/public 16 | - /portainer/Files/AppData/Config/Invoice-Ninja/storage:/var/app/storage 17 | ports: 18 | - ${PORT}:9000 19 | restart: unless-stopped 20 | depends_on: 21 | - ninja_db 22 | ninja_db: 23 | image: linuxserver/mariadb 24 | container_name: ninja_db 25 | environment: 26 | - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD} 27 | - TZ=${TZ} 28 | - MYSQL_DATABASE=ninja_db 29 | - MYSQL_USER=invoice_ninja 30 | - MYSQL_PASSWORD=${DATABASE_PASSWORD} 31 | volumes: 32 | - /portainer/Files/AppData/Config/Invoice-Ninja/DB:/config 33 | restart: unless-stopped 34 | -------------------------------------------------------------------------------- /Template/Stack/iperf.yml: -------------------------------------------------------------------------------- 1 | services: 2 | iperf3: 3 | restart: unless-stopped 4 | container_name: iperf3-server 5 | ports: 6 | - '5201:5201' 7 | image: networkstatic/iperf3 8 | stdin_open: true # docker run -i 9 | tty: true # docker run -t 10 | command: -s 11 | -------------------------------------------------------------------------------- /Template/Stack/jellyseer.yml: -------------------------------------------------------------------------------- 1 | services: 2 | jellyseerr: 3 | image: fallenbagel/jellyseerr:latest 4 | container_name: jellyseerr 5 | environment: 6 | - LOG_LEVEL=INFO 7 | - TZ=Europe/Athens 8 | ports: 9 | - 5055:5055 10 | volumes: 11 | - /portainer/Files/AppData/Config/jellyseer:/app/config 12 | restart: unless-stopped 13 | -------------------------------------------------------------------------------- /Template/Stack/jump.yml: -------------------------------------------------------------------------------- 1 | services: 2 | web: 3 | image: daledavies/jump 4 | ports: 5 | - 9123:8080 6 | volumes: 7 | - /portainer/Files/AppData/Config/jumper/backgrounds:/backgrounds 8 | - /portainer/Files/AppData/Config/jumper/favicon:/favicon 9 | - /portainer/Files/AppData/Config/jumper/search:/search 10 | - /portainer/Files/AppData/Config/jumper/sites:/sites 11 | environment: 12 | SITENAME: 'Custom site name' 13 | OWMAPIKEY: '0a1b2c3d4e5f6a7b8c9d0a1b' 14 | LATLONG: '51.509865,-0.118092' 15 | -------------------------------------------------------------------------------- /Template/Stack/kapowarr.yml: -------------------------------------------------------------------------------- 1 | services: 2 | kapowarr: 3 | container_name: kapowarr 4 | volumes: 5 | - /portainer/Files/AppData/Config/kapowarr-db:/app/db 6 | - /portainer/comics/downloads:/app/temp_downloads 7 | - /portainer/comics/kapowarr:/content 8 | ports: 9 | - 5656:5656 10 | image: mrcas/kapowarr:latest 11 | -------------------------------------------------------------------------------- /Template/Stack/kasmworkspaces.yml: -------------------------------------------------------------------------------- 1 | services: 2 | kasm: 3 | image: lscr.io/linuxserver/kasm:latest 4 | container_name: kasm 5 | privileged: true 6 | environment: 7 | - KASM_PORT=7443 8 | - DOCKER_MTU=1500 #optional 9 | volumes: 10 | - /portainer/Files/AppData/Config/kasmworkspaces/data:/opt 11 | - /portainer/Files/AppData/Config/kasmworkspaces/profiles:/profiles #optional 12 | - /dev/input:/dev/input #optional 13 | - /run/udev/data:/run/udev/data #optional 14 | ports: 15 | - 63000:3000 16 | - 7443:443 17 | restart: unless-stopped 18 | -------------------------------------------------------------------------------- /Template/Stack/kavita.yml: -------------------------------------------------------------------------------- 1 | services: 2 | kavita: 3 | image: kizaing/kavita:latest 4 | volumes: 5 | - ./manga:/manga 6 | - /portainer/Books:/books 7 | - /portainer/Files/AppData/Kavita/Data:/kavita/config 8 | ports: 9 | - "5000:5000" 10 | restart: unless-stopped 11 | -------------------------------------------------------------------------------- /Template/Stack/kiwix.yml: -------------------------------------------------------------------------------- 1 | services: 2 | kiwix-serve: 3 | image: kiwix/kiwix-serve 4 | volumes: 5 | - /portainer/Files/AppData/Config/kiwixserve:/data 6 | ports: 7 | - '78080:80' 8 | command: 9 | *.zim 10 | -------------------------------------------------------------------------------- /Template/Stack/koillection.yml: -------------------------------------------------------------------------------- 1 | services: 2 | #FPM image 3 | koillection: 4 | container_name: koillection 5 | image: koillection/koillection:dev 6 | restart: always 7 | ports: 8 | - 181:80 9 | environment: 10 | - APP_ENV=dev 11 | - APP_DEBUG=1 12 | - DB_DRIVER=pdo_pgsql 13 | - DB_NAME=koillection 14 | - DB_HOST=postgresql 15 | - DB_PORT=25432 16 | - DB_USER=postgres 17 | - DB_PASSWORD=password 18 | - DB_VERSION=14 19 | - PHP_TZ=Europe/Athens 20 | - HTTPS_ENABLED=0 21 | depends_on: 22 | - koinmysql 23 | - postgresql 24 | volumes: 25 | - /portainer/Files/AppData/Config/koillection/public/uploads:/var/www/koillection/public/uploads 26 | - /portainer/Files/AppData/Config/koillection:/var/www/koillection 27 | 28 | postgresql: 29 | container_name: postgresql 30 | image: postgres:14 31 | environment: 32 | - POSTGRES_DB=koillection 33 | - POSTGRES_USER=postgres 34 | - POSTGRES_PASSWORD=password 35 | - POSTGRES_HOST_AUTH_METHOD=trust 36 | ports: 37 | - 25432:5432 38 | volumes: 39 | - /portainer/Files/AppData/Config/postgresql:/var/lib/postgresql/data 40 | 41 | koinmysql: 42 | container_name: mysql 43 | image: mysql:latest 44 | command: --default-authentication-plugin=mysql_native_password 45 | environment: 46 | - MYSQL_ROOT_PASSWORD=password 47 | - MYSQL_DATABASE=koillection 48 | ports: 49 | - 43306:3306 50 | volumes: 51 | - /portainer/Files/AppData/Config/koillection/koinmysql:/var/lib/mysql 52 | -------------------------------------------------------------------------------- /Template/Stack/lazytainer.yml: -------------------------------------------------------------------------------- 1 | services: 2 | lazytainer: 3 | container_name: lazytainer 4 | image: ghcr.io/vmorganp/lazytainer:master 5 | environment: 6 | - PORT=81,82 # comma separated list of ports...or just the one 7 | - LABEL=lazytainer # value of lazytainer.marker for other containers that lazytainer checks 8 | - TIMEOUT=30 # OPTIONAL number of seconds to let container idle 9 | - MINPACKETTHRESH=10 # OPTIONAL number of packets that must be recieved to keepalive/start container 10 | - POLLRATE=1 # OPTIONAL number of seconds to sleep between polls 11 | - VERBOSE=true # probably set this to false unless you're debugging or doing the initial demo 12 | - INTERFACE=eth0 # OPTIONAL interface to listen on - use eth0 in most cases 13 | ports: 14 | - 81:81 15 | - 82:82 16 | volumes: 17 | - /var/run/docker.sock:/var/run/docker.sock:ro 18 | 19 | whoami1: 20 | container_name: whoami1 21 | image: containous/whoami 22 | command: --port 81 23 | network_mode: service:lazytainer 24 | depends_on: 25 | - lazytainer 26 | labels: 27 | - "lazytainer.marker=lazytainer" 28 | - "lazytainer.sleepMethod=pause" # can be either "stop" or "pause", or left blank for stop 29 | 30 | whoami2: 31 | container_name: whoami2 32 | image: containous/whoami 33 | command: --port 82 34 | network_mode: service:lazytainer 35 | depends_on: 36 | - lazytainer 37 | labels: 38 | - "lazytainer.marker=lazytainer" 39 | - "lazytainer.sleepMethod=stop" # can be either "stop" or "pause", or left blank for stop 40 | -------------------------------------------------------------------------------- /Template/Stack/leantime.yml: -------------------------------------------------------------------------------- 1 | services: 2 | leantimedb: 3 | image: mysql:5.7.39 4 | container_name: mysql_leantime 5 | volumes: 6 | - /portainer/Files/AppData/Config/leantime/db:/var/lib/mysql 7 | restart: always 8 | environment: 9 | MYSQL_ROOT_PASSWORD: 321.qwerty 10 | MYSQL_DATABASE: leantime 11 | MYSQL_USER: admin 12 | MYSQL_PASSWORD: 321.qwerty 13 | command: --character-set-server=utf8 --collation-server=utf8_unicode_ci 14 | web: 15 | image: leantime/leantime 16 | container_name: leantime 17 | environment: 18 | LEAN_DB_HOST: mysql_leantime 19 | LEAN_DB_USER: admin 20 | LEAN_DB_PASSWORD: 321.qwerty 21 | LEAN_DB_DATABASE: leantime 22 | ports: 23 | - 4805:80 24 | depends_on: 25 | - leantimedb 26 | volumes: 27 | db_data: {} 28 | -------------------------------------------------------------------------------- /Template/Stack/linkstack.yml: -------------------------------------------------------------------------------- 1 | services: 2 | 3 | linkstack: 4 | hostname: linkstack 5 | image: linkstackorg/linkstack:latest 6 | environment: 7 | TZ: Europe/Athens 8 | SERVER_ADMIN: admin@example.com 9 | HTTP_SERVER_NAME: example.com 10 | HTTPS_SERVER_NAME: example.com 11 | LOG_LEVEL: info 12 | PHP_MEMORY_LIMIT: 256M 13 | UPLOAD_MAX_FILESIZE: 8M 14 | volumes: 15 | - linkstack_data:/htdocs 16 | ports: 17 | - 8188:80 18 | - 8190:443 19 | restart: unless-stopped 20 | volumes: 21 | linkstack_data: 22 | driver: local 23 | driver_opts: 24 | type: none 25 | device: "/mnt/extra/portainer/Files/AppData/Config/linkstack" 26 | o: bind 27 | -------------------------------------------------------------------------------- /Template/Stack/littlelink.yml: -------------------------------------------------------------------------------- 1 | services: 2 | littlelink-server: 3 | image: ghcr.io/techno-tim/littlelink-server:latest 4 | # dockerhub is also supported timothystewart6/littlelink-server 5 | #image: timothystewart6/littlelink-server:latest 6 | container_name: littlelink-server 7 | environment: 8 | - META_TITLE=PUTYOURNAMEHERE 9 | - META_DESCRIPTION=NAME page 10 | - META_AUTHOR=PUTYOURNAMEHERE 11 | - LANG=en 12 | - META_INDEX_STATUS=all 13 | - GA_TRACKING_ID=G-XXXXXXXXXX 14 | - THEME=Dark 15 | - FAVICON_URL=https://pbs.twimg.com/profile_images/1286144221217316864/qIAsKOpB_200x200.jpg 16 | - AVATAR_URL=https://pbs.twimg.com/profile_images/1286144221217316864/qIAsKOpB_200x200.jpg 17 | - AVATAR_2X_URL=https://pbs.twimg.com/profile_images/1286144221217316864/qIAsKOpB_400x400.jpg 18 | - AVATAR_ALT=PUTYOURNAMEHERE Profile Pic 19 | - NAME=PUTYOURNAMEHERE 20 | - BIO=Hey! Just a place where you can connect with me! 21 | - FOOTER=Thanks for stopping by! 22 | - GITHUB=https://github.com/ 23 | - TWITTER=https://twitter.com/ 24 | - INSTAGRAM=https://www.instagram.com/ 25 | - YOUTUBE=https://www.youtube.com/ 26 | - TWITCH=https://www.twitch.tv 27 | - DISCORD=https://discord.gg/ 28 | - TIKTOK=https://www.tiktok.com/ 29 | - KIT=https://kit.co/ 30 | - FACEBOOK=https://facebook.com 31 | - FACEBOOK_MESSENGER=https://facebook.com 32 | - LINKED_IN=https://linkedin.com 33 | - PRODUCT_HUNT=https://www.producthunt.com/ 34 | - SNAPCHAT=https://www.snapchat.com/ 35 | - SPOTIFY=https://www.spotify.com/ 36 | - REDDIT=https://www.reddit.com/ 37 | - MEDIUM=https://medium.com 38 | - PINTEREST=https://www.pinterest.com/ 39 | - EMAIL=you@example.com 40 | - EMAIL_TEXT=Email Me! 41 | - EMAIL_ALT=you@example.com 42 | - EMAIL_ALT_TEXT=Email me! 43 | - SOUND_CLOUD=https://soundcloud.com 44 | - FIGMA=https://figma.com 45 | - TELEGRAM=https://telegram.org/ 46 | - TUMBLR=https://www.tumblr.com/ 47 | - STEAM=https://steamcommunity.com/ 48 | - VIMEO=https://vimeo.com/ 49 | - WORDPRESS=https://wordpress.com/ 50 | - GOODREADS=https://www.goodreads.com/ 51 | - SKOOB=https://www.skoob.com.br/ 52 | - LETTERBOXD=https://letterboxd.com/ 53 | - MASTODON=https://mastodon.social/ 54 | - MICRO_BLOG=https://micro.blog/ 55 | - WHATSAPP=https://www.whatsapp.com/ 56 | - STRAVA=https://www.strava.com/ 57 | - BUYMEACOFFEE=https://www.buymeacoffee.com/ 58 | - GITLAB=https://www.gitlab.com/ 59 | - PATREON=https://www.patreon.com/technotim 60 | - DEVTO=https://dev.to/ 61 | - UMAMI_WEBSITE_ID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx 62 | - UMAMI_APP_URL=https://your-umami-app.com 63 | - BUTTON_ORDER=YOUTUBE,TWITCH,TWITTER,GITHUB,INSTAGRAM,DISCORD,FACEBOOK,TIKTOK,KIT,PATREON # use ENV variable names for order, listed buttons will be boosted to the top 64 | - PAYPAL=https://www.paypal.me/user 65 | - SLACK=https://slack.com/ 66 | ports: 67 | - 8480:3000 68 | restart: unless-stopped 69 | security_opt: 70 | - no-new-privileges:true 71 | 72 | -------------------------------------------------------------------------------- /Template/Stack/loggifly.yml: -------------------------------------------------------------------------------- 1 | version: "3.8" 2 | services: 3 | loggifly: 4 | image: ghcr.io/clemcer/loggifly:latest 5 | container_name: loggifly 6 | volumes: 7 | - /var/run/docker.sock:/var/run/docker.sock 8 | # Comment out the following if you are only using environment variables. 9 | # A config template will be downloaded in /config 10 | # edit and rename it to config.yaml or create a new file with your config in it 11 | - /portainer/Files/AppData/Config/loggifly/config.yaml:/config 12 | environment: 13 | - TZ=Europe/Athens 14 | restart: unless-stopped 15 | -------------------------------------------------------------------------------- /Template/Stack/mailpile.yml: -------------------------------------------------------------------------------- 1 | services: 2 | mailpile: 3 | container_name: mailpile 4 | image: rroemhild/mailpile 5 | volumes: 6 | - /portainer/Files/AppData/Config/mailpile:/root/.local/share/Mailpile 7 | - /portainer/Files/AppData/Config/mailpile/gnu:/root/.gnupg 8 | ports: 9 | - '33411:33411' 10 | -------------------------------------------------------------------------------- /Template/Stack/markopolis.yml: -------------------------------------------------------------------------------- 1 | services: 2 | markopolis: 3 | image: ghcr.io/rishikanthc/markopolis:2.0.0 4 | ports: 5 | - "81080:80" 6 | environment: 7 | - MARKOPOLIS_DOMAIN="" 8 | - MARKOPOLIS_FRONTEND_URL = "" 9 | - MARKOPOLIS_TITLE="Awesome Notes" 10 | - MARKOPOLIS_MD_PATH=/app/markdown 11 | - MARKOPOLIS_API_KEY= 12 | volumes: 13 | - /portainer/Files/AppData/Config/markopolis:/app/markdown 14 | restart: unless-stopped 15 | 16 | volumes: 17 | markopolis_data: 18 | driver: local 19 | -------------------------------------------------------------------------------- /Template/Stack/mastodon.yml: -------------------------------------------------------------------------------- 1 | services: 2 | mastodon: 3 | image: lscr.io/linuxserver/mastodon:latest 4 | container_name: mastodon 5 | environment: 6 | - PUID=1000 7 | - PGID=1000 8 | - TZ=Europe/Athens 9 | - LOCAL_DOMAIN=example.com 10 | - REDIS_HOST=redis 11 | - REDIS_PORT=6379 12 | - DB_HOST=db 13 | - DB_USER=mastodon 14 | - DB_NAME=mastodon 15 | - DB_PASS=mastodon 16 | - DB_PORT=5432 17 | - ES_ENABLED=false 18 | - SECRET_KEY_BASE= 19 | - OTP_SECRET= 20 | - VAPID_PRIVATE_KEY= 21 | - VAPID_PUBLIC_KEY= 22 | - SMTP_SERVER=mail.example.com 23 | - SMTP_PORT=25 24 | - SMTP_LOGIN= 25 | - SMTP_PASSWORD= 26 | - SMTP_FROM_ADDRESS=notifications@example.com 27 | - S3_ENABLED=false 28 | - WEB_DOMAIN=mastodon.example.com #optional 29 | - ES_HOST=es #optional 30 | - ES_PORT=9200 #optional 31 | - ES_USER=elastic #optional 32 | - ES_PASS=elastic #optional 33 | - S3_BUCKET= #optional 34 | - AWS_ACCESS_KEY_ID= #optional 35 | - AWS_SECRET_ACCESS_KEY= #optional 36 | - S3_ALIAS_HOST= #optional 37 | - SIDEKIQ_ONLY=false #optional 38 | - SIDEKIQ_QUEUE= #optional 39 | - SIDEKIQ_DEFAULT=false #optional 40 | - SIDEKIQ_THREADS=5 #optional 41 | - DB_POOL=5 #optional 42 | volumes: 43 | - /portainer/Files/AppData/Config/mastodon:/config 44 | ports: 45 | - 80:80 46 | - 443:443 47 | restart: unless-stopped 48 | -------------------------------------------------------------------------------- /Template/Stack/matomo.yml: -------------------------------------------------------------------------------- 1 | services: 2 | db: 3 | image: mariadb 4 | command: --max-allowed-packet=64MB 5 | restart: always 6 | volumes: 7 | - /portainer/Files/AppData/Config/mariadb/matomo:/var/lib/mysql 8 | environment: 9 | - MYSQL_ROOT_PASSWORD=enterYOURpwd 10 | # env_file: 11 | # - ./db.env 12 | 13 | app: 14 | image: matomo 15 | restart: always 16 | volumes: 17 | - /portainer/Files/AppData/Config/matomo/config:/var/www/html/config 18 | - /portainer/Files/AppData/Config/matomo/logs:/var/www/html/logs 19 | - matomo:/var/www/html 20 | environment: 21 | - MATOMO_DATABASE_HOST=db 22 | # env_file: 23 | # - ./db.env 24 | ports: 25 | - 8282:80 #changed from default 8080 26 | 27 | volumes: 28 | db: 29 | matomo: 30 | -------------------------------------------------------------------------------- /Template/Stack/mautic.yml: -------------------------------------------------------------------------------- 1 | services: 2 | db: 3 | image: linuxserver/mariadb 4 | container_name: Mautic-DB 5 | hostname: mautic-db 6 | security_opt: 7 | - no-new-privileges:true 8 | healthcheck: 9 | test: out=$$(mysqladmin ping -h localhost -P 3306 -u root --password=rootpass 2>&1); echo $$out | grep 'mysqld is alive' || { echo $$out; exit 1; } 10 | environment: 11 | - PUID=1000 12 | - PGID=1000 13 | - TZ=Europe/Athens 14 | - MYSQL_ROOT_PASSWORD=rootpass 15 | - MYSQL_DATABASE=mautic 16 | - MYSQL_USER=mauticuser 17 | - MYSQL_PASSWORD=mauticpass 18 | volumes: 19 | - /portainer/Files/AppData/Config/mautic/db:/config 20 | restart: always 21 | 22 | mautic: 23 | image: mautic/mautic:v4 24 | container_name: Mautic 25 | hostname: mautic 26 | security_opt: 27 | - no-new-privileges:true 28 | healthcheck: 29 | test: wget --no-verbose --tries=1 --spider http://localhost:80/ || exit 1 30 | ports: 31 | - 9855:80 32 | environment: 33 | - MAUTIC_DB_HOST=mautic-db 34 | - MAUTIC_DB_USER=mauticuser 35 | - MAUTIC_DB_PASSWORD=mauticpass 36 | - MAUTIC_DB_NAME=mautic 37 | - MAUTIC_RUN_CRON_JOBS=true 38 | volumes: 39 | - /portainer/Files/AppData/Config/mautic/data:/var/www/html 40 | restart: always 41 | depends_on: 42 | db: 43 | condition: service_healthy 44 | -------------------------------------------------------------------------------- /Template/Stack/medama.yml: -------------------------------------------------------------------------------- 1 | services: 2 | medama: 3 | image: ghcr.io/medama-io/medama:latest 4 | ports: 5 | - "8010:8080" 6 | volumes: 7 | - /portainer/Files/AppData/Config/medama:/app/data 8 | volumes: 9 | medama-data: 10 | -------------------------------------------------------------------------------- /Template/Stack/media_server_plex.yml: -------------------------------------------------------------------------------- 1 | services: 2 | plex: 3 | container_name: plex 4 | image: hotio/plex 5 | restart: unless-stopped 6 | ports: 7 | - "${PLEXPORT}:32400" 8 | environment: 9 | - "PUID=${PUID}" 10 | - "PGID=${PGID}" 11 | - "UMASK=${UMASK}" 12 | - "TZ=${TZ}" 13 | - "PLEX_CLAIM=${PLEXCLAIM}" 14 | - "ADVERTISE_IP=${ADVERTISEIP}" 15 | - "ALLOWED_NETWORKS=${ALLOWEDNETWORKS}" 16 | - "PLEX_PASS=${PLEXPASS}" 17 | volumes: 18 | - "${APPDATA}/plex:/config" 19 | - "${TRANSCODE}:/transcode" 20 | - "${MOVIES}:/movie" 21 | - "${TV}:/tv" 22 | - "${MUSIC}:/music" 23 | tautulli: 24 | container_name: tautulli 25 | image: hotio/tautulli 26 | restart: unless-stopped 27 | ports: 28 | - "${TAUTULLIPORT}:8181" 29 | environment: 30 | - "PUID=${PUID}" 31 | - "PGID=${PGID}" 32 | - "UMASK=${UMASK}" 33 | - "TZ=${TZ}" 34 | volumes: 35 | - "${APPDATA}/tautulli:/config" 36 | ombi: 37 | container_name: ombi 38 | image: hotio/ombi 39 | restart: unless-stopped 40 | ports: 41 | - "${OMBIPORT}:5000" 42 | environment: 43 | - "PUID=${PUID}" 44 | - "PGID=${PGID}" 45 | - "UMASK=${UMASK}" 46 | - "TZ=${TZ}" 47 | volumes: 48 | - "${APPDATA}/ombi:/config" 49 | -------------------------------------------------------------------------------- /Template/Stack/medusa.yml: -------------------------------------------------------------------------------- 1 | services: 2 | medusa-backend: 3 | build: 4 | dockerfile: Dockerfile.prod 5 | image: backend:latest 6 | container_name: medusa-server 7 | restart: always 8 | depends_on: 9 | - medusa-postgres 10 | - medusa-redis 11 | environment: 12 | DATABASE_URL: postgres://postgres:postgres@postgres:5432/medusa-docker 13 | NODE_ENV: production 14 | STORE_CORS: http://localhost 15 | volumes: 16 | - /portainer/Files/AppData/Config/medusacms/backend:/app/medusa 17 | - /portainer/Files/AppData/Config/medusacms/backend/node_modules:/app/medusa/node_modules 18 | ports: 19 | - "9009:9000" 20 | 21 | medusa-postgres: 22 | image: postgres:13.9-alpine 23 | restart: always 24 | environment: 25 | POSTGRES_USER: postgres 26 | POSTGRES_PASSWORD: postgres 27 | POSTGRES_DB: medusa-docker 28 | 29 | medusa-redis: 30 | redis:latest 31 | restart: always 32 | 33 | medusa-admin: 34 | build: 35 | context: ./admin 36 | dockerfile: Dockerfile.prod 37 | admin:latest 38 | restart: always 39 | depends_on: 40 | - medusa-backend 41 | container_name: medusa-admin 42 | environment: 43 | NODE_ENV: production 44 | NODE_OPTIONS: --openssl-legacy-provider 45 | ports: 46 | - "7007:80" 47 | 48 | medusa-storefront: 49 | build: 50 | dockerfile: Dockerfile.prod 51 | storefront:latest 52 | container_name: medusa-storefront 53 | restart: always 54 | environment: 55 | NODE_ENV: production 56 | volumes: 57 | - /portainer/Files/AppData/Config/medusacms/storefront:/app/storefront 58 | - /portainer/Files/AppData/Config/medusacms/storefront/node_modules:/app/storefront/node_modules 59 | depends_on: 60 | - medusa-backend 61 | ports: 62 | - "808:80" 63 | -------------------------------------------------------------------------------- /Template/Stack/meilisearch.yml: -------------------------------------------------------------------------------- 1 | services: 2 | meilisearch: 3 | container_name: meilisearch 4 | restart: unless-stopped 5 | image: getmeili/meilisearch:latest 6 | environment: 7 | - http_proxy 8 | - https_proxy 9 | - MEILI_MASTER_KEY=${MEILI_MASTER_KEY:-masterKey} 10 | - MEILI_NO_ANALYTICS=${MEILI_NO_ANALYTICS:-true} 11 | - MEILI_ENV=${MEILI_ENV:-development} 12 | - MEILI_LOG_LEVEL 13 | - MEILI_DB_PATH=${MEILI_DB_PATH:-/data.ms} 14 | ports: 15 | - 7700:7700 16 | networks: 17 | - meilisearch 18 | volumes: 19 | - /portainer/Files/AppData/Config/meilisearch/data.ms:/data.ms 20 | 21 | -------------------------------------------------------------------------------- /Template/Stack/meshcentral.yml: -------------------------------------------------------------------------------- 1 | services: 2 | meshcentral-mongodb: 3 | container_name: meshcentral_db 4 | restart: always 5 | image: mongo:latest 6 | expose: 7 | - 27017 8 | volumes: 9 | - /portainer/Files/AppData/Config/meshcentral/database:/data/db 10 | meshcentral: 11 | restart: always 12 | container_name: meshcentral 13 | depends_on: 14 | - 'meshcentral-mongodb' 15 | image: typhonragewind/meshcentral 16 | ports: 17 | - 8086:443 18 | - 8087:800 19 | environment: 20 | - HOSTNAME=my.domain.com #your hostname 21 | - REVERSE_PROXY=false #set to your reverse proxy IP if you want to put meshcentral behind a reverse proxy 22 | - REVERSE_PROXY_TLS_PORT=443 23 | - IFRAME=false #set to true if you wish to enable iframe support 24 | - ALLOW_NEW_ACCOUNTS=true #set to false if you want disable self-service creation of new accounts besides the first (admin) 25 | - WEBRTC=false #set to true to enable WebRTC - per documentation it is not officially released with meshcentral, but is solid enough to work with. Use with caution 26 | - NODE_ENV=production 27 | volumes: 28 | - /portainer/Files/AppData/Config/meshcentral/data:/opt/meshcentral/meshcentral-data 29 | - /portainer/Files/AppData/Config/meshcentral/user_files:/opt/meshcentral/meshcentral-files 30 | -------------------------------------------------------------------------------- /Template/Stack/midarr.yml: -------------------------------------------------------------------------------- 1 | services: 2 | 3 | midarr: 4 | container_name: midarr 5 | build: . 6 | ports: 7 | - 4000:4000 8 | volumes: 9 | - /portainer/Files/AppData/Config/midarr/:/app 10 | - /portainer/Files/AppData/Config/midarr/movies:/movies 11 | - /portainer/Files/AppData/Config/midarr/series:/series 12 | environment: 13 | - APP_URL=http://midarr:4000 14 | - SETUP_ADMIN_EMAIL=admin@email.com 15 | - SETUP_ADMIN_NAME=admin 16 | - SETUP_ADMIN_PASSWORD=passwordpassword 17 | - RADARR_BASE_URL=http://radarr:7878 18 | - RADARR_API_KEY=d031e8c9b9df4b2fab311d1c3b3fa2c5 19 | - SONARR_BASE_URL=http://sonarr:8989 20 | - SONARR_API_KEY=1accda4476394bfcaddefe8c4fd77d4a 21 | command: bash -c "chmod u+x misc/entry-point-local.sh && ./misc/entry-point-local.sh" 22 | -------------------------------------------------------------------------------- /Template/Stack/miniflux.yml: -------------------------------------------------------------------------------- 1 | services: 2 | miniflux-db: 3 | image: postgres:15 4 | container_name: Miniflux-DB 5 | hostname: miniflux-db 6 | security_opt: 7 | - no-new-privileges:true 8 | healthcheck: 9 | test: ["CMD", "pg_isready", "-U", "miniflux"] 10 | timeout: 45s 11 | interval: 10s 12 | retries: 10 13 | start_period: 30s 14 | user: 1026:100 15 | volumes: 16 | - /portainer/Files/AppData/Config/minifluxdb:/var/lib/postgresql/data 17 | environment: 18 | - POSTGRES_DB=miniflux 19 | - POSTGRES_USER=minifluxuser 20 | - POSTGRES_PASSWORD=minifluxpass 21 | restart: always 22 | 23 | miniflux: 24 | image: miniflux/miniflux:latest 25 | container_name: Miniflux 26 | hostname: miniflux 27 | security_opt: 28 | - no-new-privileges:true 29 | healthcheck: 30 | test: ["CMD", "/usr/bin/miniflux", "-healthcheck", "auto"] 31 | user: 1026:100 32 | ports: 33 | - 8645:8080 34 | environment: 35 | - DATABASE_URL=postgres://minifluxuser:minifluxpass@miniflux-db/miniflux?sslmode=disable 36 | - RUN_MIGRATIONS=1 37 | - CREATE_ADMIN=1 38 | - ADMIN_USERNAME=admin 39 | - ADMIN_PASSWORD=adminpass 40 | restart: always 41 | depends_on: 42 | miniflux-db: 43 | condition: service_healthy 44 | -------------------------------------------------------------------------------- /Template/Stack/monica.yml: -------------------------------------------------------------------------------- 1 | services: 2 | monica-app: 3 | image: monica:apache 4 | depends_on: 5 | - monica-db 6 | ports: 7 | - 818:80 8 | environment: 9 | - DB_HOST=db 10 | - DB_USERNAME=monica 11 | - DB_PASSWORD=secret 12 | volumes: 13 | - /portainer/Files/AppData/Config/monica:/var/www/html/storage 14 | restart: always 15 | 16 | monica-db: 17 | image: mysql:5.7 18 | environment: 19 | - MYSQL_RANDOM_ROOT_PASSWORD=true 20 | - MYSQL_DATABASE=monica 21 | - MYSQL_USER=monica 22 | - MYSQL_PASSWORD=secret 23 | volumes: 24 | - /portainer/Files/AppData/Config/monica/mysql:/var/lib/mysql 25 | restart: always 26 | 27 | volumes: 28 | data: 29 | name: data 30 | mysql: 31 | name: mysql 32 | -------------------------------------------------------------------------------- /Template/Stack/moodle.yml: -------------------------------------------------------------------------------- 1 | services: 2 | moodle-db: 3 | image: linuxserver/mariadb 4 | container_name: Moodle-DB 5 | hostname: moodle-db 6 | security_opt: 7 | - no-new-privileges:true 8 | healthcheck: 9 | test: out=$$(mysqladmin ping -h localhost -P 3306 -u root --password=rootpass 2>&1); echo $$out | grep 'mysqld is alive' || { echo $$out; exit 1; } 10 | environment: 11 | - PUID=1026 12 | - PGID=100 13 | - TZ=Europe/Athens 14 | - MYSQL_ROOT_PASSWORD=rootpass 15 | - MYSQL_DATABASE=moodle 16 | - MYSQL_USER=moodleuser 17 | - MYSQL_PASSWORD=moodlepass 18 | volumes: 19 | - /portainer/Files/AppData/Config/moodle/db:/config 20 | restart: always 21 | 22 | moodle: 23 | image: bitnami/moodle:latest 24 | container_name: Moodle 25 | hostname: moodle 26 | security_opt: 27 | - no-new-privileges:true 28 | ports: 29 | - 9490:8080 30 | environment: 31 | - MOODLE_DATABASE_HOST=moodle-db 32 | - MOODLE_DATABASE_PORT_NUMBER=3306 33 | - MOODLE_DATABASE_NAME=moodle 34 | - MOODLE_DATABASE_USER=moodleuser 35 | - MOODLE_DATABASE_PASSWORD=moodlepass 36 | - PHP_MEMORY_LIMIT=512M 37 | - MOODLE_USERNAME=marius 38 | - MOODLE_PASSWORD=mariushosting 39 | - MOODLE_SITE_NAME=Learn With Marius 40 | #- MOODLE_SMTP_HOST=SMTPhost 41 | #- MOODLE_SMTP_PORT=SMTPport 42 | #- MOODLE_SMTP_USER=SMTPaccountuser 43 | #- MOODLE_SMTP_PASSWORD=SMTPaccountpassword 44 | #- MOODLE_SMTP_PROTOCOL=SMTPprotocol 45 | volumes: 46 | - /portainer/Files/AppData/Config/moodle/data1:/bitnami/moodle 47 | - /portainer/Files/AppData/Config/moodle/data2:/bitnami/moodledata 48 | restart: always 49 | depends_on: 50 | moodle-db: 51 | condition: service_healthy 52 | -------------------------------------------------------------------------------- /Template/Stack/n8n.yml: -------------------------------------------------------------------------------- 1 | services: 2 | n8n: 3 | image: n8nio/n8n 4 | ports: 5 | - "5678:5678" 6 | environment: 7 | - N8N_BASIC_AUTH_ACTIVE=true 8 | - N8N_BASIC_AUTH_USER=user 9 | - N8N_BASIC_AUTH_PASSWORD=password 10 | - DB_TYPE=postgresdb 11 | - DB_POSTGRESDB_HOST=db 12 | - DB_POSTGRESDB_PORT=5432 13 | - DB_POSTGRESDB_DATABASE=n8n 14 | - DB_POSTGRESDB_USER=n8n 15 | - DB_POSTGRESDB_PASSWORD=n8n 16 | - NODE_FUNCTION_ALLOW_EXTERNAL=axios,qs 17 | - N8N_SECURE_COOKIE=false 18 | depends_on: 19 | - db 20 | restart: unless-stopped 21 | 22 | db: 23 | image: postgres:12 24 | volumes: 25 | - db-data:/var/lib/postgresql/data 26 | environment: 27 | - POSTGRES_USER=n8n 28 | - POSTGRES_PASSWORD=n8n 29 | - POSTGRES_DB=n8n 30 | restart: unless-stopped 31 | 32 | volumes: 33 | db-data: 34 | -------------------------------------------------------------------------------- /Template/Stack/navidrome.yml: -------------------------------------------------------------------------------- 1 | services: 2 | navidrome: 3 | container_name: navidrome 4 | image: deluan/navidrome:latest 5 | ports: 6 | - "4533:4533" 7 | environment: 8 | # Optional: put your config options customization here. Examples: 9 | ND_SCANSCHEDULE: 1h 10 | ND_LOGLEVEL: info 11 | ND_BASEURL: "" 12 | volumes: 13 | - "/portainer/Files/AppData/Config/navidrome:/data" 14 | - "/path/to/your/music/folder:/music:ro" 15 | -------------------------------------------------------------------------------- /Template/Stack/neko.yml: -------------------------------------------------------------------------------- 1 | # 2 | # This docker compose needs .env file. 3 | # Copy .env.example to .env and modify. 4 | # 5 | 6 | networks: 7 | default: 8 | attachable: "true" 9 | name: "${NEKO_ROOMS_TRAEFIK_NETWORK}" 10 | 11 | services: 12 | traefik: 13 | image: "traefik:2.4" 14 | restart: "unless-stopped" 15 | environment: 16 | - "TZ" 17 | ports: 18 | - "580:80" 19 | - "5443:443" 20 | volumes: 21 | - "/var/run/docker.sock:/var/run/docker.sock:ro" 22 | - "/portainer/Files/AppData/Config/traefik/traefik.yml:/etc/traefik/traefik.yml:ro" 23 | - "/portainer/Files/AppData/Config/traefik/usersfile:/usersfile:ro" 24 | - "/portainer/Files/AppData/Config/traefik/acme.json:/acme.json" 25 | - "/portainer/Files/AppData/Config/traefik/config:/config" 26 | 27 | neko-rooms: 28 | image: "m1k1o/neko-rooms:latest" 29 | restart: "unless-stopped" 30 | environment: 31 | - "TZ" 32 | - "NEKO_ROOMS_EPR" 33 | - "NEKO_ROOMS_NAT1TO1" 34 | - "NEKO_ROOMS_TRAEFIK_DOMAIN" 35 | - "NEKO_ROOMS_TRAEFIK_ENTRYPOINT" 36 | - "NEKO_ROOMS_TRAEFIK_CERTRESOLVER" 37 | - "NEKO_ROOMS_TRAEFIK_NETWORK" 38 | volumes: 39 | - "/var/run/docker.sock:/var/run/docker.sock" 40 | labels: 41 | - "traefik.enable=true" 42 | - "traefik.http.services.neko-rooms-frontend.loadbalancer.server.port=8080" 43 | - "traefik.http.routers.neko-rooms.entrypoints=${NEKO_ROOMS_TRAEFIK_ENTRYPOINT}" 44 | - "traefik.http.routers.neko-rooms.rule=Host(`${NEKO_ROOMS_TRAEFIK_DOMAIN}`)" 45 | - "traefik.http.routers.neko-rooms.tls=true" 46 | - "traefik.http.routers.neko-rooms.tls.certresolver=${NEKO_ROOMS_TRAEFIK_CERTRESOLVER}" 47 | - "traefik.http.routers.neko-rooms.middlewares=basicauth@file" 48 | -------------------------------------------------------------------------------- /Template/Stack/netalertx.yml: -------------------------------------------------------------------------------- 1 | services: 2 | netalertx: 3 | container_name: netalertx 4 | # use the below line if you want to test the latest dev image 5 | # image: "jokobsk/netalertx-dev:latest" 6 | image: "jokobsk/netalertx:latest" 7 | network_mode: "host" 8 | restart: unless-stopped 9 | volumes: 10 | - /portainer/Files/AppData/Config/netalertx/config:/app/config 11 | - /portainer/Files/AppData/Config/netalertx/db:/app/db 12 | environment: 13 | - TZ=Europe/Athens 14 | - PORT=20211 15 | -------------------------------------------------------------------------------- /Template/Stack/netbootxyz.yml: -------------------------------------------------------------------------------- 1 | services: 2 | netbootxyz: 3 | image: lscr.io/linuxserver/netbootxyz:latest 4 | container_name: netbootxyz 5 | environment: 6 | - PUID=1000 7 | - PGID=1000 8 | - TZ=Europe/Athens 9 | - PORT_RANGE=30000:30010 #optional 10 | - SUBFOLDER=/ #optional 11 | volumes: 12 | - /portainer/Files/AppData/Config/netbootxyz/config:/config # optional 13 | - /portainer/Files/AppData/Config/netbootxyz/assets:/assets # optional 14 | ports: 15 | - 3300:3000 16 | - 369:69/udp 17 | - 38080:80 #optional 18 | restart: unless-stopped 19 | -------------------------------------------------------------------------------- /Template/Stack/nextcloud.yml: -------------------------------------------------------------------------------- 1 | services: 2 | nextcloud: 3 | image: linuxserver/nextcloud 4 | container_name: nextcloud 5 | environment: 6 | - PUID=${PUID} 7 | - PGID=${PGID} 8 | - TZ=${TZ} 9 | volumes: 10 | - /portainer/Files/AppData/Config/Nextcloud/Config:/config 11 | ports: 12 | - ${PORT}:443 13 | restart: unless-stopped 14 | depends_on: 15 | - nextcloud_db 16 | nextcloud_db: 17 | image: linuxserver/mariadb 18 | container_name: nextcloud_db 19 | environment: 20 | - PUID=${PUID} 21 | - PGID=${PGID} 22 | - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD} 23 | - TZ=${Timezone} 24 | - MYSQL_DATABASE=nextcloud_db 25 | - MYSQL_USER=nextcloud 26 | - MYSQL_PASSWORD=${DATABASE_PASSWORD} 27 | ports: 28 | - 3306:3306 29 | volumes: 30 | - /portainer/AppData/Config/Nextcloud/DB:/config 31 | restart: unless-stopped 32 | -------------------------------------------------------------------------------- /Template/Stack/nexterm.yml: -------------------------------------------------------------------------------- 1 | services: 2 | nexterm: 3 | ports: 4 | - "6989:6989" 5 | restart: always 6 | volumes: 7 | - /portainer/Files/AppData/Config/nexterm:/app/data 8 | image: germannewsmaker/nexterm:1.0.2-OPEN-PREVIEW 9 | volumes: 10 | nexterm: 11 | -------------------------------------------------------------------------------- /Template/Stack/nocodb.yml: -------------------------------------------------------------------------------- 1 | services: 2 | nocodb: 3 | depends_on: 4 | root_db: 5 | condition: service_healthy 6 | environment: 7 | NC_DB: "mysql2://root_db:3306?u=noco&p=password&d=root_db" 8 | image: "nocodb/nocodb:latest" 9 | ports: 10 | - "8585:8080" 11 | restart: always 12 | volumes: 13 | - /portainer/Files/AppData/Config/nocodb/nc_data:/usr/app/data 14 | root_db: 15 | environment: 16 | MYSQL_DATABASE: root_db 17 | MYSQL_PASSWORD: password 18 | MYSQL_ROOT_PASSWORD: password 19 | MYSQL_USER: noco 20 | healthcheck: 21 | retries: 10 22 | test: 23 | - CMD 24 | - mysqladmin 25 | - ping 26 | - "-h" 27 | - localhost 28 | timeout: 20s 29 | image: "mysql:5.7" 30 | restart: always 31 | volumes: 32 | - /portainer/Files/AppData/Config/nocodb/db_data:/var/lib/mysql 33 | # below line shows how to change charset and collation 34 | # uncomment it if necessary 35 | # command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci 36 | -------------------------------------------------------------------------------- /Template/Stack/nodered.yml: -------------------------------------------------------------------------------- 1 | services: 2 | node-red: 3 | image: nodered/node-red:latest 4 | environment: 5 | - TZ=Europe/Athens 6 | ports: 7 | - "1880:1880" 8 | networks: 9 | - node-red-net 10 | volumes: 11 | - /portainer/Files/AppData/Config/nodered:/data 12 | networks: 13 | node-red-net: 14 | -------------------------------------------------------------------------------- /Template/Stack/npm.yml: -------------------------------------------------------------------------------- 1 | services: 2 | npm: 3 | image: 'jc21/nginx-proxy-manager:latest' 4 | container_name: nginx-proxy-manager 5 | restart: unless-stopped 6 | ports: 7 | # These ports are in format : 8 | - '80:80' # Public HTTP Port 9 | - '443:443' # Public HTTPS Port 10 | - '81:81' # Admin Web Port 11 | # Add any other Stream port you want to expose 12 | # - '21:21' # FTP 13 | 14 | # Uncomment the next line if you uncomment anything in the section 15 | environment: 16 | # Uncomment this if you want to change the location of 17 | # the SQLite DB file within the container 18 | DB_SQLITE_FILE: "/data/database.sqlite" 19 | 20 | # Uncomment this if IPv6 is not enabled on your host 21 | # DISABLE_IPV6: 'true' 22 | 23 | volumes: 24 | - /portainer/Files/AppData/Config/npm/data:/data 25 | - /portainer/Files/AppData/Config/npm/letsencrypt:/etc/letsencrypt 26 | -------------------------------------------------------------------------------- /Template/Stack/ombi.yml: -------------------------------------------------------------------------------- 1 | services: 2 | ombi: 3 | image: lscr.io/linuxserver/ombi:latest 4 | container_name: ombi 5 | environment: 6 | - PUID=1000 7 | - PGID=1000 8 | - TZ=Europe/Athens 9 | - BASE_URL=/ombi #optional 10 | volumes: 11 | - /portainer/Files/AppData/Config/ombi:/config 12 | ports: 13 | - 3579:3579 14 | restart: unless-stopped 15 | -------------------------------------------------------------------------------- /Template/Stack/openbudgeteer.yml: -------------------------------------------------------------------------------- 1 | networks: 2 | app-global: 3 | external: true 4 | mysql-internal: 5 | 6 | 7 | services: 8 | openbudgeteer: 9 | image: axelander/openbudgeteer 10 | container_name: openbudgeteer 11 | ports: 12 | - 8081:80 13 | environment: 14 | - Connection:Server=openbudgeteer-mysql 15 | - Connection:Port=3306 16 | - Connection:Database=openbudgeteer 17 | - Connection:User=openbudgeteer 18 | - Connection:Password=openbudgeteer 19 | - AppSettings:Culture=en-US 20 | depends_on: 21 | - mysql 22 | networks: 23 | - app-global 24 | - mysql-internal 25 | 26 | mysql: 27 | image: mysql 28 | container_name: openbudgeteer-mysql 29 | environment: 30 | MYSQL_ROOT_PASSWORD: myRootPassword 31 | volumes: 32 | - /portainer/Files/AppData/Config/openbudgeteer/data:/var/lib/mysql 33 | networks: 34 | - mysql-internal 35 | 36 | phpmyadmin: 37 | image: phpmyadmin/phpmyadmin 38 | container_name: openbudgeteer-phpmyadmin 39 | links: 40 | - mysql:db 41 | ports: 42 | - 8080:80 43 | networks: 44 | - app-global 45 | - mysql-internal 46 | 47 | volumes: 48 | data: 49 | 50 | -------------------------------------------------------------------------------- /Template/Stack/opnform.yml: -------------------------------------------------------------------------------- 1 | services: 2 | opnform: 3 | container_name: opnform 4 | volumes: 5 | - /portainer/Files/AppData/Config/opnform:/persist 6 | ports: 7 | - 8380:80 8 | image: jhumanj/opnform 9 | networks: {} 10 | -------------------------------------------------------------------------------- /Template/Stack/organizr.yml: -------------------------------------------------------------------------------- 1 | services: 2 | organizr: 3 | image: linuxserver/organizr 4 | container_name: organizr 5 | environment: 6 | - PUID=1000 7 | - PGID=1000 8 | - TZ=Europe/Athens 9 | volumes: 10 | - /portainer/Files/AppData/Config/organizr:/config 11 | ports: 12 | - 9983:80 13 | restart: unless-stopped 14 | -------------------------------------------------------------------------------- /Template/Stack/ory-kratos-oathkeeper.yml: -------------------------------------------------------------------------------- 1 | services: 2 | kratos: 3 | environment: 4 | - SERVE_PUBLIC_BASE_URL=http://127.0.0.1:4455/.ory/kratos/public/ 5 | 6 | kratos-selfservice-ui-node: 7 | environment: 8 | - PORT=4435 9 | - KRATOS_BROWSER_URL=http://127.0.0.1:4455/.ory/kratos/public 10 | - JWKS_URL=http://oathkeeper:4456/.well-known/jwks.json 11 | - SECURITY_MODE=jwks 12 | 13 | oathkeeper: 14 | image: oryd/oathkeeper:v0.40 15 | depends_on: 16 | - kratos 17 | ports: 18 | - 4455:4455 19 | - 4456:4456 20 | command: 21 | serve proxy -c "/etc/config/oathkeeper/oathkeeper.yml" 22 | environment: 23 | - LOG_LEVEL=debug 24 | restart: on-failure 25 | networks: 26 | - intranet 27 | volumes: 28 | - /portainer/Files/AppData/Config/oathkeeper:/etc/config/oathkeeper 29 | -------------------------------------------------------------------------------- /Template/Stack/ory-kratos-standalone.yml: -------------------------------------------------------------------------------- 1 | services: 2 | kratos-selfservice-ui-node: 3 | ports: 4 | - "4455:4455" 5 | environment: 6 | - PORT=4455 7 | - SECURITY_MODE= 8 | - KRATOS_BROWSER_URL=http://127.0.0.1:4433/ 9 | -------------------------------------------------------------------------------- /Template/Stack/overseerr.yml: -------------------------------------------------------------------------------- 1 | services: 2 | overseerr: 3 | image: lscr.io/linuxserver/overseerr:latest 4 | container_name: overseerr 5 | environment: 6 | - PUID=1000 7 | - PGID=1000 8 | - TZ=Europe/Athens 9 | volumes: 10 | - /portainer/Files/AppData/Config/overseer:/config 11 | ports: 12 | - 5055:5055 13 | restart: unless-stopped 14 | -------------------------------------------------------------------------------- /Template/Stack/owncloud.yml: -------------------------------------------------------------------------------- 1 | services: 2 | nextcloud: 3 | image: owncloud/server:latest 4 | container_name: owncloud 5 | environment: 6 | - PUID=${PUID} 7 | - PGID=${PGID} 8 | - TZ=${TZ} 9 | - OWNCLOUD_DOMAIN=${OWNCLOUD_DOMAIN} 10 | - OWNCLOUD_DB_TYPE=mysql 11 | - OWNCLOUD_DB_NAME=owncloud 12 | - OWNCLOUD_DB_USERNAME=owncloud 13 | - OWNCLOUD_DB_PASSWORD=${DB_PASSWORD} 14 | - OWNCLOUD_DB_HOST=owncloudmariadb 15 | - OWNCLOUD_ADMIN_USERNAME=${ADMIN_USERNAME} 16 | - OWNCLOUD_ADMIN_PASSWORD=${ADMIN_PASSWORD} 17 | - OWNCLOUD_MYSQL_UTF8MB4=true 18 | - OWNCLOUD_REDIS_ENABLED=true 19 | - OWNCLOUD_REDIS_HOST=owncloudredis 20 | volumes: 21 | - /portainer/Files/AppData/Config/Owncloud/data:/mnt/data 22 | ports: 23 | - ${PORT}:8080 24 | restart: unless-stopped 25 | depends_on: 26 | - owncloudmariadb 27 | - owncloudredis 28 | owncloudmariadb: 29 | image: mariadb:10.5 30 | container_name: owncloudmariadb 31 | environment: 32 | - PUID=${PUID} 33 | - PGID=${PGID} 34 | - TZ=${TZ} 35 | - MYSQL_ROOT_PASSWORD=${DB_PASSWORD} 36 | - MYSQL_USER=owncloud 37 | - MYSQL_PASSWORD=${DB_PASSWORD} 38 | - MYSQL_DATABASE=owncloud 39 | volumes: 40 | - /portainer/Files/AppData/Config/Owncloud/DB:/var/lib/mysql 41 | restart: unless-stopped 42 | owncloudredis: 43 | image: redis:6 44 | container_name: owncloudredis 45 | volumes: 46 | - /portainer/Files/AppData/Config/Owncloud/redis:/data 47 | restart: unless-stopped 48 | -------------------------------------------------------------------------------- /Template/Stack/petio.yml: -------------------------------------------------------------------------------- 1 | services: 2 | petio: 3 | image: ghcr.io/petio-team/petio 4 | container_name: petio 5 | environment: 6 | - PUID=0 7 | - PGID=0 8 | - TZ=Europe/Athens 9 | volumes: 10 | - /portainer/Files/AppData/Config/petio:/config 11 | ports: 12 | - 7777:7777 13 | restart: unless-stopped 14 | depends_on: 15 | - petio_mongo_db 16 | petio_mongo_db: 17 | image: mongo:4.4.18 18 | container_name: petio_mongo_db 19 | hostname: mongo 20 | environment: 21 | - PUID=0 22 | - PGID=0 23 | - TZ=Europe/Athens 24 | volumes: 25 | - /portainer/Files/AppData/Config/petio/mongo_db/config:/data/configdb 26 | - /portainer/Files/AppData/Config/petio/mongo_db/DB:/data/db 27 | restart: unless-stopped 28 | -------------------------------------------------------------------------------- /Template/Stack/pinchflat.yml: -------------------------------------------------------------------------------- 1 | version: '3' 2 | services: 3 | pinchflat: 4 | image: ghcr.io/kieraneglin/pinchflat:latest 5 | environment: 6 | # Set the timezone to your local timezone 7 | - TZ=Europe/Athens 8 | ports: 9 | - '8945:8945' 10 | volumes: 11 | - /portainer/Files/AppData/Config/pinchflat:/config 12 | - /portainer/Files/AppData/Config/pinchflat/downloads:/downloads 13 | -------------------------------------------------------------------------------- /Template/Stack/pingvin.yml: -------------------------------------------------------------------------------- 1 | services: 2 | pingvin-share: 3 | image: stonith404/pingvin-share 4 | restart: unless-stopped 5 | ports: 6 | - 3123:3000 7 | volumes: 8 | - /portainer/Files/AppData/Config/pingvin:/opt/app/backend/data 9 | - /portainer/Files/AppData/Config/pingvin/images:/opt/app/frontend/public/img 10 | # Optional: If you add ClamAV, uncomment the following to have ClamAV start first. 11 | # depends_on: 12 | # clamav: 13 | # condition: service_healthy 14 | # Optional: Add ClamAV (see README.md) 15 | # ClamAV is currently only available for AMD64 see https://github.com/Cisco-Talos/clamav/issues/482 16 | # clamav: 17 | # restart: unless-stopped 18 | # image: clamav/clamav 19 | -------------------------------------------------------------------------------- /Template/Stack/posteio.yml: -------------------------------------------------------------------------------- 1 | services: 2 | 3 | mailserver: 4 | image: analogic/poste.io 5 | container_name: poste 6 | restart: always 7 | ports: 8 | - "82:80" 9 | - "445:443" 10 | - "25:25" 11 | - "110:110" 12 | - "143:143" 13 | - "587:587" 14 | - "993:993" 15 | - "995:995" 16 | - "4190:4190" 17 | environment: 18 | - TZ=Europe/Athens 19 | - h=mail.[some-domain].com # enter the email server hosting address 20 | - HTTP_PORT=82 21 | - HTTPS_PORT=445 22 | - DISABLE_CLAMAV=TRUE 23 | - DISABLE_RSPAMD=TRUE 24 | volumes: 25 | - /etc/localtime:/etc/localtime:ro 26 | - /portainer/Files/AppData/Config/poste/data/nginx/html/.well-known:/opt/www/.well-known 27 | - /portainer/Files/AppData/Config/poste/data/mailserver:/dataroot 28 | -------------------------------------------------------------------------------- /Template/Stack/proxitok.yml: -------------------------------------------------------------------------------- 1 | services: 2 | proxitok-redis: 3 | image: redis 4 | command: redis-server --save 60 1 --loglevel warning 5 | container_name: ProxiTok-REDIS 6 | hostname: proxitok-redis 7 | mem_limit: 256m 8 | cpu_shares: 768 9 | security_opt: 10 | - no-new-privileges:true 11 | read_only: true 12 | user: 1026:100 13 | healthcheck: 14 | test: ["CMD-SHELL", "redis-cli ping || exit 1"] 15 | restart: on-failure:5 16 | 17 | proxitok-signer: 18 | image: ghcr.io/pablouser1/signtok:master 19 | container_name: ProxiTok-SIGNER 20 | hostname: proxitok-signer 21 | mem_limit: 512m 22 | cpu_shares: 768 23 | security_opt: 24 | - no-new-privileges:true 25 | read_only: true 26 | user: 1026:100 27 | healthcheck: 28 | test: wget --no-verbose --tries=1 --spider http://localhost:8080/ || exit 1 29 | restart: on-failure:5 30 | 31 | proxitok: 32 | image: ghcr.io/pablouser1/proxitok:master 33 | container_name: ProxiTok 34 | hostname: proxitok 35 | mem_limit: 1g 36 | cpu_shares: 768 37 | security_opt: 38 | - no-new-privileges:true 39 | healthcheck: 40 | test: stat /etc/passwd || exit 1 41 | ports: 42 | - 9770:80 43 | volumes: 44 | - /portainer/Files/AppData/Config/proxitok-cache:/cache 45 | environment: 46 | LATTE_CACHE: /cache 47 | API_CACHE: redis 48 | REDIS_HOST: proxitok-redis 49 | REDIS_PORT: 6379 50 | API_SIGNER: remote 51 | API_SIGNER_URL: http://proxitok-signer:8080/signature 52 | restart: on-failure:5 53 | depends_on: 54 | proxitok-redis: 55 | condition: service_healthy 56 | proxitok-signer: 57 | condition: service_healthy 58 | -------------------------------------------------------------------------------- /Template/Stack/pve-exporter.yml: -------------------------------------------------------------------------------- 1 | services: 2 | pve-exporter: 3 | image: prompve/prometheus-pve-exporter 4 | container_name: pve-exporter 5 | ports: 6 | - 9221:9221 7 | volumes: 8 | - /portainer/Files/AppData/Config/pve-exporter:/etc/pve.yml 9 | restart: always 10 | -------------------------------------------------------------------------------- /Template/Stack/readarr.yml: -------------------------------------------------------------------------------- 1 | services: 2 | readarr: 3 | image: lscr.io/linuxserver/readarr:develop 4 | container_name: readarr 5 | environment: 6 | - PUID=1000 7 | - PGID=1000 8 | - TZ=Europe/Athens 9 | volumes: 10 | - /portainer/Files/AppData/Config/readarr/data:/config 11 | - /portainer/Files/AppData/Config/readarr/books:/books #optional 12 | - /portainer/Files/AppData/Config/readarr/downloads:/downloads #optional 13 | ports: 14 | - 8787:8787 15 | restart: unless-stopped 16 | -------------------------------------------------------------------------------- /Template/Stack/remotely.yml: -------------------------------------------------------------------------------- 1 | services: 2 | remotely: 3 | image: immybot/remotely:latest 4 | ports: 5 | - 5009:5000 6 | volumes: 7 | - /portainer/Files/AppData/Config/remotely:/remotely-data 8 | -------------------------------------------------------------------------------- /Template/Stack/renovate.yml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /Template/Stack/romm.env: -------------------------------------------------------------------------------- 1 | ROMM_BASE_PATH=/path/to/romm_mock 2 | DEV_MODE=true 3 | 4 | # Gunicorn (optional) 5 | GUNICORN_WORKERS=4 # (2 × CPU cores) + 1 6 | 7 | # IGDB credentials 8 | IGDB_CLIENT_ID= 9 | IGDB_CLIENT_SECRET= 10 | 11 | # Mobygames 12 | MOBYGAMES_API_KEY= 13 | 14 | # SteamGridDB 15 | STEAMGRIDDB_API_KEY= 16 | 17 | # Database config 18 | #DB_HOST=127.0.0.1 19 | DB_PORT=3306 20 | MARIADB_ROOT_PASSWORD= # Use a unique, secure password 21 | MARIADB_DATABASE=romm 22 | MARIADB_USER=romm-user 23 | MARIADB_PASSWORD= 24 | 25 | # Redis config 26 | REDIS_HOST=127.0.0.1 27 | REDIS_PORT=6379 28 | 29 | # Authentik 30 | POSTGRES_DB=authentik 31 | POSTGRES_USER=authentik 32 | POSTGRES_PASSWORD= 33 | AUTHENTIK_SECRET_KEY= 34 | AUTHENTIK_BOOTSTRAP_PASSWORD= 35 | 36 | # Authentication 37 | ROMM_AUTH_SECRET_KEY= 38 | # Disable auth on download endpoint for 3rd party support 39 | DISABLE_DOWNLOAD_ENDPOINT_AUTH= 40 | # Disable CSRF protection for development and testing purposes 41 | DISABLE_CSRF_PROTECTION= 42 | # Disable username + passsword login when using OIDC login 43 | DISABLE_USERPASS_LOGIN= 44 | 45 | # OpenID Connect (Authentik, Authelia, etc.) 46 | OIDC_ENABLED= 47 | OIDC_PROVIDER= 48 | OIDC_CLIENT_ID= 49 | OIDC_CLIENT_SECRET= 50 | OIDC_REDIRECT_URI= 51 | OIDC_SERVER_APPLICATION_URL= 52 | 53 | # Filesystem watcher (optional) 54 | ENABLE_RESCAN_ON_FILESYSTEM_CHANGE=true 55 | RESCAN_ON_FILESYSTEM_CHANGE_DELAY=5 56 | 57 | # Periodic Tasks (optional) 58 | ENABLE_SCHEDULED_RESCAN=true 59 | SCHEDULED_RESCAN_CRON=0 3 * * * 60 | ENABLE_SCHEDULED_UPDATE_SWITCH_TITLEDB=true 61 | SCHEDULED_UPDATE_SWITCH_TITLEDB_CRON=0 4 * * * 62 | 63 | # In-browser emulation 64 | DISABLE_EMULATOR_JS=false 65 | DISABLE_RUFFLE_RS=false 66 | 67 | # Logging 68 | LOGLEVEL=DEBUG 69 | -------------------------------------------------------------------------------- /Template/Stack/romm.yml: -------------------------------------------------------------------------------- 1 | services: 2 | romm: 3 | image: rommapp/romm:latest 4 | container_name: romm 5 | restart: unless-stopped 6 | environment: 7 | - DB_HOST=romm-db 8 | - DB_NAME=romm # Should match MARIADB_DATABASE in mariadb 9 | - DB_USER=romm-user # Should match MARIADB_USER in mariadb 10 | - DB_PASSWD= # Should match MARIADB_PASSWORD in mariadb 11 | - ROMM_AUTH_SECRET_KEY= # Generate a key with `openssl rand -hex 32` 12 | - IGDB_CLIENT_ID= # Generate an ID and SECRET in IGDB 13 | - IGDB_CLIENT_SECRET= # https://api-docs.igdb.com/#account-creation 14 | - MOBYGAMES_API_KEY= # https://www.mobygames.com/info/api/ 15 | - STEAMGRIDDB_API_KEY= # https://github.com/rommapp/romm/wiki/Generate-API-Keys#steamgriddb 16 | volumes: 17 | - /portainer/Files/AppData/Config/romm/resources:/romm/resources # Resources fetched from IGDB (covers, screenshots, etc.) 18 | - /portainer/Files/AppData/Config/romm/redis_data:/redis-data # Cached data for background tasks 19 | - /portainer/roms/library:/romm/library # Your game library. Check https://github.com/rommapp/romm?tab=readme-ov-file#folder-structure for more details. 20 | - /portainer/roms/assets:/romm/assets # Uploaded saves, states, etc. 21 | - /portainer/Files/AppData/Config/romm/config:/romm/config # Path where config.yml is stored 22 | ports: 23 | - 480:8080 24 | depends_on: 25 | romm-db: 26 | condition: service_healthy 27 | restart: true 28 | romm-db: 29 | image: mariadb:latest 30 | container_name: romm-db 31 | restart: unless-stopped 32 | env_file: 33 | - romm.env 34 | volumes: 35 | - /portainer/Files/AppData/Config/romm/maria-db:/var/lib/mysql 36 | healthcheck: 37 | test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"] 38 | start_period: 30s 39 | start_interval: 10s 40 | interval: 10s 41 | timeout: 5s 42 | retries: 5 43 | ports: 44 | - $DB_PORT:3306 45 | 46 | 47 | 48 | 49 | 50 | -------------------------------------------------------------------------------- /Template/Stack/rport.yml: -------------------------------------------------------------------------------- 1 | services: 2 | rport-server: 3 | container_name: rport 4 | image: iotech17/rport:latest 5 | restart: always 6 | privileged: true 7 | ports: 8 | - 3000:3000 9 | - 4822:4822 10 | - 10000:8080 11 | - 20000-20100:20000-20100 12 | volumes: 13 | - type: bind 14 | source: /portainer/Files/AppData/Config/rport/rportd.conf 15 | target: /etc/rport/rportd.conf:ro 16 | - type: bind 17 | source: /portainer/Files/AppData/Config/rport/rport.key 18 | target: /var/lib/rport/rport.key:ro 19 | - type: bind 20 | source: /portainer/Files/AppData/Config/rport/rport.crt 21 | target: /var/lib/rport/rport.crt:ro 22 | - type: bind 23 | source: /portainer/Files/AppData/Config/rport/data 24 | target: /var/lib/rport/ 25 | -------------------------------------------------------------------------------- /Template/Stack/rr_mtm.yml: -------------------------------------------------------------------------------- 1 | services: 2 | lidarr: 3 | container_name: lidarr 4 | environment: 5 | - "PUID=${PUID}" 6 | - "PGID=${PGID}" 7 | - "UMASK=${UMASK}" 8 | - "TZ=${TZ}" 9 | image: hotio/lidarr:nightly 10 | restart: unless-stopped 11 | privileged: true 12 | ports: 13 | - "${LIDARRPORT}:8686" 14 | volumes: 15 | - "${APPDATA}/lidarr:/config" 16 | - "${DOWNLOAD}:/data" 17 | - "${MUSIC}:/music" 18 | radarr: 19 | container_name: radarr 20 | environment: 21 | - "PUID=${PUID}" 22 | - "PGID=${PGID}" 23 | - "UMASK=${UMASK}" 24 | - "TZ=${TZ}" 25 | image: hotio/radarr:nightly 26 | restart: unless-stopped 27 | privileged: true 28 | ports: 29 | - "${RADARRPORT}:7878" 30 | volumes: 31 | - "${APPDATA}/radarr:/config" 32 | - "${DOWNLOAD}:/data" 33 | - "${MOVIES}:/movie" 34 | sonarr: 35 | container_name: sonarr 36 | environment: 37 | - "PUID=${PUID}" 38 | - "PGID=${PGID}" 39 | - "UMASK=${UMASK}" 40 | - "TZ=${TZ}" 41 | image: hotio/sonarr:nightly 42 | restart: unless-stopped 43 | privileged: true 44 | ports: 45 | - "${SONARRPORT}:8989" 46 | volumes: 47 | - "${APPDATA}/sonarr:/config" 48 | - "${DOWNLOAD}:/data" 49 | - "${TV}:/tv" 50 | -------------------------------------------------------------------------------- /Template/Stack/rustdesk.yml: -------------------------------------------------------------------------------- 1 | networks: 2 | rustdesk-net: 3 | external: false 4 | 5 | services: 6 | hbbs: 7 | container_name: hbbs 8 | ports: 9 | - 21115:21115 10 | - 21116:21116 11 | - 21116:21116/udp 12 | - 21118:21118 13 | image: rustdesk/rustdesk-server:latest 14 | command: hbbs -r rustdesk.example.com:21117 15 | volumes: 16 | - /portainer/Files/AppData/Config/rustdesk/data:/root 17 | networks: 18 | - rustdesk-net 19 | depends_on: 20 | - hbbr 21 | restart: unless-stopped 22 | 23 | hbbr: 24 | container_name: hbbr 25 | ports: 26 | - 21117:21117 27 | - 21119:21119 28 | image: rustdesk/rustdesk-server:latest 29 | command: hbbr 30 | volumes: 31 | - /portainer/Files/AppData/Config/hbbr/data:/root 32 | networks: 33 | - rustdesk-net 34 | restart: unless-stopped 35 | -------------------------------------------------------------------------------- /Template/Stack/shaarli.yml: -------------------------------------------------------------------------------- 1 | services: 2 | shaarli: 3 | container_name: Shaarli 4 | image: ghcr.io/shaarli/shaarli:latest 5 | restart: on-failure 6 | ports: 7 | - 7755:80 8 | volumes: 9 | - /portainer/Files/AppData/Config/shaarli/cache:/var/www/shaarli/cache:rw 10 | - /portainer/Files/AppData/Config/shaarli/data:/var/www/shaarli/data:rw 11 | environment: 12 | PUID: 1026 13 | PGID: 100 14 | TZ: Europe/Athens 15 | -------------------------------------------------------------------------------- /Template/Stack/shiori.yml: -------------------------------------------------------------------------------- 1 | services: 2 | shiori: 3 | image: ghcr.io/go-shiori/shiori 4 | container_name: shiori-default 5 | environment: 6 | - TZ=Europe/Athens 7 | - PUID=1000 8 | - PGID=1000 9 | ports: 10 | - 8580:8080 11 | restart: unless-stopped 12 | volumes: 13 | - /portainer/Files/AppData/Config/shiori:/data 14 | 15 | -------------------------------------------------------------------------------- /Template/Stack/signal.yml: -------------------------------------------------------------------------------- 1 | services: 2 | nginx-terminate: 3 | build: ./nginx-terminate/ 4 | restart: unless-stopped 5 | volumes: 6 | - /portainer/Files/AppData/Configs/nginx-terminate:/etc/nginx/conf.d 7 | - /portainer/Files/AppData/Configs/certbot/conf:/etc/letsencrypt 8 | - /portainer/Files/AppData/Configs/certbot/www:/var/www/certbot 9 | ports: 10 | - "443:443" 11 | - "80:80" 12 | command: "/bin/sh -c 'while :; do sleep 6h & wait $${!}; /opt/nginx/sbin/nginx -s reload; done & /opt/nginx/sbin/nginx -c /etc/nginx/conf.d/nginx.conf -g \"daemon off;\"'" 13 | nginx-relay: 14 | build: ./nginx-relay/ 15 | restart: unless-stopped 16 | volumes: 17 | - /portainer/Files/AppData/Configs/nginx-relay:/etc/nginx/conf.d 18 | command: "/bin/sh -c 'while :; do sleep 6h & wait $${!}; /opt/nginx/sbin/nginx -s reload; done & /opt/nginx/sbin/nginx -c /etc/nginx/conf.d/nginx.conf -g \"daemon off;\"'" 19 | certbot: 20 | image: certbot/certbot 21 | restart: unless-stopped 22 | volumes: 23 | - /portainer/Files/AppData/Configs/certbot/conf:/etc/letsencrypt 24 | - /portainer/Files/AppData/Configs/certbot/www:/var/www/certbot 25 | entrypoint: "/bin/sh -c 'trap exit TERM; while :; do certbot renew; sleep 12h & wait $${!}; done;'" 26 | -------------------------------------------------------------------------------- /Template/Stack/silverstripe.yml: -------------------------------------------------------------------------------- 1 | services: 2 | silverstripe: 3 | image: brettt89/silverstripe-web:8.1-apache 4 | volumes: 5 | - /portainer/Files/AppData/Config/silverstripe:/var/www/html 6 | depends_on: 7 | - silverstripe-db 8 | environment: 9 | - DOCUMENT_ROOT=/var/www/html/public 10 | - SS_TRUSTED_PROXY_IPS=* 11 | - SS_ENVIRONMENT_TYPE=dev 12 | - SS_DATABASE_SERVER=database 13 | - SS_DATABASE_NAME=SS_mysite 14 | - SS_DATABASE_USERNAME=root 15 | - SS_DATABASE_PASSWORD= 16 | - SS_DEFAULT_ADMIN_USERNAME=admin 17 | - SS_DEFAULT_ADMIN_PASSWORD=password 18 | silverstripe-db: 19 | image: mysql:5.7 20 | environment: 21 | - MYSQL_ALLOW_EMPTY_PASSWORD=yes 22 | volumes: 23 | - /portainer/Files/AppData/Config/silverstripe/db-data:/var/lib/mysql 24 | volumes: 25 | db-data: 26 | -------------------------------------------------------------------------------- /Template/Stack/snibox.yml: -------------------------------------------------------------------------------- 1 | services: 2 | frontend: 3 | image: snibox/nginx-puma:1.15.9 4 | ports: 5 | - "8000:80" 6 | volumes: 7 | - static-files:/var/www/html 8 | depends_on: 9 | - backend 10 | 11 | backend: 12 | image: snibox/snibox:latest 13 | command: sh -c "rm -rf tmp/pids && ./bin/rails s -p 3010 -b '0.0.0.0'" 14 | environment: 15 | DB_NAME: "${DB_NAME}" 16 | DB_USER: "${DB_USER}" 17 | DB_PASS: "${DB_PASS}" 18 | DB_HOST: "${DB_HOST}" 19 | DB_PORT: "${DB_PORT}" 20 | FORCE_SSL: "${FORCE_SSL}" 21 | MAILGUN_SMTP_PORT: "${MAILGUN_SMTP_PORT}" 22 | MAILGUN_SMTP_SERVER: "${MAILGUN_SMTP_SERVER}" 23 | MAILGUN_SMTP_LOGIN: "${MAILGUN_SMTP_LOGIN}" 24 | MAILGUN_SMTP_PASSWORD: "${MAILGUN_SMTP_PASSWORD}" 25 | MAILGUN_API_KEY: "${MAILGUN_API_KEY}" 26 | MAILGUN_DOMAIN: "${MAILGUN_DOMAIN}" 27 | MAILGUN_PUBLIC_KEY: "${MAILGUN_PUBLIC_KEY}" 28 | SECRET_KEY_BASE: "${SECRET_KEY_BASE}" 29 | volumes: 30 | - /portainer/Files/AppData/Config/snibox:/app/public 31 | depends_on: 32 | - database 33 | 34 | database: 35 | image: postgres:10.7-alpine 36 | volumes: 37 | - /portainer/Files/AppData/Config/snibox/pg-data:/var/lib/postgresql/data 38 | -------------------------------------------------------------------------------- /Template/Stack/snippetbox.yml: -------------------------------------------------------------------------------- 1 | services: 2 | snippet-box: 3 | image: pawelmalak/snippet-box 4 | container_name: snippet-box 5 | volumes: 6 | - /portainer/Files/AppData/Config/snippetbox/data:/app/data 7 | ports: 8 | - 5000:5000 9 | restart: unless-stopped 10 | -------------------------------------------------------------------------------- /Template/Stack/speedtest-tracker.yml: -------------------------------------------------------------------------------- 1 | services: 2 | speedtest-tracker: 3 | container_name: speedtest-tracker 4 | restart: unless-stopped 5 | ports: 6 | - 8288:80 7 | environment: 8 | - PUID=1000 9 | - PGID=1000 10 | - DB_CONNECTION=sqlite 11 | volumes: 12 | - /portainer/Files/AppData/Config/speedtest-tracker:/config 13 | image: lscr.io/linuxserver/speedtest-tracker:latest 14 | -------------------------------------------------------------------------------- /Template/Stack/stirling-pdf.yml: -------------------------------------------------------------------------------- 1 | services: 2 | stirling-pdf: 3 | image: frooodle/s-pdf:latest 4 | ports: 5 | - 8180:8080 6 | volumes: 7 | - /portainer/Files/AppData/Config/tesseract-training-data:/usr/share/tesseract-ocr/4.00/tessdata #Required for extra OCR languages 8 | - /portainer/Files/AppData/Config/stirling-pdf:/configs 9 | # - /location/of/customFiles:/customFiles/ 10 | environment: 11 | - DOCKER_ENABLE_SECURITY=false 12 | -------------------------------------------------------------------------------- /Template/Stack/syncthing.yml: -------------------------------------------------------------------------------- 1 | services: 2 | syncthing: 3 | image: lscr.io/linuxserver/syncthing:latest 4 | container_name: syncthing 5 | hostname: syncthing #optional 6 | environment: 7 | - PUID=1000 8 | - PGID=1000 9 | - TZ=Europe/Athens 10 | volumes: 11 | - /portainer/Files/AppData/Config/syncthing:/config 12 | - /portainer:/portainer 13 | ports: 14 | - 8384:8384 15 | - 22000:22000/tcp 16 | - 22000:22000/udp 17 | - 21027:21027/udp 18 | restart: unless-stopped 19 | -------------------------------------------------------------------------------- /Template/Stack/tabby.yml: -------------------------------------------------------------------------------- 1 | services: 2 | 3 | tabby: 4 | image: parksauce/tabby 5 | container_name: tabby 6 | ports: 7 | - 8010:80 8 | restart: unless-stopped 9 | 10 | tabby-db: 11 | image: linuxserver/mariadb 12 | container_name: tabby-db 13 | environment: 14 | - PUID=1000 # Run 'id' in your terminal to get this value 15 | - PGID=1000 # Run 'id' in your terminal to get this value 16 | - MYSQL_ROOT_PASSWORD=ROOT_ACCESS_PASSWORD 17 | - TZ=Europe/Athens 18 | - MYSQL_DATABASE=tabby 19 | - MYSQL_USER=tabby 20 | - MYSQL_PASSWORD=tabby 21 | volumes: 22 | - /portainer/Files/AppData/Config/tabby/db:/config 23 | restart: unless-stopped 24 | -------------------------------------------------------------------------------- /Template/Stack/tailscale.yml: -------------------------------------------------------------------------------- 1 | services: 2 | tailscale: 3 | hostname: tailscale # This will become the tailscale device name 4 | container_name: tailscale 5 | image: tailscale/tailscale:latest 6 | network_mode: host 7 | volumes: 8 | - /portainer/Files/AppData/Config/tailscale:/var/lib # State data will be stored in this directory 9 | - /dev/net/tun:/dev/net/tun # Required for tailscale to work 10 | cap_add: # Required for tailscale to work 11 | - net_admin 12 | - sys_module 13 | command: tailscaled 14 | restart: unless-stopped 15 | -------------------------------------------------------------------------------- /Template/Stack/tandoor.yml: -------------------------------------------------------------------------------- 1 | services: 2 | db_recipes: 3 | image: postgres 4 | environment: 5 | - POSTGRES_DB=postgres 6 | - POSTGRES_USER=postgres 7 | - POSTGRES_PASSWORD=postgres 8 | 9 | recipes: 10 | image: vabene1111/recipes 11 | container_name: tandoor 12 | ports: 13 | - 82:8080 14 | volumes: 15 | - /portainer/Files/AppData/Config/tandoor/staticfiles:/opt/recipes/staticfiles 16 | - /portainer/Files/AppData/Config/tandoor/mediafiles:/opt/recipes/mediafiles 17 | environment: 18 | - SECRET_KEY=YOUR_SECRET_KEY 19 | - DB_ENGINE=django.db.backends.postgresql 20 | - POSTGRES_HOST=db_recipes 21 | - POSTGRES_PORT=5432 22 | - POSTGRES_USER=postgres 23 | - POSTGRES_PASSWORD=postgres 24 | - POSTGRES_DB=postgres 25 | restart: unless-stopped 26 | depends_on: 27 | - db_recipes 28 | -------------------------------------------------------------------------------- /Template/Stack/tdarr.yml: -------------------------------------------------------------------------------- 1 | services: 2 | tdarr: 3 | container_name: tdarr 4 | image: ghcr.io/haveagitgat/tdarr:latest 5 | restart: unless-stopped 6 | network_mode: bridge 7 | ports: 8 | - 8265:8265 # webUI port 9 | - 8266:8266 # server port 10 | - 8267:8267 # Internal node port 11 | - 8268:8268 # Example extra node port 12 | environment: 13 | - TZ=Europe/Athens 14 | - PUID=${PUID} 15 | - PGID=${PGID} 16 | - UMASK_SET=002 17 | - serverIP=0.0.0.0 18 | - serverPort=8266 19 | - webUIPort=8265 20 | - internalNode=true 21 | - nodeID=MyInternalNode 22 | volumes: 23 | - /portainer/Files/AppData/Config/tdarr/server:/app/server 24 | - /portainer/Files/AppData/Config/tdarr/configs:/app/configs 25 | - /portainer/Files/AppData/Config/logs:/app/logs 26 | - /portainer/media:/media 27 | - /portainer/transcode_cache:/temp 28 | -------------------------------------------------------------------------------- /Template/Stack/teleportenv.file: -------------------------------------------------------------------------------- 1 | DEBUG=1 2 | CONTAINERHOME=/root/go/src/github.com/gravitational/teleport 3 | -------------------------------------------------------------------------------- /Template/Stack/timetagger.yml: -------------------------------------------------------------------------------- 1 | services: 2 | timetagger: 3 | image: ghcr.io/almarklein/timetagger 4 | ports: 5 | - "280:80" 6 | volumes: 7 | - /portainer/Files/AppData/Config/timetagger:/root/_timetagger 8 | environment: 9 | - TIMETAGGER_BIND=0.0.0.0:80 10 | - TIMETAGGER_DATADIR=/root/_timetagger 11 | - TIMETAGGER_LOG_LEVEL=info 12 | - TIMETAGGER_CREDENTIALS=test:$$2a$$08$$0CD1NFiIbancwWsu3se1v.RNR/b7YeZd71yg3cZ/3whGlyU6Iny5i # test:test 13 | -------------------------------------------------------------------------------- /Template/Stack/tinymediamanager.yml: -------------------------------------------------------------------------------- 1 | services: 2 | tinymediamanager: 3 | image: tinymediamanager/tinymediamanager:latest 4 | container_name: tinymediamanager 5 | environment: 6 | - USER_ID=1000 7 | - GROUP_ID=100 8 | - ALLOW_DIRECT_VNC=true 9 | - LC_ALL=en_US.UTF-8 # force UTF8 10 | - LANG=en_US.UTF-8 # force UTF8 11 | - PASSWORD=tinymediamanager 12 | volumes: 13 | - /portainer/Files/AppData/Config/tinemediamanager/data:/data 14 | - /portainer/movies:/media/movies 15 | - /portainer/tvshows:/media/tvshows 16 | ports: 17 | - 5900:5900 # VNC port 18 | - 4000:4000 # Webinterface 19 | restart: unless-stopped 20 | -------------------------------------------------------------------------------- /Template/Stack/tooljet.yml: -------------------------------------------------------------------------------- 1 | services: 2 | tooljet-plugins: 3 | build: 4 | context: ./ 5 | dockerfile: ./docker/plugins.Dockerfile.dev 6 | image: tooljet-plugins:development 7 | platform: linux/x86_64 8 | volumes: 9 | - /portainer/Files/AppData/Config/tooljet/plugins:/app/plugins 10 | command: npm run --prefix plugins start 11 | 12 | tooljet-client: 13 | build: 14 | context: ./ 15 | dockerfile: ./docker/client.Dockerfile.dev 16 | image: tooljet-client:development 17 | platform: linux/x86_64 18 | volumes: 19 | - /portainer/Files/AppData/Config/tooljet:/app/frontend:delegated 20 | - /portainer/Files/AppData/Config/tooljet/plugins:/app/plugins 21 | - /portainer/Files/AppData/Config/tooljet/app/frontend/node_modules/ 22 | ports: 23 | - 8082:8082 24 | environment: 25 | - WEBPACKER_DEV_SERVER_HOST=0.0.0.0 26 | - NODE_ENV=development 27 | - SERVE_CLIENT=false 28 | command: npm run --prefix frontend start 29 | 30 | tooljet-server: 31 | build: 32 | context: ./ 33 | dockerfile: ./docker/server.Dockerfile.dev 34 | image: tooljet-server:development 35 | platform: linux/x86_64 36 | depends_on: 37 | - tooljet-postgres 38 | volumes: 39 | - /portainer/Files/AppData/Config/tooljet/server:/app/server:delegated 40 | - /portainer/Files/AppData/Config/tooljet/server/plugins:/app/plugins 41 | - /portainer/Files/AppData/Config/tooljet/server/app/server/node_modules/ 42 | - /portainer/Files/AppData/Config/tooljet/server/.env:/app/.env 43 | - /portainer/Files/AppData/Config/tooljet/server/.env.test:/app/.env.test 44 | ports: 45 | - 3000:3000 46 | environment: 47 | - SERVE_CLIENT=false 48 | - FORCE_COLOR=1 49 | command: npm run --prefix server start:dev 50 | 51 | tooljet-postgrest: 52 | image: postgrest/postgrest:v10.1.1.20221215 53 | ports: 54 | - "7001:3000" 55 | env_file: 56 | - /portainer/Files/AppData/Config/tooljet/server/.env 57 | depends_on: 58 | - tooljet-postgres 59 | 60 | tooljet-postgres: 61 | image: postgres:13 62 | restart: always 63 | ports: 64 | - 5432:5432 65 | volumes: 66 | - /portainer/Files/AppData/Config/tooljet/postgres:/data/postgres 67 | environment: 68 | - POSTGRES_PASSWORD=postgres 69 | -------------------------------------------------------------------------------- /Template/Stack/traggo.yml: -------------------------------------------------------------------------------- 1 | services: 2 | traggo: 3 | image: traggo/server:latest 4 | ports: 5 | - 3030:3030 6 | environment: 7 | TRAGGO_DEFAULT_USER_NAME: "admin" 8 | TRAGGO_DEFAULT_USER_PASS: "mynewpassword" 9 | volumes: 10 | - /portainer/Files/AppData/Config/traggo/data:/opt/traggo/data 11 | -------------------------------------------------------------------------------- /Template/Stack/trudesk.yml: -------------------------------------------------------------------------------- 1 | services: 2 | trudesk: 3 | image: polonel/trudesk 4 | restart: always 5 | ports: 6 | - 8118:8118 7 | dns: 8 | - 8.8.8.8 9 | - 1.1.1.1 10 | environment: 11 | NODE_ENV: production 12 | TRUDESK_DOCKER: true 13 | TD_MONGODB_SERVER: mongo 14 | TD_MONGODB_DATABASE: trudesk 15 | ELATICSEARCH_URI: http://elasticsearch:9200 16 | TZ: Europe/Athens 17 | volumes: 18 | - /portainer/Files/AppData/Config/trudesk/uploads:/usr/src/trudesk/public/uploads 19 | - /portainer/Files/AppData/Config/trudesk/backups:/usr/src/trudesk/backups 20 | mongo: 21 | image: mongo 22 | restart: always 23 | ports: 24 | - 27017:27017 25 | volumes: 26 | - /portainer/Files/AppData/Config/trudesk/mongo:/var/lib/mongo 27 | - /portainer/Files/AppData/Config/trudesk/mongo:/data/configdb 28 | - /portainer/Files/AppData/Config/trudesk/mongo:/data/db 29 | 30 | elasticsearch: 31 | image: elasticsearch:8.0.0 32 | restart: always 33 | environment: 34 | - xpack.security.enabled=false 35 | - xpack.security.http.ssl.enabled=false 36 | - node.name=estrudesk01 37 | - cluster.initial_master_nodes=estrudesk01 38 | - discovery.seed_hosts=estrudesk01 39 | - bootstrap.memory_lock=true 40 | ulimits: 41 | memlock: 42 | soft: -1 43 | hard: -1 44 | ports: 45 | - 9200:9200 46 | - 9300:9300 47 | volumes: 48 | - /volume1/docker/trudesk/elasticsearch:/usr/share/elasticsearch/data 49 | -------------------------------------------------------------------------------- /Template/Stack/tubearchivist.yml: -------------------------------------------------------------------------------- 1 | services: 2 | tubearchivist: 3 | container_name: tubearchivist 4 | restart: unless-stopped 5 | image: bbilly1/tubearchivist 6 | ports: 7 | - 8999:8000 8 | volumes: 9 | - /portainer/media:/youtube 10 | - /portainer/cache:/cache 11 | environment: 12 | - ES_URL=http://archivist-es:9200 # needs protocol e.g. http and port 13 | - REDIS_HOST=archivist-redis # don't add protocol 14 | - HOST_UID=1000 15 | - HOST_GID=1000 16 | - TA_HOST=INSERT_YOURIP_OR_HOSTNAME ##REQUIRED - set your Server IP or host name 17 | - TA_USERNAME=tubearchivist # your initial TA credentials 18 | - TA_PASSWORD=verysecret # your initial TA credentials 19 | - ELASTIC_PASSWORD=verysecret # set password for Elasticsearch 20 | - TZ=Europe/Athens # set your time zone 21 | depends_on: 22 | - archivist-es 23 | - archivist-redis 24 | archivist-redis: 25 | image: redis/redis-stack-server 26 | container_name: archivist-redis 27 | restart: unless-stopped 28 | expose: 29 | - 6379 30 | volumes: 31 | - /portainer/Files/AppData/Config/tubearchivist/redis:/data 32 | depends_on: 33 | - archivist-es 34 | archivist-es: 35 | image: bbilly1/tubearchivist-es # only for amd64, or use official es 8.7.0 36 | container_name: archivist-es 37 | restart: unless-stopped 38 | environment: 39 | - ELASTIC_PASSWORD=verysecret # matching Elasticsearch password 40 | - ES_JAVA_OPTS=-Xms512m -Xmx512m 41 | - xpack.security.enabled=true 42 | - discovery.type=single-node 43 | - path.repo=/usr/share/elasticsearch/data/snapshot 44 | ulimits: 45 | memlock: 46 | soft: -1 47 | hard: -1 48 | volumes: 49 | - /portainer/Files/AppData/Config/tubearchivist/es:/usr/share/elasticsearch/data # check for permission error when using bind mount, see readme 50 | expose: 51 | - 9200 52 | -------------------------------------------------------------------------------- /Template/Stack/umami.yml: -------------------------------------------------------------------------------- 1 | services: 2 | umami: 3 | image: ghcr.io/umami-software/umami:postgresql-latest 4 | ports: 5 | - "3003:3000" 6 | environment: 7 | DATABASE_URL: postgresql://umami:umami@db:5432/umami 8 | DATABASE_TYPE: postgresql 9 | HASH_SALT: replace-me-with-a-random-string 10 | depends_on: 11 | - db 12 | restart: always 13 | db: 14 | image: postgres:15-alpine 15 | environment: 16 | POSTGRES_DB: umami 17 | POSTGRES_USER: umami 18 | POSTGRES_PASSWORD: umami 19 | volumes: 20 | - /portainer/Files/AppData/Config/umami:/docker-entrypoint-initdb.d/schema.postgresql.sql:ro 21 | - umami-db-data:/var/lib/postgresql/data 22 | restart: always 23 | volumes: 24 | umami-db-data: 25 | -------------------------------------------------------------------------------- /Template/Stack/upsnap.yml: -------------------------------------------------------------------------------- 1 | services: 2 | upsnap: 3 | image: ghcr.io/seriousm4x/upsnap:3 4 | network_mode: host 5 | restart: always 6 | ports: 7 | - 8290:80 8 | volumes: 9 | - /portainer/Files/AppData/Config/upsnap:/app/pb_data 10 | healthcheck: 11 | test: wget --no-verbose --tries=1 --spider http://localhost:8290/api/health || exit 1 12 | interval: 1m 13 | timeout: 10s 14 | retries: 3 15 | environment: 16 | - TZ=Europe/Athens # Set container timezone for cron schedules 17 | # - UPSNAP_INTERVAL=@every 10s # Sets the interval in which the devices are pinged 18 | - UPSNAP_SCAN_RANGE=192.168.0.0/24 # Scan range is used for device discovery on local network 19 | - UPSNAP_WEBSITE_TITLE=Custom name # Custom website title 20 | # # you can change the listen ip:port inside the container or install custom packages for shutdown via a custom entrypoint 21 | # entrypoint: /bin/sh -c "apk update && apk add --no-cache ipmitool && rm -rf /var/cache/apk/* && ./upsnap serve --http 0.0.0.0:8290" 22 | -------------------------------------------------------------------------------- /Template/Stack/uptimekuma.yml: -------------------------------------------------------------------------------- 1 | # Simple docker-compose.yml 2 | # You can change your port or volume location 3 | services: 4 | uptime-kuma: 5 | image: louislam/uptime-kuma:1 6 | container_name: uptime-kuma 7 | volumes: 8 | - /portainer/Files/AppData/Config/uptime-kuma-data:/app/data 9 | - /var/run/docker.sock:/var/run/docker.sock 10 | ports: 11 | - 3001:3001 # : 12 | restart: always 13 | -------------------------------------------------------------------------------- /Template/Stack/vikunja.yml: -------------------------------------------------------------------------------- 1 | services: 2 | vikunjadb: 3 | image: mariadb:10 4 | command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci 5 | environment: 6 | MYSQL_ROOT_PASSWORD: supersecret 7 | MYSQL_USER: vikunja 8 | MYSQL_PASSWORD: secret 9 | MYSQL_DATABASE: vikunja 10 | volumes: 11 | - ./db:/var/lib/mysql 12 | restart: unless-stopped 13 | api: 14 | image: vikunja/api 15 | environment: 16 | VIKUNJA_DATABASE_HOST: vikunjadb 17 | VIKUNJA_DATABASE_PASSWORD: secret 18 | VIKUNJA_DATABASE_TYPE: mysql 19 | VIKUNJA_DATABASE_USER: vikunja 20 | VIKUNJA_DATABASE_DATABASE: vikunja 21 | VIKUNJA_SERVICE_JWTSECRET: lgdfjgdlamsvcnls 22 | VIKUNJA_SERVICE_FRONTENDURL: http://10.11.11.128:1180/api/v1/ 23 | ports: 24 | - 3456:3456 25 | volumes: 26 | - ./files:/app/vikunja/files 27 | depends_on: 28 | - vikunjadb 29 | restart: unless-stopped 30 | frontend: 31 | image: vikunja/frontend 32 | ports: 33 | - 1180:80 34 | environment: 35 | VIKUNJA_API_URL: http://10.11.11.128:3456/api/v1 36 | restart: unless-stopped 37 | -------------------------------------------------------------------------------- /Template/Stack/vpn_download.yml: -------------------------------------------------------------------------------- 1 | services: 2 | jackett: 3 | container_name: jackett 4 | depends_on: 5 | - qbittorrent 6 | environment: 7 | - "PUID=${PUID}" 8 | - "PGID=${PGID}" 9 | - "UMASK=${UMASK}" 10 | - "TZ=${TZ}" 11 | image: hotio/jackett 12 | network_mode: "service:qbittorrent" 13 | restart: unless-stopped 14 | volumes: 15 | - "${APPDATA}/jackett:/config" 16 | - "${DOWNLOAD}:/data" 17 | nzbget: 18 | container_name: nzbget 19 | depends_on: 20 | - qbittorrent 21 | environment: 22 | - "PUID=${PUID}" 23 | - "PGID=${PGID}" 24 | - "UMASK=${UMASK}" 25 | - "TZ=${TZ}" 26 | image: hotio/nzbget 27 | network_mode: "service:qbittorrent" 28 | restart: unless-stopped 29 | volumes: 30 | - "${APPDATA}/nzbget:/config" 31 | - "${DOWNLOAD}:/data" 32 | nzbhydra2: 33 | container_name: nzbhydra2 34 | depends_on: 35 | - qbittorrent 36 | environment: 37 | - "PUID=${PUID}" 38 | - "PGID=${PGID}" 39 | - "UMASK=${UMASK}" 40 | - "TZ=${TZ}" 41 | image: hotio/nzbhydra2 42 | network_mode: "service:qbittorrent" 43 | restart: unless-stopped 44 | volumes: 45 | - "${APPDATA}/nzbhydra2:/config" 46 | qbittorrent: 47 | container_name: qbittorrent 48 | environment: 49 | - "PUID=${PUID}" 50 | - "PGID=${PGID}" 51 | - "UMASK=${UMASK}" 52 | - "TZ=${TZ}" 53 | - "VPN_ENABLED=${VPN_ENABLED}" 54 | - "VPN_USER=${VPN_USER}" 55 | - "VPN_PASS=${VPN_PASS}" 56 | - "VPN_PROV=${VPN_PROV}" 57 | - "VPN_CLIENT=${VPN_CLIENT}" 58 | - "VPN_OPTIONS=${VPN_OPTIONS}" 59 | - "STRICT_PORT_FORWARD=${STRICT_PORT_FORWARD}" 60 | - "ENABLE_PRIVOXY=${ENABLE_PRIVOXY}" 61 | - "LAN_NETWORK=${LAN_NETWORK}" 62 | - "NAME_SERVERS=${NAME_SERVERS}" 63 | - "ADDITIONAL_PORTS=${ADDITIONAL_PORTS}" 64 | - "DEBUG=${DEBUG}" 65 | - "WEBUI_PORT=${QBITTORENTPORT}" 66 | image: binhex/arch-qbittorrentvpn 67 | ports: 68 | - "6881:6881" 69 | - "6881:6881/udp" 70 | - "${QBITTORENTPORT}:8080" 71 | - "${PRIVOXYPORT}:8118" 72 | - "${NZBHYDRA2PORT}:5076" 73 | - "${JACKETTPORT}:9117" 74 | - "${NZBGETPORT}:6789" 75 | privileged: true 76 | restart: unless-stopped 77 | volumes: 78 | - "${APPDATA}/qbittorrent:/config" 79 | - "${DOWNLOAD}:/data" 80 | - "/etc/localtime:/etc/localtime:ro" 81 | -------------------------------------------------------------------------------- /Template/Stack/wallabag.yml: -------------------------------------------------------------------------------- 1 | services: 2 | wallabag: 3 | image: wallabag/wallabag 4 | environment: 5 | - MYSQL_ROOT_PASSWORD=wallaroot 6 | - SYMFONY__ENV__DATABASE_DRIVER=pdo_mysql 7 | - SYMFONY__ENV__DATABASE_HOST=db 8 | - SYMFONY__ENV__DATABASE_PORT=3306 9 | - SYMFONY__ENV__DATABASE_NAME=wallabag 10 | - SYMFONY__ENV__DATABASE_USER=wallabag 11 | - SYMFONY__ENV__DATABASE_PASSWORD=wallapass 12 | - SYMFONY__ENV__DATABASE_CHARSET=utf8mb4 13 | - SYMFONY__ENV__DATABASE_TABLE_PREFIX="wallabag_" 14 | - SYMFONY__ENV__MAILER_HOST=127.0.0.1 15 | - SYMFONY__ENV__MAILER_USER=~ 16 | - SYMFONY__ENV__MAILER_PASSWORD=~ 17 | - SYMFONY__ENV__FROM_EMAIL=wallabag@example.com 18 | - SYMFONY__ENV__DOMAIN_NAME=https://your-wallabag-url-instance.com 19 | - SYMFONY__ENV__SERVER_NAME="Your wallabag instance" 20 | ports: 21 | - "1180" 22 | volumes: 23 | - /portainer/Files/AppData/Config/wallabag/images:/var/www/wallabag/web/assets/images 24 | healthcheck: 25 | test: ["CMD", "wget" ,"--no-verbose", "--tries=1", "--spider", "http://localhost"] 26 | interval: 1m 27 | timeout: 3s 28 | depends_on: 29 | - wallabag-db 30 | - wallabag-redis 31 | wallabag-db: 32 | image: mariadb 33 | environment: 34 | - MYSQL_ROOT_PASSWORD=wallaroot 35 | volumes: 36 | - /portainer/Files/AppData/Config/wallabag/data:/var/lib/mysql 37 | healthcheck: 38 | test: ["CMD", "mysqladmin" ,"ping", "-h", "localhost"] 39 | interval: 20s 40 | timeout: 3s 41 | wallabag-redis: 42 | image: redis:alpine 43 | healthcheck: 44 | test: ["CMD", "redis-cli", "ping"] 45 | interval: 20s 46 | timeout: 3s 47 | -------------------------------------------------------------------------------- /Template/Stack/watchrarr.yml: -------------------------------------------------------------------------------- 1 | services: 2 | watchrarr: 3 | image: homelabineer/watchrarr:latest 4 | container_name: watchrarr 5 | restart: unless-stopped 6 | volumes: 7 | - /portainer/Files/AppData/Config/watchrarr/config.yaml:/app/config.yaml 8 | - /portainer/Files/AppData/Config/watchrarr/logs:/app/logs 9 | - /portainer/Files/AppData/Config/watchrarr/db:/app/db 10 | - /portainer/Files/AppData/Config/watchrarr:/app/watch 11 | -------------------------------------------------------------------------------- /Template/Stack/webcheck.yml: -------------------------------------------------------------------------------- 1 | version: '3.9' 2 | services: 3 | web-check: 4 | container_name: Web-Check 5 | image: lissy93/web-check 6 | ports: 7 | - 3333:3000 8 | restart: unless-stopped 9 | -------------------------------------------------------------------------------- /Template/Stack/webtrees.yml: -------------------------------------------------------------------------------- 1 | services: 2 | webtrees_db: 3 | image: postgres:16 4 | container_name: webtrees_db 5 | hostname: webtrees_db 6 | mem_limit: 1g 7 | cpu_shares: 768 8 | security_opt: 9 | - no-new-privileges:true 10 | healthcheck: 11 | test: ["CMD", "pg_isready", "-q", "-d", "webtrees", "-U", "webtreesusr"] 12 | timeout: 45s 13 | interval: 10s 14 | retries: 10 15 | volumes: 16 | - /portainer/Files/AppData/Config/webtrees/db:/var/lib/postgresql/data:rw 17 | environment: 18 | POSTGRES_DB: webtrees 19 | POSTGRES_USER: webtreesuser 20 | POSTGRES_PASSWORD: webtreespass 21 | restart: on-failure:5 22 | 23 | webtrees: 24 | image: ghcr.io/nathanvaughn/webtrees:latest 25 | container_name: Webtrees 26 | hostname: webtrees 27 | security_opt: 28 | - no-new-privileges:true 29 | ports: 30 | - 5495:80 31 | volumes: 32 | - /portainer/Files/AppData/Config/webtrees/data:/var/www/webtrees/data:rw 33 | environment: 34 | TZ: Europe/Athens 35 | BASE_URL: https://webtrees.homelab # Input a correct url for your homelab 36 | PRETTY_URLS: TRUE 37 | WT_USER: xneo1 38 | WT_PASS: webtreespwd 39 | WT_NAME: Your Name 40 | WT_EMAIL: me@email.com 41 | PHP_MEMORY_LIMIT: 8192M 42 | PHP_MAX_EXECUTION_TIME: 3600 43 | PHP_POST_MAX_SIZE: 512M 44 | PHP_UPLOAD_MAX_FILE_SIZE: 512M 45 | DB_HOST: webtrees_db 46 | DB_PORT: 5432 47 | POSTGRES_USER: webtreesusr 48 | POSTGRES_PASSWORD: webtreespwd 49 | DB_TYPE: pgsql 50 | DB_PREFIX: wt_ 51 | POSTGRES_DB: webtrees 52 | HTTPS_REDIRECT: False 53 | HTTPS: False 54 | restart: on-failure:5 55 | -------------------------------------------------------------------------------- /Template/Stack/whisparr.yml: -------------------------------------------------------------------------------- 1 | services: 2 | get_iplayer: 3 | image: ghcr.io/thespad/whisparr:latest 4 | container_name: whisparr 5 | environment: 6 | - PUID=1000 7 | - PGID=1000 8 | - TZ=Europe/Athens 9 | volumes: 10 | - /portainer/Files/AppData/Config/whisparr:/config 11 | - /portainer/Files/AppData/Config/whisparr/downloads:/downloads 12 | ports: 13 | - 6969:6969 14 | restart: unless-stopped 15 | -------------------------------------------------------------------------------- /Template/Stack/wordpress.yml: -------------------------------------------------------------------------------- 1 | services: 2 | wordpress: 3 | image: wordpress:php8.2 4 | container_name: WordPress 5 | hostname: wordpress 6 | healthcheck: 7 | test: curl -f http://localhost:80/ || exit 1 8 | ports: 9 | - 8195:80 10 | depends_on: 11 | wordpress_db: 12 | condition: service_started 13 | wordpress_redis: 14 | condition: service_healthy 15 | phpmyadmin: 16 | condition: service_healthy 17 | volumes: 18 | - /portainer/Files/AppData/Config/wordpress:/var/www/html:rw 19 | - /portainer/Files/AppData/Config/wordpress/upload.ini:/usr/local/etc/php/conf.d/upload.ini:rw 20 | environment: 21 | WORDPRESS_DB_HOST: wordpress_db 22 | WORDPRESS_DB_USER: xneo1 23 | WORDPRESS_DB_PASSWORD: thepaassword 24 | WORDPRESS_DB_NAME: thewp_db 25 | restart: on-failure:5 26 | 27 | wordpress_db: 28 | image: mysql:8.0 29 | container_name: WordPress-DB 30 | security_opt: 31 | - no-new-privileges:true 32 | hostname: wordpress_db 33 | ports: 34 | - 3307:3306 35 | environment: 36 | MYSQL_DATABASE: xneo1_db 37 | MYSQL_USER: xneo1 38 | MYSQL_PASSWORD: xneo1pwd 39 | MYSQL_ROOT_PASSWORD: rootpass 40 | TZ: Europe/Athens 41 | volumes: 42 | - /portainer/Files/AppData/Config/wordpress/db:/var/lib/mysql:rw 43 | restart: on-failure:5 44 | 45 | wordpress_redis: 46 | image: redis 47 | hostname: wordpress_redis 48 | container_name: WordPress-REDIS 49 | user: 1026:100 50 | healthcheck: 51 | test: ["CMD-SHELL", "redis-cli ping || exit 1"] 52 | volumes: 53 | - /portainer/Files/AppData/Config/wordpress/redis:/data:rw 54 | environment: 55 | TZ: Europe/Athens 56 | restart: on-failure:5 57 | 58 | phpmyadmin: 59 | image: phpmyadmin 60 | hostname: wordpress-phpmyadmin 61 | healthcheck: 62 | test: curl -f http://localhost:80/ || exit 1 63 | container_name: WordPress-phpMyAdmin 64 | ports: 65 | - 2500:80 66 | environment: 67 | PMA_HOST: wordpress_db 68 | PMA_PORT: 3306 69 | restart: on-failure:5 70 | -------------------------------------------------------------------------------- /Template/Stack/xwiki.yml: -------------------------------------------------------------------------------- 1 | networks: 2 | bridge: 3 | driver: bridge 4 | services: 5 | web: 6 | image: "xwiki:lts-mariadb-tomcat" 7 | container_name: xwiki-mariadb-tomcat-web 8 | depends_on: 9 | - db 10 | ports: 11 | - "8080:8080" 12 | environment: 13 | - DB_USER=xwiki 14 | - DB_PASSWORD=xwiki 15 | - DB_HOST=xwiki-mariadb-db 16 | volumes: 17 | - /portainer/Files/AppData/Config/xwiki/data:/usr/local/xwiki 18 | networks: 19 | - bridge 20 | db: 21 | image: "mariadb:10.5" 22 | container_name: xwiki-mariadb-db 23 | volumes: 24 | - /portainer/Files/AppData/Config/xwiki/xwiki.cnf:/etc/mysql/conf.d/xwiki.cnf 25 | - /portainer/Files/AppData/Config/xwiki/mariadb:/var/lib/mysql 26 | - ./init.sql:/docker-entrypoint-initdb.d/init.sql 27 | environment: 28 | - MYSQL_ROOT_PASSWORD=xwiki 29 | - MYSQL_USER=xwiki 30 | - MYSQL_PASSWORD=xwiki 31 | - MYSQL_DATABASE=xwiki 32 | networks: 33 | - bridge 34 | volumes: 35 | mariadb-data: {} 36 | xwiki-data: {} 37 | -------------------------------------------------------------------------------- /Template/Stack/your_spotify.yml: -------------------------------------------------------------------------------- 1 | services: 2 | server: 3 | image: yooooomi/your_spotify_server 4 | restart: always 5 | ports: 6 | - "8884:8080" 7 | links: 8 | - mongo 9 | depends_on: 10 | - mongo 11 | environment: 12 | - API_ENDPOINT=http://localhost:8884 # This MUST be included as a valid URL in the spotify dashboard (see below) 13 | - CLIENT_ENDPOINT=http://localhost:3084 14 | - SPOTIFY_PUBLIC=__your_spotify_client_id__ 15 | - SPOTIFY_SECRET=__your_spotify_secret__ 16 | - CORS=http://localhost:3084,http://localhost:3085 # all if you want to allow every origin 17 | mongo: 18 | container_name: mongo 19 | image: mongo:4.4.8 20 | volumes: 21 | - /portainer/Files/AppData/Config/your_spotify/db:/data/db 22 | 23 | web: 24 | image: yooooomi/your_spotify_client 25 | restart: always 26 | ports: 27 | - "3084:3000" 28 | environment: 29 | - API_ENDPOINT=http://localhost:8884 30 | -------------------------------------------------------------------------------- /Template/template3.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "3", 3 | "templates": [ 4 | { 5 | "type": "container", 6 | "title": "AdGuard Home", 7 | "description": "Network-wide ads & trackers blocking DNS server.", 8 | "platform": "linux", 9 | "categories": [ 10 | "DNS", 11 | "Privacy", 12 | "Networking" 13 | ], 14 | "logo": "https://raw.githubusercontent.com/xneo1/portainer_templates/master/logos/adguard.png", 15 | "image": "adguard/adguardhome:latest", 16 | "ports": [ 17 | { 18 | "host": "53", 19 | "container": "53/udp" 20 | }, 21 | { 22 | "host": "67", 23 | "container": "67/udp" 24 | }, 25 | { 26 | "host": "68", 27 | "container": "68/udp" 28 | }, 29 | { 30 | "host": "80", 31 | "container": "80/tcp" 32 | }, 33 | { 34 | "host": "443", 35 | "container": "443/tcp" 36 | }, 37 | { 38 | "host": "3000", 39 | "container": "3000/tcp" 40 | }, 41 | { 42 | "host": "853", 43 | "container": "853/tcp" 44 | }, 45 | { 46 | "host": "5443", 47 | "container": "5443/tcp" 48 | } 49 | ], 50 | "volumes": [ 51 | { 52 | "bind": "/opt/adguard/work", 53 | "container": "/opt/adguardhome/work" 54 | }, 55 | { 56 | "bind": "/opt/adguard/conf", 57 | "container": "/opt/adguardhome/conf" 58 | } 59 | ], 60 | "restart_policy": "unless-stopped" 61 | }, 62 | { 63 | "type": "stack", 64 | "title": "Authelia", 65 | "description": "Self-hosted Single Sign-On and 2FA for applications.", 66 | "platform": "linux", 67 | "categories": [ 68 | "Security", 69 | "Authentication", 70 | "SSO" 71 | ], 72 | "logo": "https://raw.githubusercontent.com/xneo1/portainer_templates/master/logos/authelia.png", 73 | "note": "Deploys using external Docker Compose file.", 74 | "repository": { 75 | "url": "https://raw.githubusercontent.com/xneo1/portainer_templates/master/Stacks/authelia.yml" 76 | } 77 | } 78 | ] 79 | } 80 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "selfhosted_templates", 3 | "version": "1.0.0", 4 | "description": "Portainer Templates for Selfhosted Projects/Homelabs.", 5 | "private": true, 6 | "devDependencies": { 7 | "jsonlint": "^1.6.3", 8 | "yaml-validator": "^4.0.0" 9 | }, 10 | "scripts": { 11 | "pretest": "jsonlint Template/template.json --quiet", 12 | "test": "yaml-validator Template/Stack/*" 13 | }, 14 | "repository": { 15 | "type": "git", 16 | "url": "git+https://github.com/xneo1/portainer_templates.git" 17 | }, 18 | "author": "xneo1", 19 | "license": "GPLv3" 20 | } 21 | --------------------------------------------------------------------------------