Compare commits

..

390 Commits

Author SHA1 Message Date
Trez.One d700a810d8 Moving Vector config template into proper folder.
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Check and Create PR (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Docker Compose & Ansible Lints (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Cloudflare DNS Setup (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Update README & Generate List of Modified Services (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / PR Merge (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Deploy via Ansible & Docker Compose (push) Has been cancelled
2025-02-13 08:51:26 -05:00
Trez.One de9cad3fd3 Tweaking image for Cronicle. 2025-02-13 08:43:04 -05:00
Trez.One 808e35f581 Adding Cronicle. 2025-02-13 07:47:09 -05:00
Trez.One 829748bfb4 Pipeline fix for deployment. 2025-02-13 07:35:29 -05:00
gitea-sonarqube-bot ea88d33407 Auto Merge of PR 4 - netalertx-cronicle-parseable-vector-deployments
Merged by Trez.One
2025-02-13 07:17:56 -05:00
Trez.One 84d4bd9d15 chore: Update README 2025-02-13 12:17:11 +00:00
Trez.One 85a0307e55 Possible new monitoring stack.
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Check and Create PR (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Docker Compose & Ansible Lints (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Cloudflare DNS Setup (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Update README & Generate List of Modified Services (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / PR Merge (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Deploy via Ansible & Docker Compose (push) Has been cancelled
2025-02-13 06:51:49 -05:00
gitea-sonarqube-bot 397f09e0a4 Auto Merge of PR 3 - portall-deployment
Merged by Trez.One
2025-02-12 21:15:51 -05:00
Trez.One f703e1e1e0 chore: Update README 2025-02-13 02:14:37 +00:00
Trez.One 5f602e6075 Pipeline fixes.
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Check and Create PR (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Docker Compose & Ansible Lints (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Cloudflare DNS Setup (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Update README & Generate List of Modified Services (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / PR Merge (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Deploy via Ansible & Docker Compose (push) Has been cancelled
2025-02-12 20:57:58 -05:00
Trez.One c94ddaf4f0 Adding Portall service. 2025-02-12 20:42:30 -05:00
Trez.One 05a9f7fd35 Tweaking Homepage settings. 2025-02-12 20:42:30 -05:00
Trez.One 7e3a038a64 Beszel label fix. 2025-02-12 18:57:25 -05:00
Trez.One f9a60cb3d7 Crowdsec Dashboard tweaks. 2025-02-12 18:28:49 -05:00
Trez.One a983cec48b Container tweaks. 2025-02-12 14:18:37 -05:00
Trez.One a712248cb0 Uptime Kuma mod tweaks. 2025-02-12 11:56:48 -05:00
Trez.One 384f9254b4 Uptime Kuma mod tweaks. 2025-02-12 11:21:59 -05:00
Trez.One e451cf2825 Uptime Kuma mod tweaks. 2025-02-12 11:11:15 -05:00
Trez.One 9c7b5e04fc Beszel label tweaks. 2025-02-12 10:55:55 -05:00
Trez.One e1025cf7ed Beszel agent key. 2025-02-12 09:16:58 -05:00
Trez.One b5576bbd3e Beszel agent key. 2025-02-12 09:12:09 -05:00
gitea-sonarqube-bot 8fd689517c Auto Merge of PR 2 - netdata-removal-beszel-deployment
Merged by Trez.One
2025-02-12 07:51:00 -05:00
Trez.One a5d27466fc Forgot to add Beszel 😅
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Check and Create PR (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Docker Compose & Ansible Lints (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Cloudflare DNS Setup (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Update README & Generate List of Modified Services (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / PR Merge (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Deploy via Ansible & Docker Compose (push) Has been cancelled
2025-02-12 07:36:11 -05:00
Trez.One ae10b7a19e Removing Netdata. 2025-02-12 07:21:18 -05:00
Trez.One 3f83290ab0 Merge pull request 'Removing Netbox and Slurpit.' (#1) from netbox-removal-pipeline-tweak into main
Reviewed-on: Trez.One/rinoa-docker#1
2025-02-12 07:03:47 -05:00
Trez.One 2c9cd867b0 Removing Netbox and Slurpit.
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Check and Create PR (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Docker Compose & Ansible Lints (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Cloudflare DNS Setup (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Update README & Generate List of Modified Services (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / PR Merge (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Deploy via Ansible & Docker Compose (push) Has been cancelled
2025-02-11 20:56:46 -05:00
Trez.One 8146d51f37 Immich server logging. 2025-02-11 18:34:53 -05:00
Trez.One 35b35cb840 Netbird-management port change. 2025-02-11 11:57:44 -05:00
Trez.One 5a5becea56 Scraperr tweaks. 2025-02-07 19:17:29 -05:00
Trez.One 1641e877ad Immich tweaks. 2025-02-07 18:20:16 -05:00
Trez.One 432e14e5dd Immich tweaks. 2025-02-07 18:00:58 -05:00
Trez.One 617dea13b0 Immich-server tweaks. 2025-02-07 17:56:46 -05:00
Trez.One 11353334b5 Bitmagnet tweaks. 2025-02-07 17:50:05 -05:00
Trez.One 700f10fc92 Tweaks to Open-WebUI. 2025-02-07 13:24:26 -05:00
Trez.One cc0dcfdd3c Netdata label fix. 2025-02-04 20:44:43 -05:00
gitea-sonarqube-bot 57b1293156 Auto Merge of PR 46 - open-webui-deployment
Merged by Trez.One
2025-02-04 17:33:38 -05:00
Trez.One 9e706a20a7 Tweaks for Bitmagnet.
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Check and Create PR (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Docker Compose & Ansible Lints (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Cloudflare DNS Setup (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Update README & Generate List of Modified Services (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / PR Merge (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Deploy via Ansible & Docker Compose (push) Has been cancelled
2025-02-04 16:59:53 -05:00
Trez.One 210375d17b Merge pull request 'Automated PR for open-webui-deployment - #45' (#45) from open-webui-deployment into main
Reviewed-on: Trez.One/rinoa-docker#45
2025-02-04 16:29:05 -05:00
Trez.One 02b2ab6116 Deployment of Open-WebUI and tweaks to Netdata. 2025-02-04 16:15:08 -05:00
gitea-sonarqube-bot 439cc4136d Auto Merge of PR 44 - netdata-immich-wazuh-overhaul
Merged by Trez.One
2025-02-04 12:10:12 -05:00
Trez.One 809560f8ca Tweaks to workflow.
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Check and Create PR (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Docker Compose & Ansible Lints (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Cloudflare DNS Setup (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Update README & Generate List of Modified Services (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / PR Merge (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Deploy via Ansible & Docker Compose (push) Has been cancelled
2025-02-04 11:39:22 -05:00
Trez.One 15bdf96d76 Tweaks to workflow. 2025-02-04 11:34:08 -05:00
Trez.One f08a4f9cb7 Fixes/removals for several services, adding Netdata. 2025-02-04 11:25:46 -05:00
Trez.One 701a4fbde3 Fix for Immich SWAG configuration. 2025-02-02 17:52:34 -05:00
Trez.One 4fe9bbecb3 Typo fix for Immich Power Tools. 2025-02-02 17:51:11 -05:00
Trez.One a96beafe21 Restart label for InfluxDB. 2025-02-02 08:12:55 -05:00
Trez.One 9500d5f39b Labels for Immich containers. 2025-02-02 08:05:42 -05:00
Trez.One 1216beee88 Labels for Immich containers. 2025-02-02 08:04:12 -05:00
Trez.One 94e793e1ad Labels for Immich containers. 2025-02-01 21:28:10 -05:00
Trez.One 96e15c9786 Labels for Immich containers. 2025-02-01 11:45:15 -05:00
Trez.One 9b18d386e8 . 2025-01-31 16:01:47 -05:00
Trez.One db2130a634 . 2025-01-31 15:56:06 -05:00
Trez.One 1e27a9817b . 2025-01-31 15:52:42 -05:00
Trez.One 3ac23e5d5c . 2025-01-31 15:43:36 -05:00
Trez.One 245670e37f . 2025-01-31 15:43:06 -05:00
Trez.One 03b0ca68db Merge remote-tracking branch 'refs/remotes/origin/main' 2025-01-31 15:40:00 -05:00
Trez.One 2108450ab0 Removing Dagu services. 2025-01-31 15:39:49 -05:00
Trez.One f8c39e324a Removing extra files. 2025-01-31 15:31:11 -05:00
Trez.One db2057c8ef Merge pull request 'Automated PR for immich-proxy-changes - #43' (#43) from immich-proxy-changes into main 2025-01-31 15:29:59 -05:00
Trez.One 049c21f538 Removing service comparison for now.
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Check and Create PR (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Docker Compose & Ansible Lints (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Cloudflare DNS Setup (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Update README (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / PR Merge (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Deploy via Ansible & Docker Compose (push) Has been cancelled
2025-01-31 15:28:44 -05:00
Trez.One d8810273b7 Tweaks to service comparison. 2025-01-31 14:52:40 -05:00
Trez.One 06655add2b Attempting to put both Immich server and proxy under one domain; also updated deployment pipeline. 2025-01-31 13:31:53 -05:00
Trez.One e784655300 Correcting a few service labels. 2025-01-31 12:21:30 -05:00
Trez.One fa42b8b7cc Correcting a few service labels. 2025-01-31 12:16:13 -05:00
gitea-sonarqube-bot 5ad020ab80 Auto Merge of PR 42 - immich-modifications-dagu-removal-in-fixes
Merged by Trez.One
2025-01-31 08:28:41 -05:00
Trez.One c9858ef7ba Added --no-recreate flag for Docker Compose deploy step.
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Check and Create PR (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Docker Compose & Ansible Lints (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Cloudflare DNS Setup (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Update README (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / PR Merge (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Deploy via Ansible & Docker Compose (push) Has been cancelled
2025-01-31 08:06:15 -05:00
Trez.One a94057d1ae Fixes for Immich; testing out new step in deployment pipeline. 2025-01-31 07:47:22 -05:00
gitea-sonarqube-bot 42a0928b7f Auto Merge of PR 41 - deploy-pipeline-only-modified-services
Merged by Trez.One
2025-01-30 19:54:38 -05:00
Trez.One 6df7040101 Adding step for detecting modified services in Compose file.
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Check and Create PR (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Docker Compose & Ansible Lints (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Cloudflare DNS Setup (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Update README (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / PR Merge (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Deploy via Ansible & Docker Compose (push) Has been cancelled
2025-01-30 19:07:49 -05:00
Trez.One 0ac5e1e5a2 Adding step for detecting modified services in Compose file. 2025-01-30 19:05:43 -05:00
gitea-sonarqube-bot c7088b8f4f Auto Merge of PR 40 - bunkerweb-removal
Merged by Trez.One
2025-01-30 18:04:30 -05:00
Trez.One a5d47976ee chore: Update README 2025-01-30 23:03:54 +00:00
Trez.One c5e8168e0a Removing Bunkerweb.
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Check and Create PR (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Docker Compose & Ansible Lints (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Cloudflare DNS Setup (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Update README (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / PR Merge (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Deploy via Ansible & Docker Compose (push) Has been cancelled
2025-01-30 17:45:54 -05:00
Trez.One defe1389a0 Wazuh tweaks. 2025-01-30 15:35:15 -05:00
Trez.One d532b97ce9 Wazuh tweaks. 2025-01-30 15:33:51 -05:00
Trez.One f492d6e9e5 Wazuh tweaks. 2025-01-30 15:33:22 -05:00
Trez.One 0e8f0ff26f Wazuh tweaks. 2025-01-30 15:31:25 -05:00
Trez.One a7e0d90ebd Redeploying Wazuh. 2025-01-30 15:09:35 -05:00
Trez.One a709999a6c Redeploying Wazuh. 2025-01-30 15:05:04 -05:00
Trez.One f468fb2357 Redeploying Wazuh. 2025-01-30 14:47:27 -05:00
Trez.One da4969ee81 Redeploying Wazuh. 2025-01-30 14:46:32 -05:00
Trez.One baa06d3b35 Redeploying Wazuh. 2025-01-30 14:38:32 -05:00
Trez.One 91f800b123 Changing image for Wazuh Agent container. 2025-01-30 14:00:01 -05:00
Trez.One 6d20e2f401 Switching back to http for Nextcloud. 2025-01-30 12:26:47 -05:00
Trez.One 945f79a37c Switching back to https for Nextcloud. 2025-01-30 12:18:47 -05:00
Trez.One 18a3978152 Protocol change for Nextcloud proxy. 2025-01-30 12:13:48 -05:00
Trez.One 254fe484ad Adding SWAG to nextcloud-aio network. 2025-01-30 10:30:35 -05:00
Trez.One 203b4c5f7a Adding SWAG to nextcloud-aio network. 2025-01-30 10:30:05 -05:00
Trez.One 9e0db8635e Adding SWAG to nextcloud-aio network. 2025-01-30 10:28:35 -05:00
Trez.One 0555325c38 Tweaking APACHE_ADDITIONAL_NETWORK for nc-apache container. 2025-01-30 09:31:22 -05:00
Trez.One 1635de854c Adding additional network for nextcloud-aio-apache for reverse proxy. 2025-01-30 09:12:51 -05:00
Trez.One bd1152273f Adding swag_address for Nextcloud container. 2025-01-30 08:35:23 -05:00
Trez.One 3b6e5f62a5 Tweaks to Nextcloud. 2025-01-29 20:41:32 -05:00
Trez.One bfb5d7ea38 Tweaks to Nextcloud. 2025-01-29 20:29:56 -05:00
Trez.One cb7089e5a7 Tweaks to Nextcloud. 2025-01-29 20:04:25 -05:00
Trez.One 1dbadf70c8 Tweaks to Nextcloud. 2025-01-29 18:55:17 -05:00
Trez.One 8bdea248f3 Icon fix for Sonashow. 2025-01-29 15:29:54 -05:00
gitea-sonarqube-bot 8ba538dfb2 Auto Merge of PR 39 - nextcloud-aio-deployment
Merged by Trez.One
2025-01-29 15:26:26 -05:00
Trez.One 0c8aecf737 chore: Update README 2025-01-29 20:24:29 +00:00
Trez.One 4819cd1605 Forgot a few configs for Nextcloud AIO.
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Check and Create PR (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Docker Compose & Ansible Lints (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Cloudflare DNS Setup (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Update README (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / PR Merge (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Deploy via Ansible & Docker Compose (push) Has been cancelled
2025-01-29 15:02:34 -05:00
Trez.One 3d8bb3f400 Switching Nextcloud image and tweaking Docker Compose deployment in pipeline. 2025-01-29 14:19:07 -05:00
Trez.One 6e21983d89 Slight Mongo tweak in DbGate. 2025-01-28 18:43:43 -05:00
Charish Patel 54fd2bba20 Fixing Rocket.Chat service. 2025-01-28 18:25:13 -05:00
Charish Patel 0d6fc8a82b Merge remote-tracking branch 'refs/remotes/origin/main' 2025-01-28 18:24:05 -05:00
Charish Patel 68c2899842 Fixing Rocket.Chat service. 2025-01-28 18:23:50 -05:00
gitea-sonarqube-bot 113ad7700a Auto Merge of PR 38 - immich-public-proxy-power-tools
Merged by Trez.One
2025-01-28 17:51:10 -05:00
Trez.One 83dc0019ec chore: Update README 2025-01-28 22:50:28 +00:00
Trez.One 962f399c23 Adding Immich proxy and power tools.
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Check and Create PR (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Docker Compose & Ansible Lints (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Cloudflare DNS Setup (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Update README (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / PR Merge (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Deploy via Ansible & Docker Compose (push) Has been cancelled
2025-01-28 17:40:30 -05:00
Trez.One f90f191e41 Adding Immich proxy and power tools. 2025-01-28 17:36:17 -05:00
Charish Patel fd834bd55e Final tweaks for Immich server. 2025-01-28 17:06:53 -05:00
Charish Patel 53803b51f7 Merge remote-tracking branch 'refs/remotes/origin/main' 2025-01-28 17:02:26 -05:00
Charish Patel 904c7af1f6 More Immich tweaks. 2025-01-28 17:02:07 -05:00
Trez.One 6aeb224a97 Merge remote-tracking branch 'refs/remotes/origin/main' 2025-01-28 16:43:05 -05:00
Charish Patel f05d2fbf02 Tweaking Immich services. 2025-01-28 16:41:20 -05:00
Trez.One a00eca0b7e Merge remote-tracking branch 'refs/remotes/origin/main' 2025-01-27 20:40:41 -05:00
Trez.One 6bf6cfec8b Some tweaks. 2025-01-27 20:40:03 -05:00
gitea-sonarqube-bot d5e03e8a08 Auto Merge of PR 37 - influxdb-install-yacht-removal
Merged by Trez.One
2025-01-27 11:11:14 -05:00
Trez.One c0d8e1a3e1 chore: Update README 2025-01-27 16:10:34 +00:00
Trez.One a7e773d369 Adding InfluxDB service and removing Yacht.
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Check and Create PR (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Docker Compose & Ansible Lints (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Cloudflare DNS Setup (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Update README (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / PR Merge (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Deploy via Ansible & Docker Compose (push) Has been cancelled
2025-01-27 11:00:08 -05:00
gitea-sonarqube-bot 7f01967b96 Auto Merge of PR 36 - immich-deployment
Merged by Trez.One
2025-01-27 09:54:10 -05:00
Trez.One 8e89a7cb05 chore: Update README 2025-01-27 14:53:33 +00:00
Trez.One 2ead60d998 Initial deployment for Immich.
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Check and Create PR (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Docker Compose & Ansible Lints (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Cloudflare DNS Setup (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Update README (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / PR Merge (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Deploy via Ansible & Docker Compose (push) Has been cancelled
2025-01-25 13:49:20 -05:00
Trez.One a9e7d2e1e6 Fixing icon for Czkawka. 2025-01-25 06:38:26 -05:00
Trez.One 3914be2ce0 RocketChat corrections. 2025-01-24 21:33:54 -05:00
gitea-sonarqube-bot a0b47d4a7d Auto Merge of PR 35 - rocketchat-deploy-synapse-removal
Merged by Trez.One
2025-01-24 12:35:03 -05:00
Trez.One 09947a8709 chore: Update README 2025-01-24 17:34:29 +00:00
Trez.One b1bcd8f7a9 Typo fix.
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Check and Create PR (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Docker Compose & Ansible Lints (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Cloudflare DNS Setup (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Update README (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / PR Merge (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Deploy via Ansible & Docker Compose (push) Has been cancelled
2025-01-24 12:26:31 -05:00
Trez.One 7e71f4d75f Fixing MongoDB URLs. 2025-01-24 12:20:22 -05:00
Trez.One 88a165a145 Adding Rocket.Chat. 2025-01-24 11:38:58 -05:00
gitea-sonarqube-bot d39eca1b57 Auto Merge of PR 34 - mongodb-image-change
Merged by Trez.One
2025-01-24 10:34:36 -05:00
Trez.One 69686307e1 chore: Update README 2025-01-24 15:32:31 +00:00
Trez.One 0c869ce43f Switching to Bitnami Mongo image.
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Check and Create PR (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Docker Compose & Ansible Lints (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Cloudflare DNS Setup (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Update README (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / PR Merge (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Deploy via Ansible & Docker Compose (push) Has been cancelled
2025-01-24 10:03:32 -05:00
Trez.One e3136340fd Merge remote-tracking branch 'refs/remotes/origin/main' 2025-01-23 16:15:39 -05:00
Trez.One 9058ac5505 Adding host command flag for Portainer. 2025-01-23 16:15:29 -05:00
gitea-sonarqube-bot d388a2c975 Auto Merge of PR 33 - workflow-gotify-notifications
Merged by Trez.One
2025-01-23 16:06:12 -05:00
Trez.One 03b7821dbf Correcting port for Portainer. 2025-01-23 15:56:05 -05:00
Trez.One 0825c61e39 Adding more notifications to pipeline; YAML format fixing for environments key.
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Check and Create PR (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Docker Compose & Ansible Lints (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Cloudflare DNS Setup (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Update README (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / PR Merge (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Deploy via Ansible & Docker Compose (push) Has been cancelled
2025-01-23 15:53:49 -05:00
gitea-sonarqube-bot b7d7d5e000 Auto Merge of PR 32 - portainer-deployment
Merged by Trez.One
2025-01-23 15:28:53 -05:00
Trez.One ffc9c1833d chore: Update README 2025-01-23 20:28:04 +00:00
Trez.One 26be908bbe Correcting image tag.
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Check and Create PR (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Docker Compose & Ansible Lints (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Cloudflare DNS Setup (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Update README (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / PR Merge (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Deploy via Ansible & Docker Compose (push) Has been cancelled
2025-01-23 15:12:23 -05:00
Trez.One 2a1233312e Re-deploying Portainer. 2025-01-23 14:57:11 -05:00
Trez.One a99ef85ef2 . 2025-01-23 14:38:09 -05:00
Trez.One bf600a618d Adding login for DbGate. 2025-01-23 14:21:42 -05:00
gitea-sonarqube-bot b0cc71e809 Auto Merge of PR 30 - sourcebot-deployment
Merged by Trez.One
2025-01-23 13:16:56 -05:00
Trez.One ffccf913f1 chore: Update README 2025-01-23 18:16:17 +00:00
Trez.One 53bb8c18d8 Adding Sourcebot service.
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Check and Create PR (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Docker Compose & Ansible Lints (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Cloudflare DNS Setup (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Update README (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / PR Merge (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Deploy via Ansible & Docker Compose (push) Has been cancelled
2025-01-23 12:52:56 -05:00
gitea-sonarqube-bot 7171a55bbb Auto Merge of PR 29 - whodb-removal-dbgate-deploy
Merged by Trez.One
2025-01-23 10:57:54 -05:00
Trez.One b683e1814d chore: Update README 2025-01-23 15:56:55 +00:00
Trez.One 58faa3bda8 Removing Whodb in favor of DbGate; YAML formatting for environments. 2025-01-23 10:25:35 -05:00
gitea-sonarqube-bot 096ae28095 Auto Merge of PR 28 - speedtest-tracker-schedule
Merged by Trez.One
2025-01-22 20:17:29 -05:00
Trez.One 93de2b342c Adding schedule for Speedtest-Tracker.
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Check and Create PR (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Docker Compose & Ansible Lints (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Cloudflare DNS Setup (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Update README (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / PR Merge (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Deploy via Ansible & Docker Compose (push) Has been cancelled
2025-01-22 20:07:09 -05:00
Trez.One cae84dbe3e Tweaks to Bunker Web. 2025-01-22 17:24:01 -05:00
Trez.One 302f9433e1 Tweaks to Bunker Web. 2025-01-22 17:00:25 -05:00
Trez.One 7bac47af7b Fixes for LobeChat. 2025-01-22 13:54:25 -05:00
gitea-sonarqube-bot 38171fc963 Auto Merge of PR 27 - lobe-chat-deploy-localai-remove
Merged by Trez.One
2025-01-22 12:07:34 -05:00
Trez.One 71c0f97d83 Added labels for LobeChat.
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Check and Create PR (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Docker Compose & Ansible Lints (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Cloudflare DNS Setup (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Update README (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / PR Merge (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Deploy via Ansible & Docker Compose (push) Has been cancelled
2025-01-22 11:53:41 -05:00
gitea-sonarqube-bot 9891d538fc Auto Merge of PR 26 - lobe-chat-deploy-localai-remove
Merged by Trez.One
2025-01-22 11:20:51 -05:00
Trez.One dc0ffbaf88 chore: Update README 2025-01-22 16:19:33 +00:00
Trez.One 9e9e811d37 Removing Komodo config. 2025-01-22 11:00:33 -05:00
Trez.One 8c7d5d66b8 Adding Lobechat service and removing LocalAI. 2025-01-22 09:29:01 -05:00
Trez.One c7d3d79970 . 2025-01-21 19:24:51 -05:00
Trez.One 0f370b9f8b Adding paths for workflow trigger. 2025-01-21 19:04:17 -05:00
Trez.One 0e2cbf9f0d Netbird SWAG fixes. 2025-01-21 18:24:47 -05:00
Trez.One 1439a4e21b Small Netbird fixes. 2025-01-21 17:44:10 -05:00
gitea-sonarqube-bot 3a6ef8ac63 Auto Merge of PR 25 - netbird-deployment
Merged by Trez.One
2025-01-21 17:05:03 -05:00
Trez.One 4a4b7145d5 chore: Update README 2025-01-21 22:04:27 +00:00
Trez.One 2fe527b6f2 Forgot to add volumes.
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Check and Create PR (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Docker Compose & Ansible Lints (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Cloudflare DNS Setup (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Update README (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / PR Merge (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Deploy via Ansible & Docker Compose (push) Has been cancelled
2025-01-21 16:55:58 -05:00
Trez.One 44266c9eaa Adding Netbird service. 2025-01-21 16:40:33 -05:00
Trez.One 157f2590f3 Merge remote-tracking branch 'refs/remotes/origin/main' 2025-01-21 11:14:24 -05:00
Trez.One b16bd2896a Vault fixes. 2025-01-21 11:14:11 -05:00
Trez.One 462c6beb4b Restart policy for Zitadel. 2025-01-21 09:49:25 -05:00
Charish Patel 9d66532199 Added restart policy for PG Back Web. 2025-01-21 09:22:06 -05:00
Trez.One 6d96b79e9f Minor fixes. 2025-01-20 17:53:30 -05:00
Trez.One 08fb3a86df Minor fixes. 2025-01-20 17:51:06 -05:00
Trez.One b6f9e0539e Minor fixes for some services. 2025-01-20 17:49:02 -05:00
gitea-sonarqube-bot f93f6999e7 Auto Merge of PR 24 - actual-budget-labels
Merged by Trez.One
2025-01-20 17:17:51 -05:00
Trez.One cbf85ea1cc Adding labels for Actual budget.
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Check and Create PR (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Docker Compose & Ansible Lints (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Cloudflare DNS Setup (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Update README (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / PR Merge (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Deploy via Ansible & Docker Compose (push) Has been cancelled
2025-01-20 16:37:06 -05:00
gitea-sonarqube-bot 3c96065889 Auto Merge of PR 23 - plantuml-deployment
Merged by Trez.One
2025-01-20 13:36:37 -05:00
Trez.One 7a66ec29df chore: Update README 2025-01-20 18:36:06 +00:00
Trez.One 91129bbb87 Adding PlantUML server for Gitea.
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Check and Create PR (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Docker Compose & Ansible Lints (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Cloudflare DNS Setup (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Update README (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / PR Merge (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Deploy via Ansible & Docker Compose (push) Has been cancelled
2025-01-20 13:29:46 -05:00
Trez.One 006d2b3f75 Removing one commented out step. 2025-01-20 11:54:18 -05:00
gitea-sonarqube-bot 2e1759708c Auto Merge of PR 22 - service-removals-i
Merged by Trez.One
2025-01-20 11:16:20 -05:00
Trez.One cfe8e8d761 Fixing Gotify notifications.
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Check and Create PR (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Docker Compose & Ansible Lints (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Cloudflare DNS Setup (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Update README (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / PR Merge (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Deploy via Ansible & Docker Compose (push) Has been cancelled
2025-01-20 11:09:12 -05:00
gitea-sonarqube-bot 824593bb1d Auto Merge of PR 21 - service-removals-i
Merged by Trez.One
2025-01-20 10:42:32 -05:00
Trez.One 30b7401e82 Merge remote-tracking branch 'refs/remotes/origin/service-removals-i' into service-removals-i 2025-01-20 10:35:49 -05:00
Trez.One b852e10713 Forgot to add Ansible install step in deployment job. 2025-01-20 10:35:26 -05:00
gitea-sonarqube-bot ecb90410da Auto Merge of PR 20 - service-removals-i
Merged by Trez.One
2025-01-20 10:21:55 -05:00
Trez.One d6f3ba50c9 chore: Update README 2025-01-20 15:21:21 +00:00
Trez.One a0e2a780e4 Removing Rundeck, Ansible0guy WebUI, and Semaphore. 2025-01-20 10:08:48 -05:00
Trez.One 96683b39bc Merge remote-tracking branch 'refs/remotes/origin/main' 2025-01-20 10:05:43 -05:00
Trez.One 82c0e100b1 Merge branch 'add-ansible-to-workflow' 2025-01-20 10:04:08 -05:00
Trez.One 35e57799a4 ...
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Check and Create PR (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Docker Compose & Ansible Lints (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Cloudflare DNS Setup (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Update README (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / PR Merge (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Deploy via Ansible & Docker Compose (push) Has been cancelled
2025-01-20 09:56:07 -05:00
Trez.One b16f96b376 ... 2025-01-20 09:44:35 -05:00
Trez.One 0e7054ac2f ... 2025-01-20 09:35:40 -05:00
Trez.One d509eff13f ... 2025-01-20 08:39:56 -05:00
Trez.One e6f5768d29 ... 2025-01-20 08:31:36 -05:00
Trez.One 97b5b45289 File naming fix. 2025-01-20 08:29:14 -05:00
Trez.One a38c8b50a2 Tweaking Ansible deployment step. 2025-01-20 08:22:53 -05:00
Trez.One 142dcffb9e ... 2025-01-20 08:12:35 -05:00
Trez.One 5533460a02 ... 2025-01-20 08:10:58 -05:00
Trez.One 00ccf6433d File fixes. 2025-01-20 08:07:47 -05:00
Trez.One 576734e22a Attempting hvac install step. 2025-01-20 07:59:37 -05:00
Trez.One 82f7dc66ca Adding venv. 2025-01-19 21:40:50 -05:00
Trez.One 8a01b85011 Tweaking Ansible dry run. 2025-01-19 21:32:05 -05:00
Trez.One 20d6780df0 Tweaking Ansible dry run. 2025-01-19 21:23:30 -05:00
Trez.One bf4464b661 Fixing pipeline. 2025-01-19 21:13:44 -05:00
gitea-sonarqube-bot 67a27db630 Auto Merge of PR #19 - pg-backweb-deploy
Merged by Trez.One
2025-01-19 20:56:32 -05:00
Trez.One 7719735849 Fixing pipeline.
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Check and Create PR (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Docker Compose & Ansible Lints (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Cloudflare DNS Setup (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Update README (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / PR Merge (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Deploy via Ansible & Docker Compose (push) Has been cancelled
2025-01-19 20:51:47 -05:00
gitea-sonarqube-bot ff97491910 Auto Merge of PR #18 - pg-backweb-deploy
Merged by Trez.One
2025-01-19 20:49:25 -05:00
Trez.One c7308b9dc4 Fixing pipeline. 2025-01-19 20:45:52 -05:00
gitea-sonarqube-bot 9a3cdf454a Auto Merge of PR #17 - pg-backweb-deploy
Merged by Trez.One
2025-01-19 20:09:12 -05:00
Trez.One a8278b6910 Fixing pipeline. 2025-01-19 20:01:32 -05:00
Trez.One 03c2f0a540 Merge remote-tracking branch 'refs/remotes/origin/pg-backweb-deploy' into pg-backweb-deploy 2025-01-19 19:58:15 -05:00
Trez.One 14e2c8ff87 Fixing pipeline. 2025-01-19 19:57:58 -05:00
gitea-sonarqube-bot 082c49cbe2 Auto Merge of PR #16 - pg-backweb-deploy
Merged by Trez.One
2025-01-19 19:56:41 -05:00
Trez.One a0b6d095c7 chore: Update README 2025-01-20 00:56:06 +00:00
Trez.One 0d82deb06c Fixing pipeline. 2025-01-19 19:51:32 -05:00
Trez.One b02387351e Adding PG Back Web service. 2025-01-19 19:48:25 -05:00
Trez.One 9a4bed728a ... 2025-01-19 16:46:38 -05:00
Trez.One 67fb2aff84 Adding known_hosts.... 2025-01-19 16:35:09 -05:00
Trez.One b2cb059d0f Adding known_hosts.... 2025-01-19 16:25:37 -05:00
Trez.One 39fa257213 Adding known_hosts.... 2025-01-19 16:20:53 -05:00
Trez.One ba22b86846 ... 2025-01-19 16:13:39 -05:00
Trez.One 9f39c234c0 ... 2025-01-19 16:07:09 -05:00
Trez.One b71d62f334 ... 2025-01-19 16:04:42 -05:00
Trez.One 0ae7f8b89a ... 2025-01-19 16:01:16 -05:00
Trez.One a188671e62 ... 2025-01-19 15:53:45 -05:00
Trez.One 45e9bf2947 ... 2025-01-19 15:38:20 -05:00
Trez.One cfe75a3f75 ... 2025-01-19 14:21:28 -05:00
Trez.One cfe1a0ca53 ... 2025-01-19 14:05:32 -05:00
Trez.One dfea0db5d8 ... 2025-01-19 13:57:50 -05:00
Trez.One 00de82e19a ... 2025-01-19 13:51:24 -05:00
Trez.One 2c664798ea ... 2025-01-19 13:10:02 -05:00
Trez.One 622e9d5806 ... 2025-01-19 13:07:46 -05:00
Trez.One 107fead7c4 ... 2025-01-19 12:59:31 -05:00
Trez.One 0f7724d050 ... 2025-01-19 12:05:25 -05:00
Trez.One ce3a44fcc4 ... 2025-01-19 12:02:12 -05:00
Trez.One e0ed8e2995 ... 2025-01-19 12:00:45 -05:00
Trez.One 699dd6abdf Tweaking caches; changing private key for Ansible. 2025-01-19 11:52:47 -05:00
Trez.One 8b101e7de7 ... 2025-01-19 11:45:36 -05:00
Trez.One 929005b91d ... 2025-01-19 11:43:47 -05:00
Trez.One 048e454425 ... 2025-01-19 11:38:47 -05:00
Trez.One 98e6311914 ... 2025-01-19 11:29:51 -05:00
Trez.One d703d18ec8 ... 2025-01-19 11:19:59 -05:00
Trez.One aa967db0c9 Adding caching for Vault. 2025-01-19 11:15:05 -05:00
Trez.One 5f98a0586f Bumping Ansible version again. 2025-01-19 11:04:16 -05:00
Trez.One 3e49ce2c62 Bumping Ansible version. 2025-01-19 11:01:56 -05:00
Trez.One 7ba94ee9ca Tweaking Ansible steps. 2025-01-19 10:57:27 -05:00
Trez.One 065312b50d Tweaking Ansible steps. 2025-01-19 10:51:02 -05:00
Trez.One b6e0473bc1 ... 2025-01-19 10:45:14 -05:00
Trez.One 2679e70122 ... 2025-01-19 10:43:28 -05:00
Trez.One b07056f856 ... 2025-01-19 10:41:58 -05:00
Trez.One 09309ceddc ... 2025-01-19 10:32:19 -05:00
Trez.One beb7e7e5a9 ... 2025-01-19 10:31:21 -05:00
Trez.One 50d981ef21 ... 2025-01-19 10:29:29 -05:00
Trez.One e9be8bcc4d ... 2025-01-19 10:28:26 -05:00
Trez.One 3b7d428f10 ... 2025-01-19 10:27:19 -05:00
Trez.One a0c4556067 ... 2025-01-19 10:25:50 -05:00
Trez.One 7611736510 ... 2025-01-19 10:23:10 -05:00
Trez.One d8d8161249 ... 2025-01-19 10:21:51 -05:00
Trez.One acaab9b5e9 ... 2025-01-19 10:19:53 -05:00
Trez.One 5f3672109b ... 2025-01-19 10:17:20 -05:00
Trez.One 50d9f9dfa4 ... 2025-01-19 10:16:14 -05:00
Trez.One 96e01309f5 ... 2025-01-19 10:14:22 -05:00
Trez.One 46ed74e052 ... 2025-01-19 10:10:26 -05:00
Trez.One dc16f986a1 ... 2025-01-19 10:09:01 -05:00
Trez.One 0473f2791a ... 2025-01-19 10:07:33 -05:00
Trez.One 25a226d699 ... 2025-01-19 10:04:30 -05:00
Trez.One 2b33a94c1d ... 2025-01-19 10:03:59 -05:00
Trez.One 3dbf100575 ... 2025-01-19 09:55:37 -05:00
Trez.One b34392662c ... 2025-01-19 09:54:19 -05:00
Trez.One f46f1800ec ... 2025-01-19 09:52:56 -05:00
Trez.One ea2df7f80f ... 2025-01-19 09:51:39 -05:00
Trez.One bfba8a0310 ... 2025-01-19 09:50:43 -05:00
Trez.One 6a5b008a55 ... 2025-01-19 09:46:39 -05:00
Trez.One ec3f08b88e ... 2025-01-19 09:44:57 -05:00
Trez.One c5beaf1f7d ... 2025-01-19 09:42:17 -05:00
Trez.One 3934fd5667 ... 2025-01-19 09:39:24 -05:00
gitea-sonarqube-bot 67c4f335dd Auto Merge of PR #9 - add-ansible-to-workflow
Merged by Trez.One
2025-01-19 09:37:07 -05:00
Trez.One 6c22bd2d55 Switching inventory file in Ansible Dry Run. 2025-01-19 09:32:22 -05:00
gitea-sonarqube-bot ef0f1c901f Auto Merge of PR #14 - ansible-guy-webui-service
Merged by Trez.One
2025-01-19 08:00:58 -05:00
Trez.One fbf00bb78e Envs for ansible-webui.
Gitea Branch PR, Cloudflare DNS, README generation, & Docker Deployment / Check and Create PR (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Docker Deployment / Docker Compose Test (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Docker Deployment / Cloudflare DNS Setup (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Docker Deployment / Update README (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Docker Deployment / PR Merge (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Docker Deployment / Deploy via Docker Compose (push) Has been cancelled
2025-01-19 07:57:09 -05:00
gitea-sonarqube-bot d59541a354 Auto Merge of PR #13 - ansible-guy-webui-service
Merged by Trez.One
2025-01-19 07:51:41 -05:00
Trez.One cba980f679 Merge remote-tracking branch 'refs/remotes/origin/ansible-guy-webui-service' into ansible-guy-webui-service 2025-01-19 07:45:39 -05:00
Trez.One 8f81633d3f Correcting homepage.href for ansible-webui. 2025-01-19 07:45:04 -05:00
gitea-sonarqube-bot a36c41e6a6 Auto Merge of PR #12 - ansible-guy-webui-service
Merged by Trez.One
2025-01-19 07:34:56 -05:00
Trez.One e48565ff17 chore: Update README 2025-01-19 12:34:19 +00:00
Trez.One e17b03acf4 Adding Ansible0guy WebUI. 2025-01-19 07:31:06 -05:00
Trez.One 8ebd712661 ... 2025-01-18 14:03:27 -05:00
Trez.One 9bff971e06 ... 2025-01-18 13:59:44 -05:00
Trez.One 6e64597b91 ... 2025-01-18 13:52:05 -05:00
Trez.One 62eb7b668b ... 2025-01-18 13:49:24 -05:00
Trez.One e041026c27 ... 2025-01-18 13:47:58 -05:00
Trez.One 1ed8e1c6fb ... 2025-01-18 13:44:35 -05:00
Trez.One 60cd0d31e7 ... 2025-01-18 13:35:26 -05:00
Trez.One 5716372fa9 ... 2025-01-18 13:25:12 -05:00
Trez.One 514d575ece ... 2025-01-18 12:31:04 -05:00
Trez.One 07069269af Adding Gotify notifications for deployment; key file for Ansible. 2025-01-18 12:13:17 -05:00
Trez.One 7eabf6fd04 Adding Gotify notifications for deployment; key file for Ansible. 2025-01-18 11:49:52 -05:00
gitea-sonarqube-bot 529087c82f Auto Merge of PR #11 - speedtest-tracker-deployment-librespeed-removal
Merged by Trez.One
2025-01-18 09:38:26 -05:00
Trez.One 128c61f4f4 chore: Update README 2025-01-18 14:37:47 +00:00
Trez.One 540763579a Removing Librespeed, adding Speedtest-tracker.
Gitea Branch PR, Cloudflare DNS, README generation, & Docker Deployment / Check and Create PR (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Docker Deployment / Docker Compose Test (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Docker Deployment / Cloudflare DNS Setup (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Docker Deployment / Update README (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Docker Deployment / PR Merge (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Docker Deployment / Deploy via Docker Compose (push) Has been cancelled
2025-01-18 07:49:19 -05:00
Trez.One 96f74fa8b9 Adding private key for Ansible steps. 2025-01-18 07:21:22 -05:00
Trez.One f09e3b4117 Adding Ansible installation step 2025-01-17 22:15:25 -05:00
Trez.One 2c3b41ab75 Adding Ansible installation step 2025-01-17 21:57:53 -05:00
Trez.One 42d811817a Adding Ansible installation step 2025-01-17 21:53:26 -05:00
Trez.One 7e1cae9910 Adding Ansible installation step 2025-01-17 21:47:45 -05:00
Trez.One dc22fba4cf Adding Ansible installation step 2025-01-17 21:40:28 -05:00
Trez.One 4a114d2ead Adding caching steps; removing hvac removal for now. 2025-01-17 21:30:34 -05:00
Trez.One 675357c89e Adding caching steps. 2025-01-17 21:25:58 -05:00
Trez.One 9575209e14 Using reusable action for Ansible Playbook actions. 2025-01-17 21:18:36 -05:00
Trez.One bb58c48441 Using reusable action for Ansible Playbook actions. 2025-01-17 21:16:19 -05:00
Trez.One 09fc8e68a6 . 2025-01-17 19:08:23 -05:00
Trez.One ed072defde . 2025-01-17 19:01:01 -05:00
Trez.One bc6f94456e . 2025-01-17 18:49:29 -05:00
Trez.One b47cdf4e71 . 2025-01-17 18:48:08 -05:00
Trez.One 5c4004b333 Moving requirements.yml to another dir. 2025-01-17 18:44:35 -05:00
Trez.One 4ed38f335d Moving requirements.yml to another dir. 2025-01-17 18:42:32 -05:00
Trez.One 7c4762fbd7 . 2025-01-17 18:39:37 -05:00
Trez.One 9d8207382a Merge remote-tracking branch 'refs/remotes/origin/add-ansible-to-workflow' into add-ansible-to-workflow 2025-01-17 18:26:13 -05:00
Trez.One 86011ffba0 Moving requirements.yml up a dir. 2025-01-17 18:21:56 -05:00
Trez.One 5b707b9ee1 Moving requirements file up a dir. 2025-01-17 18:20:51 -05:00
Trez.One f105b6f07d Adding in PR number to title to distinguish multiple PRs in branches. 2025-01-17 18:15:38 -05:00
Trez.One 0655b384f3 Merging the lint steps into one and deploy steps into another. 2025-01-17 18:15:38 -05:00
Trez.One c6e78b5cd6 Merging the lint steps into one and deploy steps into another. 2025-01-17 18:15:38 -05:00
Trez.One 17cdf160b5 Removing collections and leaving requirements; updated workflow to run Ansible Lint and deploy configs via Ansible. 2025-01-17 18:15:38 -05:00
Trez.One df3d4d61a6 Env correction for Rundeck and adding depends_on. 2025-01-17 18:12:41 -05:00
Trez.One 83f51ef142 Env correction for Rundeck and adding depends_on. 2025-01-17 18:12:07 -05:00
gitea-sonarqube-bot 6033764f92 Auto Merge of PR #10 - rundeck-deployment
Merged by Trez.One
2025-01-17 18:00:08 -05:00
Trez.One ccbb947776 chore: Update README 2025-01-17 22:59:27 +00:00
Trez.One 698c8e596d Adding Postgres and SMTP to Rundeck.
Gitea Branch PR, Cloudflare DNS, README generation, & Docker Deployment / Check and Create PR (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Docker Deployment / Docker Compose Test (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Docker Deployment / Cloudflare DNS Setup (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Docker Deployment / Update README (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Docker Deployment / PR Merge (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Docker Deployment / Deploy via Docker Compose (push) Has been cancelled
2025-01-17 17:28:19 -05:00
Trez.One 373a8dd3b5 Adding in PR number to title to distinguish multiple PRs in branches. 2025-01-17 17:05:27 -05:00
Trez.One cd746f0030 Merging the lint steps into one and deploy steps into another. 2025-01-17 16:56:42 -05:00
Trez.One dcca52a2ec Merging the lint steps into one and deploy steps into another. 2025-01-17 16:53:23 -05:00
Trez.One d8cc151328 Removing collections and leaving requirements; updated workflow to run Ansible Lint and deploy configs via Ansible. 2025-01-17 16:42:06 -05:00
gitea-sonarqube-bot b9a6c65b0e Auto Merge of PR #8 - rundeck-deployment
Merged by Trez.One
2025-01-17 15:50:59 -05:00
Trez.One 7d6b9d83be Envs for Rundeck. 2025-01-17 15:38:39 -05:00
Trez.One 4e8aceb99f . 2025-01-17 15:11:54 -05:00
Trez.One 9a2e3c0005 Merge branch 'rundeck-deployment' 2025-01-17 15:10:41 -05:00
Trez.One 24461293d7 . 2025-01-17 15:03:43 -05:00
Trez.One e9ebe526f8 . 2025-01-17 14:58:08 -05:00
Trez.One cc03885d26 Merge remote-tracking branch 'refs/remotes/origin/rundeck-deployment' into rundeck-deployment 2025-01-17 14:49:50 -05:00
Trez.One 11d629c1c0 Adding labels for Rundeck. 2025-01-17 14:49:33 -05:00
Trez.One 1a46c61546 chore: Update README 2025-01-17 19:41:59 +00:00
Trez.One 034d3f58f5 . 2025-01-17 14:38:46 -05:00
Trez.One 689105fd5a . 2025-01-17 14:38:20 -05:00
Trez.One cc535aeab7 Update .gitea/workflows/pr-cloudflare-docker-deploy.yml 2025-01-17 14:35:27 -05:00
Trez.One 636fedba96 Testing out Rundeck. 2025-01-17 14:34:06 -05:00
Trez.One d8e4548d6c Merge pull request 'Ansible Playbook for Docker Config Deployment' (#6) from ansible-config-mgmt-playbook into main
Reviewed-on: Trez.One/rinoa-docker#6
2025-01-17 13:12:40 -05:00
Trez.One 3c1cd60694 Adding ggshield cache to gitignore. 2025-01-17 13:10:38 -05:00
Trez.One 912a19bc55 Adding ggshield cache to gitignore. 2025-01-17 13:10:08 -05:00
Trez.One 51df4b68d8 Adding ggshield cache to gitignore. 2025-01-17 13:03:04 -05:00
Trez.One 2ac0bf622a Adding everything in Ansible in full. 2025-01-17 12:58:53 -05:00
Trez.One 3d7de6ae7d Merge remote-tracking branch 'refs/remotes/origin/ansible-config-mgmt-playbook' into ansible-config-mgmt-playbook 2025-01-16 17:46:37 -05:00
Trez.One 83272b36b8 Trimming down Ansible folder. 2025-01-16 17:44:58 -05:00
Trez.One 7298674536 Adding in Ansible (still a WIP). 2025-01-16 16:20:28 -05:00
Trez.One 5495f51326 Changing workflow so that it triggers on branch push only if Compose file changes. 2025-01-16 16:14:54 -05:00
Trez.One a28e806b8d Adding in Ansible (still a WIP). 2025-01-16 16:12:35 -05:00
Trez.One b350653814 Fixing description for Yacht. 2025-01-16 12:35:19 -05:00
gitea-sonarqube-bot 4706425cef Auto Merge of PR #5 - remove-dockge-install-yacht
Merged by Trez.One
2025-01-16 12:25:29 -05:00
Trez.One 92773f7c17 chore: Update README 2025-01-16 17:24:59 +00:00
Trez.One 8009482432 Removing Dockge in favor of Yacht.
Gitea Branch PR, Cloudflare DNS, README generation, & Docker Deployment / Check and Create PR (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Docker Deployment / Docker Compose Test (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Docker Deployment / Cloudflare DNS Setup (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Docker Deployment / Update README (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Docker Deployment / PR Merge (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Docker Deployment / Deploy via Docker Compose (push) Has been cancelled
2025-01-16 12:22:16 -05:00
Trez.One 7645536481 Re-adding .gitignore until Ansible setup is completed. 2025-01-16 12:08:24 -05:00
gitea-sonarqube-bot b90189ceda Auto Merge of PR #4 - gg-secret-fixes
Merged by Trez.One
2025-01-16 11:55:28 -05:00
Trez.One 24e9302688 Secrets fixes.
Gitea Branch PR, Cloudflare DNS, README generation, & Docker Deployment / Check and Create PR (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Docker Deployment / Docker Compose Test (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Docker Deployment / Cloudflare DNS Setup (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Docker Deployment / Update README (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Docker Deployment / PR Merge (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Docker Deployment / Deploy via Docker Compose (push) Has been cancelled
2025-01-16 11:50:48 -05:00
gitea-sonarqube-bot 306e58e521 Auto Merge of PR #3 - dockge-deploy-remove-komodo
Merged by Trez.One
2025-01-16 10:59:37 -05:00
Trez.One a28769053b Changing volume path for stacks
Gitea Branch PR, Cloudflare DNS, README generation, & Docker Deployment / Check and Create PR (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Docker Deployment / Docker Compose Test (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Docker Deployment / Cloudflare DNS Setup (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Docker Deployment / Update README (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Docker Deployment / PR Merge (push) Has been cancelled
Gitea Branch PR, Cloudflare DNS, README generation, & Docker Deployment / Deploy via Docker Compose (push) Has been cancelled
2025-01-16 10:56:35 -05:00
Trez.One 8be5388ba7 Changing volume path for stacks 2025-01-16 10:51:59 -05:00
gitea-sonarqube-bot 9c4e43b697 Auto Merge of PR #2 - dockge-deploy-remove-komodo
Merged by Trez.One
2025-01-16 10:41:21 -05:00
Trez.One d28c46188d Merge remote-tracking branch 'refs/remotes/origin/dockge-deploy-remove-komodo' into dockge-deploy-remove-komodo 2025-01-16 10:38:03 -05:00
Trez.One ed81f4c802 Forgot to add DOCKER_HOST env for Dockge. 2025-01-16 10:37:48 -05:00
gitea-sonarqube-bot cd686b8acd Auto Merge of PR #1 - dockge-deploy-remove-komodo
Merged by Trez.One
2025-01-16 10:16:41 -05:00
Trez.One bae21696d5 chore: Update README 2025-01-16 15:16:12 +00:00
Trez.One 8820d72f81 Fixing typo for depends_on. 2025-01-16 10:12:51 -05:00
Trez.One 1cfeba0c6f ... 2025-01-16 10:11:13 -05:00
Trez.One 1fe676de60 ... 2025-01-16 10:03:59 -05:00
Trez.One dcf9b7e829 ... 2025-01-16 09:59:02 -05:00
Trez.One e436da962c ... 2025-01-16 09:58:05 -05:00
Trez.One 9c3a666f49 ... 2025-01-16 09:56:49 -05:00
Trez.One bbdf7fe13e ... 2025-01-16 09:54:41 -05:00
Trez.One 227230f11a ... 2025-01-16 09:53:07 -05:00
Trez.One 6a25dde35f ... 2025-01-16 09:52:24 -05:00
Trez.One 2b7c2eb60e Tweaking PR create step. 2025-01-16 09:50:47 -05:00
Trez.One f011b3811e Removing Komodo in favor of Dockge. 2025-01-16 09:47:59 -05:00
Trez.One 91af95090e Removing comment and renaming workflow file. 2025-01-15 15:03:18 -05:00
Trez.One 108be427ab Removed .gitignore. 2025-01-15 14:49:01 -05:00
Trez.One bf9b7d0ed2 Removing env.example. 2025-01-15 14:48:32 -05:00
Trez.One 736c866a65 Removing comments. 2025-01-15 12:49:49 -05:00
gitea-sonarqube-bot 3410008a9d Auto Merge of PR #12 - mastadon-deployment
Merged by Trez.One
2025-01-15 12:36:48 -05:00
Trez.One 592e88f147 chore: Update README 2025-01-15 17:36:17 +00:00
64 changed files with 7974 additions and 2057 deletions
-230
View File
@@ -1,230 +0,0 @@
name: Gitea Branch PR, SonarQube Analyze, and Merge Workflow
on:
push:
branches-ignore:
- main
jobs:
# Job 1: Check if PR exists and create one if the branch is new
check-and-create-pr:
name: Check and Create PR
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@v4
- name: Install tea
uses: supplypike/setup-bin@v4
with:
uri: 'https://gitea.com/gitea/tea/releases/download/v0.9.2/tea-0.9.2-linux-amd64'
name: 'tea'
version: '0.9.2'
- name: Check if open PR exists
id: check-opened-pr-step
run: |
tea login add --name gitea-rinoa --url ${{ secrets.RINOA_GITEA_URL }} --user gitea-sonarqube-bot --password "${{ secrets.BOT_GITEA_PASSWORD }}" --token ${{ secrets.BOT_GITEA_TOKEN }}
tea login default gitea-rinoa
pr_exists=$(tea pr list --repo ${{ github.repository }} --state open | egrep ${{ github.ref_name }} | wc -l)
echo "exists=$pr_exists" >> $GITHUB_OUTPUT
- name: Create PR
if: steps.check-opened-pr-step.outputs.exists == 0
run: |
tea login add --name gitea-rinoa --url ${{ secrets.RINOA_GITEA_URL }} --user gitea-sonarqube-bot --password "${{ secrets.BOT_GITEA_PASSWORD }}" --token ${{ secrets.BOT_GITEA_TOKEN }}
tea login default gitea-rinoa
echo "Creating PR for branch: ${{ github.ref_name }}"
tea pr c -r ${{ github.repository }} -t "Automated PR for ${{ github.ref_name }}" -d "Automatically created PR for branch: ${{ github.ref_name }}" -a ${{ github.actor }}
# echo "Checking if any open PRs exist for branch: ${{ github.ref_name }}"
# PR_STATE=$(tea pr ls --repo "${{ github.repository }}" --state all --fields index,title,head,state --output csv | grep "${{ github.ref_name }}") | head -1 | awk -F',' '{print $4}' | tr -d '"'
# echo "PR_STATE: $PR_STATE"
# PR_EXISTS=$(echo "$PR_STATE" | wc -l)
# if [ "$PR_EXISTS" -ge 1 ]; then
# echo "PR exists, skipping creation..."
# elif [ "$PR_EXISTS" -eq 0 ]; then
# echo "PR does not exist, creating PR..."
# tea pr c -r "${{ github.repository }}" -t "Automated PR for ${{ github.ref_name }}" -d "Automated PR for ${{ github.ref_name }}"
# else
# echo "Error determining PR status. Exiting..."
# exit 1
# fi
docker-compose-test:
name: Docker Compose Test
needs: [check-and-create-pr]
runs-on: ubuntu-latest
env:
VAULT_ADDR: ${{ secrets.RINOA_VAULT_ADDR }}
VAULT_TOKEN: ${{ secrets.VAULT_GITEA_TOKEN }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install jq
uses: dcarbone/install-jq-action@v3.0.1
- name: Install Vault
uses: cpanato/vault-installer@main
with:
vault-release: '1.18.3'
- name: Generate .env file for linting
run: |
vault kv get -format=json rinoa-docker/env | jq -r '.data.data' | jq -r 'keys[] as $k | "\($k)='\''\(.[$k])'\''"' > .env
- name: Docker Compose Lint
uses: yu-ichiro/spin-up-docker-compose-action@v1
with:
file: docker-compose.yml
pull: true
pull-opts: --dry-run
up: true
up-opts: --dry-run -d --remove-orphans
env:
DOCKER_HOST: tcp://dockerproxy:2375
cloudflare-dns-setup:
name: Cloudflare DNS Setup
needs: [docker-compose-test]
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install jq
uses: dcarbone/install-jq-action@v3.0.1
- name: Install yq
uses: dcarbone/install-yq-action@v1
- name: Install flarectl
uses: supplypike/setup-bin@v4
with:
uri: 'https://github.com/cloudflare/cloudflare-go/releases/download/v0.113.0/flarectl_0.113.0_linux_amd64.tar.gz'
name: 'flarectl'
version: '0.113.0'
- name: Grab Subdomains from Docker Compose & Cloudflare
id: grab-subdomains
env:
CF_API_TOKEN: ${{ secrets.CF_API_TOKEN }}
CF_API_EMAIL: ${{ secrets.CF_API_EMAIL }}
run: |
echo "Grabbing subdomains from docker-compose.yml..."
yq '.services[].labels.swag_url' docker-compose.yml | egrep -v 'null' | sed -e 's|"||g' | awk -F'.' '{print $1}' | sort > compose_subdomains.txt
echo "Grabbing subdomains from Cloudflare..."
flarectl --json dns list --zone "trez.wtf" --type=CNAME --content "trez.wtf" | jq '.[].Name' | sed -e 's|"||g' | awk -F"." '{print $1}' | sort > cloudflare_subdomains.txt
- name: Compare Subdomains
id: compare-subdomains
uses: LouisBrunner/diff-action@v2.2.0
with:
old: compose_subdomains.txt
new: cloudflare_subdomains.txt
mode: addition
tolerance: mixed-better
output: domain_compare.txt
- name: Create Subdomains
if: steps.compare-subdomains.outputs.output != ''
continue-on-error: true
env:
CF_API_TOKEN: ${{ secrets.CF_API_TOKEN }}
CF_API_EMAIL: ${{ secrets.CF_API_EMAIL }}
run: |
cat domain_compare.txt | egrep '^-[a-z]' | sed -e 's|-||g' | while read -r subdomain; do
echo "Creating $subdomain.trez.wtf..."
flarectl dns create --zone "trez.wtf" --name "${subdomain}" --type=CNAME --content "trez.wtf"
done
regenerate-readme:
name: Update README
runs-on: ubuntu-latest
needs: [cloudflare-dns-setup]
outputs:
pr-pushed: ${{ steps.commit-readme.outputs.pushed }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install yq
uses: dcarbone/install-yq-action@v1
- name: Generate service list
run: |
yq '.services | to_entries | map({"service": .key, "image": .value.image})' docker-compose.yml > services.yml
- name: Generate Markdown Table
uses: gazab/create-markdown-table@v1
id: service-table
with:
file: ./services.yml
- name: Regenerate README
run: |
echo "# List of Services" > README.md
echo -e "\n\n" >> README.md
echo "${{ steps.service-table.outputs.table }}" >> README.md
- name: Add/Commit README.md
id: commit-readme
uses: EndBug/add-and-commit@v9
with:
message: "chore: Update README"
add: "README.md"
pr-merge:
name: PR Merge
needs: [regenerate-readme]
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install tea
uses: supplypike/setup-bin@v4
with:
uri: 'https://gitea.com/gitea/tea/releases/download/v0.9.2/tea-0.9.2-linux-amd64'
name: 'tea'
version: '0.9.2'
- name: PR Merge
id: pr_merge
run: |
tea login add --name gitea-rinoa --url ${{ secrets.RINOA_GITEA_URL }} --user gitea-sonarqube-bot --password "${{ secrets.BOT_GITEA_PASSWORD }}" --token ${{ secrets.BOT_GITEA_TOKEN }}
tea login default gitea-rinoa
pr_index=$(tea pr ls --repo ${{ github.repository }} --state open --fields index,title,head,state --output csv | egrep ${{ gitea.ref_name }} | awk -F, '{print $1}' | sed -e 's|"||g')
tea pr m --repo ${{ github.repository }} --title "Auto Merge of PR #${pr_index} - ${{ gitea.ref_name }}" --message "Merged by ${{ gitea.actor }}" --output table ${pr_index}
docker-compose-deploy:
name: Deploy via Docker Compose
runs-on: ubuntu-latest
needs: [pr-merge]
env:
VAULT_ADDR: ${{ secrets.RINOA_VAULT_ADDR }}
VAULT_TOKEN: ${{ secrets.VAULT_GITEA_TOKEN }}
DOCKER_HOST: tcp://dockerproxy:2375
steps:
- name: Checkout
uses: actions/checkout@v4
with:
ref: main
- name: Install Vault
uses: cpanato/vault-installer@main
- name: Generate .env file for deployment
run: |
vault kv get -format=json rinoa-docker/env | jq -r '.data.data' | jq -r 'keys[] as $k | "\($k)='\''\(.[$k])'\''"' > .env
- name: Docker Compose Deployment
uses: keatonLiu/docker-compose-remote-action@v1.2
with:
ssh_user: gitea-deploy
ssh_host: 192.168.1.254
ssh_host_public_key: ${{ secrets.RINOA_GITEA_PUBLIC_SSH_KEY }}
ssh_private_key: ${{ secrets.RINOA_GITEA_PRIVATE_SSH_KEY }}
docker_compose_file: docker-compose.yml
@@ -0,0 +1,322 @@
name: Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment
on:
push:
branches-ignore:
- main
paths:
- '**.yaml'
- '**.yml'
- '**.j2'
jobs:
check-and-create-pr:
name: Check and Create PR
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Cache tea CLI
id: cache-tea
uses: actions/cache@v4
with:
path: /opt/hostedtoolcache/tea/0.9.2/x64
key: tea-${{ runner.os }}-0.9.2
- name: Install tea
uses: supplypike/setup-bin@v4
with:
uri: 'https://gitea.com/gitea/tea/releases/download/v0.9.2/tea-0.9.2-linux-amd64'
name: 'tea'
version: '0.9.2'
- name: Check if open PR exists
id: check-opened-pr-step
continue-on-error: true
run: |
tea login add --name gitea-rinoa --url "${{ secrets.RINOA_GITEA_URL }}" --user gitea-sonarqube-bot --password "${{ secrets.BOT_GITEA_PASSWORD }}" --token ${{ secrets.BOT_GITEA_TOKEN }}
tea pr list --repo ${{ github.repository }} --state all
pr_exists=$(tea pr list --repo ${{ github.repository }} --state open --fields index,title,head | egrep ${{ github.ref_name }} | tail -1 | wc -l)
echo ${pr_exists}
echo "exists=$pr_exists" >> $GITHUB_OUTPUT
- name: Create PR
if: ${{ steps.check-opened-pr-step.outputs.exists == '0' }}
run: |
tea login default gitea-rinoa
pr_index_old=$(tea pr ls --repo ${{ github.repository }} --state all --fields index,title,head --output csv | sed -e 's|"||g' | egrep '^[0-9]' | head -1 | awk -F"," '{print $1}')
pr_index_new=$(expr ${pr_index_old} + 1)
tea pr c -r ${{ github.repository }} -t "Automated PR for ${{ github.ref_name }} - #${pr_index_new}" -d "Automatically created PR for branch: ${{ github.ref_name }}" -a ${{ github.actor }}
docker-compose-ansible-lints:
name: Docker Compose & Ansible Lints
needs: [check-and-create-pr]
runs-on: ubuntu-latest
env:
VAULT_ADDR: ${{ secrets.RINOA_VAULT_ADDR }}
VAULT_TOKEN: ${{ secrets.VAULT_GITEA_TOKEN }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Cache Ansible Galaxy Collections
uses: actions/cache@v3
with:
path: ansible/collections
key: ${{ runner.os }}-ansible-${{ hashFiles('./ansible/collections/requirements.yml') }}
restore-keys: |
${{ runner.os }}-ansible-
- name: Install Ansible
uses: alex-oleshkevich/setup-ansible@v1.0.1
with:
version: "11.0.0"
- name: Install Vault
uses: cpanato/vault-installer@main
- name: Install hvac
run: pip install hvac
- name: Ansible Playbook Dry Run
uses: dawidd6/action-ansible-playbook@v2
with:
directory: ansible/
playbook: docker_config_deploy.yml
key: ${{secrets.RINOA_ANSIBLE_PRIVATE_KEY}}
options: |
--inventory inventory/hosts.yml
--check
requirements: collections/requirements.yml
vault_password: ${{ secrets.ANSIBLE_VAULT_PASSWORD }}
- name: Gotify Notification
uses: eikendev/gotify-action@master
with:
gotify_api_base: '${{ secrets.RINOA_GOTIFY_URL }}'
gotify_app_token: '${{ secrets.RINOA_RUNNER_GOTIFY_TOKEN }}'
notification_title: 'GITEA: Ansible Config Dry Run @ Rinoa'
notification_message: 'Ansible dry run completed successfully.'
- name: Generate .env file for Docker Compose Dry Run
run: |
vault kv get -format=json rinoa-docker/env | jq -r '.data.data' | jq -r 'keys[] as $k | "\($k)='\''\(.[$k])'\''"' > .env
- name: Cache .env Files
uses: actions/cache@v4
with:
path: .env
key: ${{ runner.os }}-env-${{ hashFiles('docker-compose.yml') }}
- name: Docker Compose Dry Run
uses: yu-ichiro/spin-up-docker-compose-action@v1
with:
file: docker-compose.yml
pull: true
pull-opts: --dry-run
up: true
up-opts: --dry-run -d --remove-orphans
env:
DOCKER_HOST: tcp://dockerproxy:2375
- name: Gotify Notification
uses: eikendev/gotify-action@master
with:
gotify_api_base: '${{ secrets.RINOA_GOTIFY_URL }}'
gotify_app_token: '${{ secrets.RINOA_RUNNER_GOTIFY_TOKEN }}'
notification_title: 'GITEA: Docker Compose Dry Run @ Rinoa'
notification_message: 'Docker Compose dry run completed successfully.'
cloudflare-dns-setup:
name: Cloudflare DNS Setup
needs: [docker-compose-ansible-lints]
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Cache flarectl CLI
uses: actions/cache@v4
with:
path: ~/.flarectl
key: flarectl-${{ runner.os }}-${{ hashFiles('workflow-config.yml') }}
- name: Install flarectl
uses: supplypike/setup-bin@v4
with:
uri: 'https://github.com/cloudflare/cloudflare-go/releases/download/v0.113.0/flarectl_0.113.0_linux_amd64.tar.gz'
name: 'flarectl'
version: '0.113.0'
- name: Cache Subdomain Files
uses: actions/cache@v4
with:
path: |
compose_subdomains.txt
cloudflare_subdomains.txt
key: ${{ runner.os }}-subdomains-${{ hashFiles('docker-compose.yml') }}
- name: Grab Subdomains from Docker Compose & Cloudflare
id: grab-subdomains
env:
CF_API_TOKEN: ${{ secrets.CF_API_TOKEN }}
CF_API_EMAIL: ${{ secrets.CF_API_EMAIL }}
run: |
yq '.services[].labels.swag_url' docker-compose.yml | egrep -v 'null' | sed -e 's|"||g' | awk -F'.' '{print $1}' | sort > compose_subdomains.txt
flarectl --json dns list --zone "trez.wtf" --type=CNAME --content "trez.wtf" | jq '.[].Name' | sed -e 's|"||g' | awk -F"." '{print $1}' | sort > cloudflare_subdomains.txt
- name: Gotify Notification
uses: eikendev/gotify-action@master
with:
gotify_api_base: '${{ secrets.RINOA_GOTIFY_URL }}'
gotify_app_token: '${{ secrets.RINOA_RUNNER_GOTIFY_TOKEN }}'
notification_title: 'GITEA: Cloudflare Setup @ Rinoa'
notification_message: 'Starting Cloudflare setup'
- name: Compare Subdomains
id: compare-subdomains
uses: LouisBrunner/diff-action@v2.2.0
with:
old: compose_subdomains.txt
new: cloudflare_subdomains.txt
mode: addition
tolerance: mixed-better
output: domain_compare.txt
- name: Create Subdomains
if: steps.compare-subdomains.outputs.output != ''
continue-on-error: true
env:
CF_API_TOKEN: ${{ secrets.CF_API_TOKEN }}
CF_API_EMAIL: ${{ secrets.CF_API_EMAIL }}
run: |
cat domain_compare.txt | egrep '^-[a-z]' | sed -e 's|-||g' | while read -r subdomain; do
echo "Creating $subdomain.trez.wtf..."
flarectl dns create --zone "trez.wtf" --name "${subdomain}" --type=CNAME --content "trez.wtf" --proxy true
done
- name: Gotify Notification
uses: eikendev/gotify-action@master
with:
gotify_api_base: '${{ secrets.RINOA_GOTIFY_URL }}'
gotify_app_token: '${{ secrets.RINOA_RUNNER_GOTIFY_TOKEN }}'
notification_title: 'GITEA: Cloudflare Setup @ Rinoa'
notification_message: 'Cloudflare DNS setup completed successfully.'
regenerate-readme-modified-services:
name: Update README & Generate List of Modified Services
runs-on: ubuntu-latest
needs: [cloudflare-dns-setup]
# outputs:
# pr-pushed: ${{ steps.commit-readme.outputs.pushed }}
# modified_services: ${{ steps.compare-services.outputs.modified_services }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install yq
uses: dcarbone/install-yq-action@v1
# - name: Fetch main branch for comparison
# run: |
# git fetch origin main:main
# - name: Compare services using yq
# continue-on-error: true
# id: compare-services
# run: |
# current_services=$(yq '.services | to_entries' docker-compose.yml)
# git show main:docker-compose.yml > main_compose.yml
# main_services=$(yq '.services | to_entries' main_compose.yml)
# modified_services_file=$(comm -13 <(echo "$main_services") <(echo "$current_services") > changes_compose.yml)
# modified_services=${egrep '^ [a-z]' changes.yml | sed -e 's|^ ||g' -e 's|:||g' | sed ':a;N;$!ba;s/\n/ /g'}
# echo "Modified services: $modified_services"
# echo "modified_services=$modified_services" >> $GITHUB_OUTPUT
- name: Generate service list
run: |
yq '.services | to_entries | map({"service": .key, "image": .value.image})' docker-compose.yml > services.yml
- name: Generate Markdown Table
uses: gazab/create-markdown-table@v1
id: service-table
with:
file: ./services.yml
- name: Regenerate README
run: |
echo "# List of Services" > README.md
echo -e "\n\n" >> README.md
echo "${{ steps.service-table.outputs.table }}" >> README.md
- name: Add/Commit README.md
id: commit-readme
uses: EndBug/add-and-commit@v9
with:
message: "chore: Update README"
add: "README.md"
pr-merge:
name: PR Merge
needs: [regenerate-readme-modified-services]
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install tea
uses: supplypike/setup-bin@v4
with:
uri: 'https://gitea.com/gitea/tea/releases/download/v0.9.2/tea-0.9.2-linux-amd64'
name: 'tea'
version: '0.9.2'
- name: PR Merge
id: pr_merge
run: |
tea login add --name gitea-rinoa --url ${{ secrets.RINOA_GITEA_URL }} --user gitea-sonarqube-bot --password "${{ secrets.BOT_GITEA_PASSWORD }}" --token ${{ secrets.BOT_GITEA_TOKEN }}
tea login default gitea-rinoa
echo "Merging PR..."
pr_index=$(tea pr ls --repo ${{ github.repository }} --state open --fields index,title,head,state --output csv | egrep ${{ github.ref_name }} | awk -F"," '{print $1}' | sed -e 's|"||g')
tea pr m --repo ${{ github.repository }} --title "Auto Merge of PR ${pr_index} - ${{ github.ref_name }}" --message "Merged by ${{ github.actor }}" ${pr_index}
echo "pr_index=${pr_index}" >> $GITHUB_OUTPUT
- name: Gotify Notification
uses: eikendev/gotify-action@master
with:
gotify_api_base: '${{ secrets.RINOA_GOTIFY_URL }}'
gotify_app_token: '${{ secrets.RINOA_RUNNER_GOTIFY_TOKEN }}'
notification_title: 'GITEA: PR Merge Successful'
notification_message: 'PR #${{ steps.pr_merge.outputs.pr_index }} merged.'
ansible-config-docker-compose-deploy:
name: Deploy via Ansible & Docker Compose
runs-on: ubuntu-latest
needs: [pr-merge]
env:
VAULT_ADDR: ${{ secrets.RINOA_VAULT_ADDR }}
VAULT_TOKEN: ${{ secrets.VAULT_GITEA_TOKEN }}
DOCKER_HOST: tcp://dockerproxy:2375
steps:
- name: Checkout
uses: actions/checkout@v4
with:
ref: main
- name: Cache Vault install
id: cache-vault
uses: actions/cache@v4
with:
path: /opt/hostedtoolcache/vault/1.18.0/x64
key: vault-${{ runner.os }}-1.18.0
- name: Install Ansible
uses: alex-oleshkevich/setup-ansible@v1.0.1
with:
version: "11.0.0"
- name: Install Vault
uses: cpanato/vault-installer@main
- name: Install hvac
run: pip install hvac
- name: Deploy Docker Configs via Ansible
uses: dawidd6/action-ansible-playbook@v2
with:
directory: ansible/
playbook: docker_config_deploy.yml
key: ${{secrets.RINOA_ANSIBLE_PRIVATE_KEY}}
options: |
--inventory inventory/hosts.yml
requirements: collections/requirements.yml
vault_password: ${{ secrets.ANSIBLE_VAULT_PASSWORD }}
- name: Gotify Notification
uses: eikendev/gotify-action@master
with:
gotify_api_base: '${{ secrets.RINOA_GOTIFY_URL }}'
gotify_app_token: '${{ secrets.RINOA_RUNNER_GOTIFY_TOKEN }}'
notification_title: 'GITEA: Ansible Config Deployment @ Rinoa'
notification_message: 'Deployment completed successfully.'
- name: Generate .env file for deployment
run: |
vault kv get -format=json rinoa-docker/env | jq -r '.data.data' | jq -r 'keys[] as $k | "\($k)='\''\(.[$k])'\''"' > .env
- name: Docker Compose Deployment
# if: ${{ steps.regenerate-readme-modified-services.outputs.modified_services != '' }}
continue-on-error: true
uses: keatonLiu/docker-compose-remote-action@v1.2
with:
docker_compose_file: docker-compose.yml
docker_args: -d --remove-orphans --pull missing
ssh_user: gitea-deploy
ssh_host: 192.168.1.254
ssh_host_public_key: ${{ secrets.RINOA_GITEA_PUBLIC_SSH_KEY }}
ssh_private_key: ${{ secrets.RINOA_GITEA_PRIVATE_SSH_KEY }}
- name: Gotify Notification
uses: eikendev/gotify-action@master
with:
gotify_api_base: '${{ secrets.RINOA_GOTIFY_URL }}'
gotify_app_token: '${{ secrets.RINOA_RUNNER_GOTIFY_TOKEN }}'
notification_title: 'GITEA: Docker Compose Deployment @ Rinoa'
notification_message: 'Deployment completed successfully.'
+3 -2
View File
@@ -1,2 +1,3 @@
**/.env*
**/*env*
**/.cache_ggshield
ansible/collections/ansible_collections/
**/.env
+33 -32
View File
@@ -6,27 +6,24 @@
| --- | --- |
| actual_server | docker.io/actualbudget/actual-server:latest |
| adguard | adguard/adguardhome:latest |
| apprise | lscr.io/linuxserver/apprise-api:latest |
| audiobookshelf | ghcr.io/advplyr/audiobookshelf:latest |
| authelia | authelia/authelia:master |
| authelia-pg | postgres:16-alpine |
| bazarr | lscr.io/linuxserver/bazarr:latest |
| beszel | henrygd/beszel:latest |
| beszel-agent | henrygd/beszel-agent:latest |
| bitmagnet | ghcr.io/bitmagnet-io/bitmagnet:latest |
| bitmagnet-pg-db | postgres:17-alpine |
| bitwarden | vaultwarden/server:latest |
| bluesky-pds | ghcr.io/bluesky-social/pds:latest |
| browserless | ghcr.io/browserless/chromium:latest |
| bunkerweb | bunkerity/bunkerweb:latest |
| bunkerweb-scheduler | bunkerity/bunkerweb-scheduler:latest |
| bunkerweb-ui | bunkerity/bunkerweb-ui:latest |
| castopod | castopod/castopod:latest |
| cloudflared | cloudflare/cloudflared:latest |
| cloudflareddns | ghcr.io/hotio/cloudflareddns:latest |
| crowdsec | crowdsecurity/crowdsec:latest |
| crowdsec-dashboard | metabase/metabase |
| czkawka | jlesage/czkawka |
| dagu-scheduler | ghcr.io/dagu-org/dagu:latest |
| dagu-server | ghcr.io/dagu-org/dagu:latest |
| dbgate | dbgate/dbgate:alpine |
| delugevpn | ghcr.io/binhex/arch-delugevpn:latest |
| docker-socket-proxy | ghcr.io/tecnativa/docker-socket-proxy:latest |
| docuseal | docuseal/docuseal:latest |
@@ -34,7 +31,7 @@
| fastenhealth | ghcr.io/fastenhealth/fasten-onprem:main |
| flaresolverr | ghcr.io/flaresolverr/flaresolverr:latest |
| ghost | ghost:latest |
| gitea | gitea/gitea:1.22.6 |
| gitea | gitea/gitea:1.23.1 |
| gitea-db | postgres:14 |
| gitea-opengist | ghcr.io/thomiceli/opengist:latest |
| gitea-runner | gitea/act_runner:latest |
@@ -52,10 +49,16 @@
| homepage | ghcr.io/gethomepage/homepage:latest |
| hortusfox | ghcr.io/danielbrendel/hortusfox-web:latest |
| hugo | hugomods/hugo:exts |
| immich-server | ghcr.io/immich-app/immich-server:release |
| immich-machine-learning | ghcr.io/immich-app/immich-machine-learning:release |
| immich-pg-db | tensorchord/pgvecto-rs:pg14-v0.2.1 |
| immich-public-proxy | alangrainger/immich-public-proxy:latest |
| immich-power-tools | ghcr.io/varun-raj/immich-power-tools:latest |
| influxdb2 | influxdb:2-alpine |
| invidious | quay.io/invidious/invidious:latest |
| invidious-db | docker.io/library/postgres:14 |
| invoice_ninja | invoiceninja/invoiceninja:5 |
| invoice_ninja_proxy | nginx |
| invoice-ninja | invoiceninja/invoiceninja-debian:5 |
| invoice-ninja_proxy | nginx |
| it-tools | ghcr.io/corentinth/it-tools:latest |
| jellyfin | jellyfin/jellyfin |
| jitsi-etherpad | etherpad/etherpad:1.8.6 |
@@ -67,32 +70,38 @@
| jitsi-web | jitsi/web:stable |
| joplin-db | postgres:17-alpine |
| joplin | joplin/server:latest |
| komodo-core | ghcr.io/mbecker20/komodo:latest |
| komodo-ferretdb | ghcr.io/ferretdb/ferretdb |
| komodo-periphery | ghcr.io/mbecker20/periphery:latest |
| komodo-pg-db | postgres:17-alpine |
| librespeed | lscr.io/linuxserver/librespeed:latest |
| lidarr | lscr.io/linuxserver/lidarr:latest |
| lidify | thewicklowwolf/lidify:latest |
| lldap | lldap/lldap:stable |
| localai | localai/localai:latest-aio-cpu |
| maloja | krateng/maloja:latest |
| mariadb | ghcr.io/linuxserver/mariadb |
| mariadb | linuxserver/mariadb |
| mastodon | lscr.io/linuxserver/mastodon:latest |
| mastodon-pg-db | postgres:17-alpine |
| minio | minio/minio |
| mongodb | mongo:7.0 |
| mongodb | bitnami/mongodb:7.0 |
| multi-scrobbler | foxxmd/multi-scrobbler |
| n8n | docker.n8n.io/n8nio/n8n |
| navidrome | deluan/navidrome:latest |
| netbox | lscr.io/linuxserver/netbox:latest |
| netbox-db | postgres:17-alpine |
| nextcloud | lscr.io/linuxserver/nextcloud:latest |
| netalertx | jokobsk/netalertx:latest |
| netbird-dashboard | netbirdio/dashboard:latest |
| netbird-signal | netbirdio/signal:latest |
| netbird-relay | netbirdio/relay:latest |
| netbird-management | netbirdio/management:latest |
| netbird-coturn | coturn/coturn:latest |
| nextcloud | nextcloud/all-in-one:latest |
| ollama | ollama/ollama |
| ombi | lscr.io/linuxserver/ombi:latest |
| open-webui | ghcr.io/open-webui/open-webui:main |
| paperless-ngx | ghcr.io/paperless-ngx/paperless-ngx:latest |
| parseable | containers.parseable.com/parseable/parseable:latest |
| pgbackweb | eduardolat/pgbackweb:latest |
| pgbackweb-db | postgres:16-alpine |
| plantuml-server | plantuml/plantuml-server:jetty |
| plausible | ghcr.io/plausible/community-edition:v2.1.0 |
| plausible_db | postgres:16-alpine |
| plausible_events_db | clickhouse/clickhouse-server:24.3.3.102-alpine |
| portainer | portainer/portainer-ce:alpine-sts |
| portall | need4swede/portall:latest |
| postal-smtp | ghcr.io/postalserver/postal:latest |
| postal-web | ghcr.io/postalserver/postal:latest |
| postal-worker | ghcr.io/postalserver/postal:latest |
@@ -104,26 +113,22 @@
| readarr | lscr.io/linuxserver/readarr:develop |
| redis | redis:alpine |
| redlib | quay.io/redlib/redlib:latest |
| rocketchat | registry.rocket.chat/rocketchat/rocket.chat:latest |
| sabnzbdvpn | ghcr.io/binhex/arch-sabnzbdvpn:latest |
| scraperr | jpyles0524/scraperr:latest |
| scraperr-api | jpyles0524/scraperr_api:latest |
| scrutiny | ghcr.io/analogj/scrutiny:master-omnibus |
| searxng | searxng/searxng:latest |
| semaphore | semaphoreui/semaphore:v2.10.32 |
| slurpit-portal | slurpit/portal:latest |
| slurpit-scanner | slurpit/scanner:latest |
| slurpit-scraper | slurpit/scraper:latest |
| slurpit-warehouse | slurpit/warehouse:latest |
| sonarqube | mc1arke/sonarqube-with-community-branch-plugin:lts |
| sonarqube-pg-db | postgres:17-alpine |
| sonarr | lscr.io/linuxserver/sonarr:latest |
| sonashow | thewicklowwolf/sonashow:latest |
| soularr | mrusse08/soularr:latest |
| soulseek | slskd/slskd |
| sourcebot | ghcr.io/sourcebot-dev/sourcebot:latest |
| speedtest-tracker | lscr.io/linuxserver/speedtest-tracker:latest |
| spotisub | blastbeng/spotisub:latest |
| swag | lscr.io/linuxserver/swag:latest |
| synapse | docker.io/matrixdotorg/synapse:latest |
| synapse-db | postgres:16-alpine |
| tandoor | vabene1111/recipes |
| tandoor-pg | postgres:16-alpine |
| traccar | traccar/traccar:latest |
@@ -131,15 +136,11 @@
| unmanic | josh5/unmanic:latest |
| uptimekuma | louislam/uptime-kuma:latest |
| vault | hashicorp/vault:latest |
| vector | timberio/vector:0.44.0-alpine |
| wallabag | wallabag/wallabag |
| wallos | bellamy/wallos:latest |
| watchtower | ghcr.io/containrrr/watchtower:latest |
| wazuh.agent | opennix/wazuh-agent:latest |
| wazuh.dashboard | wazuh/wazuh-dashboard: |
| wazuh.indexer | wazuh/wazuh-indexer: |
| wazuh.manager | wazuh/wazuh-manager: |
| web-check | lissy93/web-check |
| whodb | clidey/whodb |
| your_spotify | lscr.io/linuxserver/your_spotify:latest |
| youtubedl | nbr23/youtube-dl-server:latest |
| zammad-backup | postgres: |
+167
View File
@@ -0,0 +1,167 @@
.logs/*
*.retry
*.vault
# https://raw.githubusercontent.com/github/gitignore/main/Python.gitignore
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class
.cache_ggshield
# Ansible Vault Password Files
*.pass
# C extensions
*.so
# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST
# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec
# Installer logs
pip-log.txt
pip-delete-this-directory.txt
# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
*.py,cover
.hypothesis/
.pytest_cache/
cover/
# Translations
*.mo
*.pot
# Django stuff:
*.log
local_settings.py
db.sqlite3
db.sqlite3-journal
# Flask stuff:
instance/
.webassets-cache
# Scrapy stuff:
.scrapy
# Sphinx documentation
docs/_build/
# PyBuilder
.pybuilder/
target/
# Jupyter Notebook
.ipynb_checkpoints
# IPython
profile_default/
ipython_config.py
# pyenv
# For a library or package, you might want to ignore these files since the code is
# intended to run in multiple environments; otherwise, check them in:
# .python-version
# pipenv
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
# However, in case of collaboration, if having platform-specific dependencies or dependencies
# having no cross-platform support, pipenv may install dependencies that don't work, or not
# install all needed dependencies.
#Pipfile.lock
# poetry
# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
# This is especially recommended for binary packages to ensure reproducibility, and is more
# commonly ignored for libraries.
# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
#poetry.lock
# pdm
# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
#pdm.lock
# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
# in version control.
# https://pdm.fming.dev/#use-with-ide
.pdm.toml
# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
__pypackages__/
# Celery stuff
celerybeat-schedule
celerybeat.pid
# SageMath parsed files
*.sage.py
# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/
# Spyder project settings
.spyderproject
.spyproject
# Rope project settings
.ropeproject
# mkdocs documentation
/site
# mypy
.mypy_cache/
.dmypy.json
dmypy.json
# Pyre type checker
.pyre/
# pytype static type analyzer
.pytype/
# Cython debug symbols
cython_debug/
# PyCharm
# JetBrains specific template is maintained in a separate JetBrains.gitignore that can
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
# and can be added to the global gitignore or merged into this file. For a more nuclear
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
#.idea/
+45
View File
@@ -0,0 +1,45 @@
# Rinoa Docker_configs Ansible Project
## Included content/ Directory Structure
The directory structure follows best practices recommended by the Ansible community. Feel free to customize this template according to your specific project requirements.
```
ansible-project/
|── .devcontainer/
| └── docker/
| └── devcontainer.json
| └── podman/
| └── devcontainer.json
| └── devcontainer.json
|── .github/
| └── workflows/
| └── tests.yml
| └── ansible-code-bot.yml
|── .vscode/
| └── extensions.json
|── collections/
| └── requirements.yml
| └── ansible_collections/
| └── project_org/
| └── project_repo/
| └── README.md
| └── roles/sample_role/
| └── README.md
| └── tasks/main.yml
|── inventory/
| └── groups_vars/
| └── host_vars/
| └── hosts.yml
|── ansible-navigator.yml
|── ansible.cfg
|── devfile.yaml
|── linux_playbook.yml
|── network_playbook.yml
|── README.md
|── site.yml
```
## Compatible with Ansible-lint
Tested with ansible-lint >=24.2.0 releases and the current development version of ansible-core.
+25
View File
@@ -0,0 +1,25 @@
[defaults]
# Specify the inventory file
inventory = inventory/hosts.yml
collections_path = ./collections
# Set the logging verbosity level
verbosity = 2
# Set the default user for SSH connections
remote_user = charish
# Define the default become method
become_method = sudo
host_key_checking = false
[persistent_connection]
# Controls how long the persistent connection will remain idle before it is destroyed
connect_timeout=30
# Controls the amount of time to wait for response from remote device before timing out persistent connection
command_timeout=30
[hashi_vault_collection]
auth_method = token
@@ -0,0 +1,16 @@
{% set vault_addr = 'https://vault.trez.wtf' %}
{% set secrets_path = 'rinoa-docker/env' %}
tunnel: 52bdee6e-8ccb-47be-ba9e-f8010b905e41
credentials-file: /etc/cloudflared/52bdee6e-8ccb-47be-ba9e-f8010b905e41.json
warp-routing:
enabled: true
ingress:
- hostname: git-ssh.trez.wtf
service: ssh://gitea:22
- hostname: gist-ssh.trez.wtf
service: ssh://gitea-opengist:2222
- hostname: ssh.trez.wtf
service: ssh://192.168.1.254:22
- service: http_status:404 # Default for unmatched requests
@@ -0,0 +1,15 @@
{% set vault_addr = 'https://vault.trez.wtf' %}
{% set secrets_path = 'rinoa-docker/env' %}
source: journalctl
journalctl_filter:
- "--directory=/var/log/host/"
labels:
type: syslog
---
filenames:
- /var/log/swag/*
labels:
type: nginx
---
@@ -0,0 +1,17 @@
{% set vault_addr = 'https://vault.trez.wtf' %}
{% set secrets_path = 'rinoa-docker/env' %}
name: default_ip_remediation
#debug: true
filters:
- Alert.Remediation == true && Alert.GetScope() == "Ip"
decisions:
- type: ban
duration: 4h
#duration_expr: Sprintf('%dh', (GetDecisionsCount(Alert.GetValue()) + 1) * 4)
# notifications:
# - slack_default # Set the webhook in /etc/crowdsec/notifications/slack.yaml before enabling this.
# - splunk_default # Set the splunk url and token in /etc/crowdsec/notifications/splunk.yaml before enabling this.
# - http_default # Set the required http parameters in /etc/crowdsec/notifications/http.yaml before enabling this.
# - email_default # Set the required email parameters in /etc/crowdsec/notifications/email.yaml before enabling this.
on_success: break
+125
View File
@@ -0,0 +1,125 @@
{% set vault_addr = 'https://vault.trez.wtf' %}
{% set secrets_path = 'rinoa-docker/env' %}
APP_NAME = Gitea: Git with a cup of tea
RUN_MODE = prod
RUN_USER = git
WORK_PATH = /data/gitea
[repository]
ROOT = /data/git/repositories
DEFAULT_PRIVATE = last
EMABLE_PUSH_CREATE_USER = true
[repository.local]
LOCAL_COPY_PATH = /data/gitea/tmp/local-repo
[repository.upload]
TEMP_PATH = /data/gitea/uploads
[server]
APP_DATA_PATH = /data/gitea
DOMAIN = git.trez.wtf
SSH_DOMAIN = git-ssh.trez.wtf
HTTP_PORT = 3000
ROOT_URL = https://git.trez.wtf/
DISABLE_SSH = false
SSH_PORT = 22
SSH_LISTEN_PORT = 22
LFS_START_SERVER = true
LFS_JWT_SECRET = {{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['GITEA_LFS_JWT_SECRET'] }}
OFFLINE_MODE = true
[database]
PATH = /data/gitea/gitea.db
DB_TYPE = postgres
HOST = gitea-db:5432
NAME = gitea
USER = gitea
PASSWD = {{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['GITEA_PG_DB_PASSWORD'] }}
LOG_SQL = false
SCHEMA =
SSL_MODE = disable
[indexer]
ISSUE_INDEXER_PATH = /data/gitea/indexers/issues.bleve
REPO_INDEXER_ENABLED = true
REPO_INDEXER_PATH = indexers/repos.bleve
MAX_FILE_SIZE = 1048576
REPO_INDEXER_INCLUDE =
REPO_INDEXER_EXCLUDE = resources/bin/**
[session]
PROVIDER_CONFIG = /data/gitea/sessions
PROVIDER = file
[picture]
AVATAR_UPLOAD_PATH = /data/gitea/avatars
REPOSITORY_AVATAR_UPLOAD_PATH = /data/gitea/repo-avatars
[attachment]
PATH = /data/gitea/attachments
[log]
MODE = console
LEVEL = info
ROOT_PATH = root
[security]
INSTALL_LOCK = true
SECRET_KEY =
REVERSE_PROXY_LIMIT = 1
REVERSE_PROXY_TRUSTED_PROXIES = *
INTERNAL_TOKEN = {{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['GITEA_INTERNAL_TOKEN'] }}
PASSWORD_HASH_ALGO = pbkdf2
[service]
DISABLE_REGISTRATION = false
REQUIRE_SIGNIN_VIEW = false
REGISTER_EMAIL_CONFIRM = true
ENABLE_NOTIFY_MAIL = true
ALLOW_ONLY_EXTERNAL_REGISTRATION = false
ENABLE_CAPTCHA = true
DEFAULT_KEEP_EMAIL_PRIVATE = true
DEFAULT_ALLOW_CREATE_ORGANIZATION = false
DEFAULT_ENABLE_TIMETRACKING = false
NO_REPLY_ADDRESS = noreply@trez.wtf
[lfs]
PATH = /data/git/lfs
[mailer]
PASSWD = {{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['POSTAL_SMTP_AUTH_PASSWORD'] }}
PROTOCOL = smtp
ENABLED = true
FROM = '"Gitea" <noreply@trez.wtf>'
SMTP_PORT = 25
USER = rinoa/postal-smtp
SMTP_ADDR = postal-smtp
IS_TLS_ENABLED = faLse
[openid]
ENABLE_OPENID_SIGNIN = true
ENABLE_OPENID_SIGNUP = true
[cron.update_checker]
ENABLED = false
[repository.pull-request]
DEFAULT_MERGE_STYLE = merge
[repository.signing]
DEFAULT_TRUST_MODEL = committer
[oauth2]
JWT_SECRET = {{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['GITEA_OAUTH2_JWT_SECRET'] }}
[ui]
THEMES =
[actions]
ENABLED = true
[webhook]
ALLOWED_HOST_LIST = private,104.21.1.234,172.67.152.146
SKIP_TLS_VERIFY = true
@@ -0,0 +1,81 @@
{% set vault_addr = 'https://vault.trez.wtf' %}
{% set secrets_path = 'rinoa-docker/env' %}
# Gitea related configuration. Necessary for adding/updating comments on repository pull requests
gitea:
# Endpoint of your Gitea instance. Must be expandable by '/api/v1' to form the API base path as shown in Swagger UI.
url: https://git.trez.wtf
# Created access token for the user that shall be used as bot account.
# User needs "Read project" permissions with access to "Pull Requests"
token:
value: "{{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['GITEA_SONARQUBE_BOT_GITEA_TOKEN'] }}"
# # or path to file containing the plain text secret
# file: /path/to/gitea/token
# If the sent webhook has a signature header, the bot validates the request payload. If the value does not match, the
# request will be ignored.
# The bot looks for `X-Gitea-Signature` header containing the sha256 hmac hash of the plain text secret. If the header
# exists and no webhookSecret is defined here, the bot will ignore the request, because it cannot be validated.
webhook:
secret: "{{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['GITEA_SONARQUBE_BOT_GITEA_WEBHOOK_SECRET'] }}"
# # or path to file containing the plain text secret
# secretFile: /path/to/gitea/webhook/secret
# Pull Request status check settings.
statusCheck:
# Configure the label/name of the PR status check.
name: "gitea-sonarqube-bot"
# SonarQube related configuration. Necessary for requesting data from the API and processing the webhook.
sonarqube:
# Endpoint of your SonarQube instance. Must be expandable by '/api' to form the API base path.
url: https://sqube.trez.wtf
# Created access token for the user that shall be used as bot account.
# User needs "Browse on project" permissions
token:
value: "{{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['GITEA_SONARQUBE_BOT_SQUBE_TOKEN'] }}"
# # or path to file containing the plain text secret
# file: /path/to/sonarqube/token
# If the sent webhook has a signature header, the bot validates the request payload. If the value does not match, the
# request will be ignored.
# The bot looks for `X-Sonar-Webhook-HMAC-SHA256` header containing the sha256 hmac hash of the plain text secret.
# If the header exists and no webhookSecret is defined here, the bot will ignore the request, because it cannot be
# validated.
webhook:
secret: "{{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['GITEA_SONARQUBE_BOT_SQUBE_WEBHOOK_SECRET'] }}"
# # or path to file containing the plain text secret
# secretFile: /path/to/sonarqube/webhook/secret
# Some useful metrics depend on the edition in use. There are various ones like code_smells, vulnerabilities, bugs, etc.
# By default, the bot will extract "bugs,vulnerabilities,code_smells"
# Setting this option you can extend that default list by your own metrics.
# additionalMetrics: []
# - "new_security_hotspots"
# List of project mappings to take care of. Webhooks for other projects will be ignored.
# At least one must be configured. Otherwise, all webhooks (no matter which source) because the bot cannot map on its own.
projects:
- sonarqube:
key: rinoa-docker
# A repository specification contains the owner name and the repository name itself. The owner can be the name of a
# real account or an organization in which the repository is located.
gitea:
owner: Trez.One
name: rinoa-docker
# Define pull request names from SonarScanner analysis. Default pattern matches the Jenkins Gitea plugin schema.
namingPattern:
# Regular expression that MUST HAVE exactly ONE GROUP that matches the integer part of the PR.
# That integer part is identical to the pull request ID in Gitea.
regex: "^.*$"
# Valid Go format string. It MUST have one integer placeholder which will be replaced by the pull request ID.
# See: https://pkg.go.dev/fmt#hdr-Printing
template: "%s"
# Example for integer-only names
# # regex: "^(\\d+)$"
# # template: "%d"
@@ -0,0 +1,404 @@
{% set vault_addr = 'https://vault.trez.wtf' %}
{% set secrets_path = 'rinoa-docker/env' %}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Agent globals
/////////////////////////////////////////////////////////////////////////////////////////////////////////////
local.file "endpoints" {
// The endpoints file is used to define the endpoints, credentials and options
// for the Agent export to.
filename = "/etc/alloy/endpoints.json"
}
discovery.docker "rinoadocker" {
host = env("DOCKER_HOST")
}
tracing {
write_to = [otelcol.exporter.otlp.tempo.input]
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Metrics
/////////////////////////////////////////////////////////////////////////////////////////////////////////////
prometheus.remote_write "mimir" {
endpoint {
url = json_path(local.file.endpoints.content, ".metrics.url")[0]
basic_auth {
username = json_path(local.file.endpoints.content, ".metrics.basicAuth.username")[0]
password = json_path(local.file.endpoints.content, ".metrics.basicAuth.password")[0]
}
}
}
prometheus.scrape "prometheus" {
targets = [{
__address__ = "localhost:12345",
}]
forward_to = [prometheus.remote_write.mimir.receiver]
job_name = "prometheus"
}
prometheus.exporter.unix "rinoa" {
procfs_path = "/host/proc"
sysfs_path = "/host/sys"
rootfs_path = "/rootfs"
}
prometheus.scrape "rinoa" {
targets = prometheus.exporter.unix.rinoa.targets
forward_to = [prometheus.remote_write.mimir.receiver]
job_name = "rinoa_host"
}
prometheus.exporter.cadvisor "docker" {
docker_host = env("DOCKER_HOST")
storage_duration = "5m"
}
prometheus.scrape "docker" {
targets = prometheus.exporter.cadvisor.docker.targets
forward_to = [prometheus.remote_write.mimir.receiver]
job_name = "docker_stats"
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Logging
/////////////////////////////////////////////////////////////////////////////////////////////////////////////
loki.write "loki" {
endpoint {
url = json_path(local.file.endpoints.content, ".logs.url")[0]
basic_auth {
username = json_path(local.file.endpoints.content, ".logs.basicAuth.username")[0]
password = json_path(local.file.endpoints.content, ".logs.basicAuth.password")[0]
}
}
external_labels = {}
}
loki.source.journal "hostjournal" {
forward_to = [loki.write.loki.receiver]
max_age = "24h"
path = "/rootfs/var/log/journal/"
labels = {
job = "host-journal",
}
}
local.file_match "system" {
path_targets = [{
__address__ = "localhost",
__path__ = "/rootfs/var/log/*log",
job = "varlogs",
}]
}
loki.source.file "system" {
targets = local.file_match.system.targets
forward_to = [loki.write.loki.receiver]
}
loki.source.docker "containers" {
host = env("DOCKER_HOST")
targets = discovery.docker.rinoadocker.targets
forward_to = [loki.write.loki.receiver]
labels = {
job = "containerlogs",
}
}
loki.process "containers" {
forward_to = [loki.write.loki.receiver]
// stage.docker {}
stage.json {
expressions = {
attrs = "",
output = "log",
stream = "stream",
}
}
stage.json {
expressions = {
tag = "",
}
source = "attrs"
}
stage.regex {
expression = "(?P<image_name>(?:[^|]*[^|])).(?P<container_name>(?:[^|]*[^|])).(?P<image_id>(?:[^|]*[^|])).(?P<container_id>(?:[^|]*[^|]))"
source = "tag"
}
stage.timestamp {
source = "time"
format = "RFC3339Nano"
}
stage.labels {
values = {
container_id = null,
container_name = null,
image_id = null,
image_name = null,
stream = null,
tag = null,
}
}
stage.output {
source = "output"
}
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Traces
/////////////////////////////////////////////////////////////////////////////////////////////////////////////
beyla.ebpf "rinoadocker" {
open_port = "80-65535"
routes {
unmatched = "heauristic"
}
output {
traces = [
otelcol.connector.servicegraph.tracemetrics.input,
otelcol.connector.spanmetrics.tracemetrics.input,
otelcol.processor.batch.default.input,
otelcol.connector.spanlogs.autologging.input,
]
}
}
prometheus.scrape "beyla" {
targets = beyla.ebpf.rinoadocker.targets
forward_to = [prometheus.remote_write.mimir.receiver]
}
otelcol.auth.headers "tempo" {
header {
key = "Authorization"
value = join(["Basic ", json_path(local.file.endpoints.content, ".traces.basicAuthToken")[0]], "")
}
}
otelcol.processor.batch "default" {
// Wait until we've received 16K of data.
send_batch_size = 16384
send_batch_max_size = 16384
// Or until 2 seconds have elapsed.
timeout = "2s"
// When the Agent has enough batched data, send it to the OpenTelemetry exporter named 'tempo'.
output {
traces = [otelcol.exporter.otlp.tempo.input]
}
}
otelcol.exporter.otlp "tempo" {
// Define the client for exporting.
client {
// Authentication block.
auth = otelcol.auth.headers.tempo.handler
// Send to the locally running Tempo instance, on port 4317 (OTLP gRPC).
endpoint = json_path(local.file.endpoints.content, ".traces.url")[0]
// Configure TLS settings for communicating with the endpoint.
tls {
// The connection is insecure.
insecure = json_path(local.file.endpoints.content, ".traces.tls.insecure")[0]
// Do not verify TLS certificates when connecting.
insecure_skip_verify = json_path(local.file.endpoints.content, ".traces.tls.insecureSkipVerify")[0]
}
}
}
otelcol.connector.spanlogs "autologging" {
// We only want to output a line for each root span (ie. every single trace), and not for every
// process or span (outputting a line for every span would be extremely verbose).
spans = false
roots = true
processes = false
// We want to ensure that the following three span attributes are included in the log line, if
// present.
span_attributes = [ "http.method", "http.target", "http.status_code" ]
// Overrides the default key in the log line to be `traceId`, which is then used by Grafana to
// identify the trace ID for correlation with the Tempo datasource.
overrides {
trace_id_key = "traceId"
}
// Send to the OpenTelemetry Loki exporter.
output {
logs = [otelcol.exporter.loki.autologging.input]
}
}
// Simply forwards the incoming OpenTelemetry log format out as a Loki log.
// We need this stage to ensure we can then process the logline as a Loki object.
otelcol.exporter.loki "autologging" {
forward_to = [loki.process.autologging.receiver]
}
// The Loki processor allows us to accept a correctly formatted Loki log and mutate it into
// a set of fields for output.
loki.process "autologging" {
// The JSON stage simply extracts the `body` (the actual logline) from the Loki log, ignoring
// all other fields.
stage.json {
expressions = { "body" = "" }
}
// The output stage takes the body (the main logline) and uses this as the source for the output
// logline. In this case, it essentially turns it into logfmt.
stage.output {
source = "body"
}
// Finally send the processed logline onto the Loki exporter.
forward_to = [loki.write.autologging.receiver]
}
// The Loki writer receives a processed Loki log and then writes it to a Loki instance.
loki.write "autologging" {
// Add the `agent` value to the `job` label, so we can identify it as having been generated
// by Grafana Agent when querying.
external_labels = {
job = "agent",
}
// Output the Loki log to the local Loki instance.
endpoint {
url = json_path(local.file.endpoints.content, ".logs.url")[0]
// The basic auth credentials for the Loki instance.
basic_auth {
username = json_path(local.file.endpoints.content, ".logs.basicAuth.username")[0]
password = json_path(local.file.endpoints.content, ".logs.basicAuth.password")[0]
}
}
}
// The Tail Sampling processor will use a set of policies to determine which received traces to keep
// and send to Tempo.
otelcol.processor.tail_sampling "errors" {
// Total wait time from the start of a trace before making a sampling decision. Note that smaller time
// periods can potentially cause a decision to be made before the end of a trace has occurred.
decision_wait = "30s"
// The following policies follow a logical OR pattern, meaning that if any of the policies match,
// the trace will be kept. For logical AND, you can use the `and` policy. Every span of a trace is
// examined by each policy in turn. A match will cause a short-circuit.
// This policy defines that traces that contain errors should be kept.
policy {
// The name of the policy can be used for logging purposes.
name = "sample-erroring-traces"
// The type must match the type of policy to be used, in this case examing the status code
// of every span in the trace.
type = "status_code"
// This block determines the error codes that should match in order to keep the trace,
// in this case the OpenTelemetry 'ERROR' code.
status_code {
status_codes = [ "ERROR" ]
}
}
// This policy defines that only traces that are longer than 200ms in total should be kept.
policy {
// The name of the policy can be used for logging purposes.
name = "sample-long-traces"
// The type must match the policy to be used, in this case the total latency of the trace.
type = "latency"
// This block determines the total length of the trace in milliseconds.
latency {
threshold_ms = 200
}
}
// The output block forwards the kept traces onto the batch processor, which will marshall them
// for exporting to Tempo.
output {
traces = [otelcol.processor.batch.default.input]
}
}
// The Spanmetrics Connector will generate RED metrics based on the incoming trace span data.
otelcol.connector.spanmetrics "tracemetrics" {
// The namespace explicit adds a prefix to all the generated span metrics names.
// In this case, we'll ensure they match as closely as possible those generated by Tempo.
namespace = "traces.spanmetrics"
// Each extra dimension (metrics label) to be added to the generated metrics from matching span attributes. These
// need to be defined with a name and optionally a default value (in the following cases, we do not want a default
// value if the span attribute is not present).
dimension {
name = "http.method"
}
dimension {
name = "http.target"
}
dimension {
name = "http.status_code"
}
dimension {
name = "service.version"
}
// A histogram block must be present, either explicitly defining bucket values or via an exponential block.
// We do the latter here.
histogram {
explicit {
}
}
// The exemplar block is added to ensure we generate exemplars for traces on relevant metric values.
exemplars {
enabled = true
}
// Generated metrics data is in OTLP format. We send this data to the OpenTelemetry Prometheus exporter to ensure
// it gets transformed into Prometheus format data.
output {
metrics = [otelcol.exporter.prometheus.tracemetrics.input]
}
}
// The Servicegraph Connector will generate service graph metrics (edges and nodes) based on incoming trace spans.
otelcol.connector.servicegraph "tracemetrics" {
// Extra dimensions (metrics labels) to be added to the generated metrics from matching span attributes.
// For this component, this is defined as an array. There are no default values and the labels will not be generated
// for missing span attributes.
dimensions = [
"http.method",
"http.target",
"http.status_code",
"service.version",
]
// Generated metrics data is in OTLP format. We send this data to the OpenTelemetry Prometheus exporter to ensure
// it gets transformed into Prometheus format data.
output {
metrics = [otelcol.exporter.prometheus.tracemetrics.input]
}
}
otelcol.exporter.prometheus "tracemetrics" {
// Forward to our local Prometheus remote writer which will send the metrics to Mimir.
forward_to = [prometheus.remote_write.mimir.receiver]
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Profiling
/////////////////////////////////////////////////////////////////////////////////////////////////////////////
pyroscope.write "pyroscope" {
endpoint {
url = json_path(local.file.endpoints.content, ".profiles.url")[0]
basic_auth {
username = json_path(local.file.endpoints.content, ".profiles.basicAuth.username")[0]
password = json_path(local.file.endpoints.content, ".profiles.basicAuth.password")[0]
}
}
external_labels = {}
}
pyroscope.ebpf "rinoadocker" {
forward_to = [pyroscope.write.pyroscope.receiver]
targets = discovery.docker.rinoadocker.targets
}
@@ -0,0 +1,34 @@
{% set vault_addr = 'https://vault.trez.wtf' %}
{% set secrets_path = 'rinoa-docker/env' %}
{
"metrics": {
"url": "http://grafana-mimir:9009/api/v1/push",
"basicAuth": {
"username": "",
"password": ""
}
},
"logs": {
"url": "http://grafana-loki:3100/loki/api/v1/push",
"basicAuth": {
"username": "",
"password": ""
}
},
"traces": {
"url": "http://grafana-tempo:4317",
"basicAuthToken": "",
"tls": {
"insecure": true,
"insecureSkipVerify": true
}
},
"profiles": {
"url": "http://grafana-pyroscope:4040",
"basicAuth": {
"username": "",
"password": ""
}
}
}
+7
View File
@@ -0,0 +1,7 @@
{% set vault_addr = 'https://vault.trez.wtf' %}
{% set secrets_path = 'rinoa-docker/env' %}
routes:
patterns:
- /*
unmatched: heuristic
+77
View File
@@ -0,0 +1,77 @@
{% set vault_addr = 'https://vault.trez.wtf' %}
{% set secrets_path = 'rinoa-docker/env' %}
multitenancy_enabled: false
no_auth_tenant: rinoa_mimir
# target: query-frontend
# api:
# prometheus_http_prefix: '/prometheus'
server:
http_listen_port: 9009
# frontend:
# split_queries_by_interval: 24h
# align_queries_with_step: true
# cache_results: true
# results_cache:
# backend: "memcached"
# memcached:
# addresses: "memcached-mimir:11211"
# downstream_url: http://grafana-agent:12345
common:
storage:
backend: s3
s3:
endpoint: minio:9000
access_key_id: "Q8KAihuXtGgmretKNh7C"
secret_access_key: "hOlRODtnvFlNlL26Bj3GizZG6Ys3rlpG8p6Vo3NX"
bucket_name: "mimir"
insecure: true
blocks_storage:
storage_prefix: rinoa
tsdb:
dir: /tmp/mimir/tsdb
memberlist:
tls_enabled: false
compactor:
# Directory to temporarily store blocks underdoing compaction.
data_dir: /tmp/mimir/compactor
# The sharding ring type used to share the hashed ring for the compactor.
sharding_ring:
# Use memberlist backend store (the default).
kvstore:
store: memberlist
# The distributor receives incoming metrics data for the system.
distributor:
# The ring to share hash ring data across instances.
ring:
# The address advertised in the ring. Localhost.
instance_addr: 127.0.0.1
# Use memberlist backend store (the default).
kvstore:
store: memberlist
# The ingester receives data from the distributor and processes it into indices and blocks.
ingester:
# The ring to share hash ring data across instances.
ring:
# The address advertised in the ring. Localhost.
instance_addr: 127.0.0.1
# Use memberlist backend store (the default).
kvstore:
store: memberlist
# Only run one instance of the ingesters.
# Note: It is highly recommended to run more than one ingester in production, the default is an RF of 3.
replication_factor: 1
# The store gateway block configures gateway storage.
store_gateway:
# Configuration for the hash ring.
sharding_ring:
# Only run a single instance. In production setups, the replication factor must
# be set on the querier and ruler as well.
replication_factor: 1
@@ -0,0 +1,12 @@
storage:
backend: s3
s3:
bucket_name: pyroscope
endpoint: minio:9000
region: us-east-fh-pln
access_key_id: {{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['MINIO_PYROSCOPE_STORAGE_ACCESS_KEY'] }}
secret_access_key: {{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['MINIO_PYROSCOPE_STORAGE_SECRET_KEY'] }}
insecure: true
analytics:
reporting_enabled: false
@@ -0,0 +1,787 @@
{% set vault_addr = 'https://vault.trez.wtf' %}
{% set secrets_path = 'rinoa-docker/env' %}
target: all
http_api_prefix: ""
autocomplete_filtering_enabled: true
server:
http_listen_network: tcp
http_listen_address: ""
http_listen_port: 80
http_listen_conn_limit: 0
grpc_listen_network: tcp
grpc_listen_address: ""
grpc_listen_port: 9095
grpc_listen_conn_limit: 0
tls_cipher_suites: ""
tls_min_version: ""
http_tls_config:
cert: ""
key: null
client_ca: ""
cert_file: ""
key_file: ""
client_auth_type: ""
client_ca_file: ""
grpc_tls_config:
cert: ""
key: null
client_ca: ""
cert_file: ""
key_file: ""
client_auth_type: ""
client_ca_file: ""
register_instrumentation: true
report_grpc_codes_in_instrumentation_label_enabled: false
graceful_shutdown_timeout: 30s
http_server_read_timeout: 30s
http_server_read_header_timeout: 0s
http_server_write_timeout: 30s
http_server_idle_timeout: 2m0s
http_log_closed_connections_without_response_enabled: false
grpc_server_max_recv_msg_size: 16777216
grpc_server_max_send_msg_size: 16777216
grpc_server_max_concurrent_streams: 100
grpc_server_max_connection_idle: 2562047h47m16.854775807s
grpc_server_max_connection_age: 2562047h47m16.854775807s
grpc_server_max_connection_age_grace: 2562047h47m16.854775807s
grpc_server_keepalive_time: 2h0m0s
grpc_server_keepalive_timeout: 20s
grpc_server_min_time_between_pings: 10s
grpc_server_ping_without_stream_allowed: true
grpc_server_num_workers: 0
log_format: logfmt
log_level: info
log_source_ips_enabled: false
log_source_ips_header: ""
log_source_ips_regex: ""
log_request_headers: false
log_request_at_info_level_enabled: false
log_request_exclude_headers_list: ""
http_path_prefix: ""
internal_server:
http_listen_network: tcp
http_listen_address: ""
http_listen_port: 3101
http_listen_conn_limit: 0
grpc_listen_network: ""
grpc_listen_address: ""
grpc_listen_port: 0
grpc_listen_conn_limit: 0
tls_cipher_suites: ""
tls_min_version: ""
http_tls_config:
cert: ""
key: null
client_ca: ""
cert_file: ""
key_file: ""
client_auth_type: ""
client_ca_file: ""
grpc_tls_config:
cert: ""
key: null
client_ca: ""
cert_file: ""
key_file: ""
client_auth_type: ""
client_ca_file: ""
register_instrumentation: false
report_grpc_codes_in_instrumentation_label_enabled: false
graceful_shutdown_timeout: 30s
http_server_read_timeout: 30s
http_server_read_header_timeout: 0s
http_server_write_timeout: 30s
http_server_idle_timeout: 2m0s
http_log_closed_connections_without_response_enabled: false
grpc_server_max_recv_msg_size: 0
grpc_server_max_send_msg_size: 0
grpc_server_max_concurrent_streams: 0
grpc_server_max_connection_idle: 0s
grpc_server_max_connection_age: 0s
grpc_server_max_connection_age_grace: 0s
grpc_server_keepalive_time: 0s
grpc_server_keepalive_timeout: 0s
grpc_server_min_time_between_pings: 0s
grpc_server_ping_without_stream_allowed: false
grpc_server_num_workers: 0
log_format: logfmt
log_level: info
log_source_ips_enabled: false
log_source_ips_header: ""
log_source_ips_regex: ""
log_request_headers: false
log_request_at_info_level_enabled: false
log_request_exclude_headers_list: ""
http_path_prefix: ""
enable: false
distributor:
ring:
kvstore:
store: memberlist
prefix: collectors/
consul:
host: localhost:8500
acl_token: ""
http_client_timeout: 20s
consistent_reads: false
watch_rate_limit: 1
watch_burst_size: 1
cas_retry_delay: 1s
etcd:
endpoints: []
dial_timeout: 10s
max_retries: 10
tls_enabled: false
tls_cert_path: ""
tls_key_path: ""
tls_ca_path: ""
tls_server_name: ""
tls_insecure_skip_verify: false
tls_cipher_suites: ""
tls_min_version: ""
username: ""
password: ""
multi:
primary: ""
secondary: ""
mirror_enabled: false
mirror_timeout: 2s
heartbeat_period: 5s
heartbeat_timeout: 5m0s
instance_id: local-instance
instance_interface_names:
- eth0
- en0
instance_port: 0
instance_addr: ""
receivers: {}
override_ring_key: distributor
forwarders: []
extend_writes: true
retry_after_on_resource_exhausted: 0s
ingester_client:
pool_config:
checkinterval: 15s
healthcheckenabled: true
healthchecktimeout: 1s
maxconcurrenthealthchecks: 0
remote_timeout: 5s
grpc_client_config:
max_recv_msg_size: 104857600
max_send_msg_size: 104857600
grpc_compression: snappy
rate_limit: 0
rate_limit_burst: 0
backoff_on_ratelimits: false
backoff_config:
min_period: 100ms
max_period: 10s
max_retries: 10
initial_stream_window_size: 63KiB1023B
initial_connection_window_size: 63KiB1023B
tls_enabled: false
tls_cert_path: ""
tls_key_path: ""
tls_ca_path: ""
tls_server_name: ""
tls_insecure_skip_verify: false
tls_cipher_suites: ""
tls_min_version: ""
connect_timeout: 5s
connect_backoff_base_delay: 1s
connect_backoff_max_delay: 5s
metrics_generator_client:
pool_config:
checkinterval: 15s
healthcheckenabled: true
healthchecktimeout: 1s
maxconcurrenthealthchecks: 0
remote_timeout: 5s
grpc_client_config:
max_recv_msg_size: 104857600
max_send_msg_size: 104857600
grpc_compression: snappy
rate_limit: 0
rate_limit_burst: 0
backoff_on_ratelimits: false
backoff_config:
min_period: 100ms
max_period: 10s
max_retries: 10
initial_stream_window_size: 63KiB1023B
initial_connection_window_size: 63KiB1023B
tls_enabled: false
tls_cert_path: ""
tls_key_path: ""
tls_ca_path: ""
tls_server_name: ""
tls_insecure_skip_verify: false
tls_cipher_suites: ""
tls_min_version: ""
connect_timeout: 5s
connect_backoff_base_delay: 1s
connect_backoff_max_delay: 5s
querier:
search:
query_timeout: 30s
prefer_self: 10
external_hedge_requests_at: 8s
external_hedge_requests_up_to: 2
external_backend: ""
google_cloud_run: null
external_endpoints: []
trace_by_id:
query_timeout: 10s
max_concurrent_queries: 20
frontend_worker:
frontend_address: 127.0.0.1:9095
dns_lookup_duration: 10s
parallelism: 2
match_max_concurrent: true
id: ""
grpc_client_config:
max_recv_msg_size: 104857600
max_send_msg_size: 16777216
grpc_compression: gzip
rate_limit: 0
rate_limit_burst: 0
backoff_on_ratelimits: false
backoff_config:
min_period: 100ms
max_period: 1s
max_retries: 5
initial_stream_window_size: 0B
initial_connection_window_size: 0B
tls_enabled: false
tls_cert_path: ""
tls_key_path: ""
tls_ca_path: ""
tls_server_name: ""
tls_insecure_skip_verify: false
tls_cipher_suites: ""
tls_min_version: ""
connect_timeout: 0s
connect_backoff_base_delay: 0s
connect_backoff_max_delay: 0s
query_relevant_ingesters: false
query_frontend:
max_outstanding_per_tenant: 2000
querier_forget_delay: 0s
max_batch_size: 5
max_retries: 2
search:
concurrent_jobs: 1000
target_bytes_per_job: 104857600
default_result_limit: 20
max_result_limit: 0
max_duration: 168h0m0s
query_backend_after: 15m0s
query_ingesters_until: 30m0s
trace_by_id:
query_shards: 50
hedge_requests_at: 2s
hedge_requests_up_to: 2
metrics:
concurrent_jobs: 1000
target_bytes_per_job: 104857600
max_duration: 0s
query_backend_after: 1h0m0s
interval: 5m0s
multi_tenant_queries_enabled: true
compactor:
ring:
kvstore:
store: ""
prefix: collectors/
consul:
host: localhost:8500
acl_token: ""
http_client_timeout: 20s
consistent_reads: false
watch_rate_limit: 1
watch_burst_size: 1
cas_retry_delay: 1s
etcd:
endpoints: []
dial_timeout: 10s
max_retries: 10
tls_enabled: false
tls_cert_path: ""
tls_key_path: ""
tls_ca_path: ""
tls_server_name: ""
tls_insecure_skip_verify: false
tls_cipher_suites: ""
tls_min_version: ""
username: ""
password: ""
multi:
primary: ""
secondary: ""
mirror_enabled: false
mirror_timeout: 2s
heartbeat_period: 5s
heartbeat_timeout: 1m0s
wait_stability_min_duration: 1m0s
wait_stability_max_duration: 5m0s
instance_id: local-instance
instance_interface_names:
- eth0
- en0
instance_port: 0
instance_addr: ""
enable_inet6: false
wait_active_instance_timeout: 10m0s
compaction:
v2_in_buffer_bytes: 5242880
v2_out_buffer_bytes: 20971520
v2_prefetch_traces_count: 1000
compaction_window: 1h0m0s
max_compaction_objects: 6000000
max_block_bytes: 107374182400
block_retention: 336h0m0s
compacted_block_retention: 1h0m0s
retention_concurrency: 10
max_time_per_tenant: 5m0s
compaction_cycle: 30s
override_ring_key: compactor
ingester:
lifecycler:
ring:
kvstore:
store: inmemory
prefix: collectors/
consul:
host: localhost:8500
acl_token: ""
http_client_timeout: 20s
consistent_reads: false
watch_rate_limit: 1
watch_burst_size: 1
cas_retry_delay: 1s
etcd:
endpoints: []
dial_timeout: 10s
max_retries: 10
tls_enabled: false
tls_cert_path: ""
tls_key_path: ""
tls_ca_path: ""
tls_server_name: ""
tls_insecure_skip_verify: false
tls_cipher_suites: ""
tls_min_version: ""
username: ""
password: ""
multi:
primary: ""
secondary: ""
mirror_enabled: false
mirror_timeout: 2s
heartbeat_timeout: 5m0s
replication_factor: 1
zone_awareness_enabled: false
excluded_zones: ""
num_tokens: 128
heartbeat_period: 5s
heartbeat_timeout: 1m0s
observe_period: 0s
join_after: 0s
min_ready_duration: 15s
interface_names:
- en0
- bridge100
enable_inet6: false
final_sleep: 0s
tokens_file_path: ""
availability_zone: ""
unregister_on_shutdown: true
readiness_check_ring_health: true
address: 127.0.0.1
port: 0
id: local-instance
concurrent_flushes: 4
flush_check_period: 10s
flush_op_timeout: 5m0s
trace_idle_period: 10s
max_block_duration: 30m0s
max_block_bytes: 524288000
complete_block_timeout: 15m0s
override_ring_key: ring
flush_all_on_shutdown: false
metrics_generator:
ring:
kvstore:
store: inmemory
prefix: collectors/
consul:
host: localhost:8500
acl_token: ""
http_client_timeout: 20s
consistent_reads: false
watch_rate_limit: 1
watch_burst_size: 1
cas_retry_delay: 1s
etcd:
endpoints: []
dial_timeout: 10s
max_retries: 10
tls_enabled: false
tls_cert_path: ""
tls_key_path: ""
tls_ca_path: ""
tls_server_name: ""
tls_insecure_skip_verify: false
tls_cipher_suites: ""
tls_min_version: ""
username: ""
password: ""
multi:
primary: ""
secondary: ""
mirror_enabled: false
mirror_timeout: 2s
heartbeat_period: 5s
heartbeat_timeout: 1m0s
instance_id: local-instance
instance_interface_names:
- eth0
- en0
instance_addr: 127.0.0.1
instance_port: 0
enable_inet6: false
processor:
service_graphs:
wait: 10s
max_items: 10000
workers: 10
histogram_buckets:
- 0.1
- 0.2
- 0.4
- 0.8
- 1.6
- 3.2
- 6.4
- 12.8
dimensions: []
enable_client_server_prefix: false
peer_attributes:
- peer.service
- db.name
- db.system
span_multiplier_key: ""
span_metrics:
histogram_buckets:
- 0.002
- 0.004
- 0.008
- 0.016
- 0.032
- 0.064
- 0.128
- 0.256
- 0.512
- 1.024
- 2.048
- 4.096
- 8.192
- 16.384
intrinsic_dimensions:
service: true
span_name: true
span_kind: true
status_code: true
dimensions: []
dimension_mappings: []
enable_target_info: false
span_multiplier_key: ""
subprocessors:
0: true
1: true
2: true
filter_policies: []
target_info_excluded_dimensions: []
local_blocks:
block:
bloom_filter_false_positive: 0.01
bloom_filter_shard_size_bytes: 102400
version: vParquet3
search_encoding: snappy
search_page_size_bytes: 1048576
v2_index_downsample_bytes: 1048576
v2_index_page_size_bytes: 256000
v2_encoding: zstd
parquet_row_group_size_bytes: 100000000
parquet_dedicated_columns: []
search:
chunk_size_bytes: 1000000
prefetch_trace_count: 1000
read_buffer_count: 32
read_buffer_size_bytes: 1048576
cache_control:
footer: false
column_index: false
offset_index: false
flush_check_period: 10s
trace_idle_period: 10s
max_block_duration: 1m0s
max_block_bytes: 500000000
complete_block_timeout: 1h0m0s
max_live_traces: 0
concurrent_blocks: 10
filter_server_spans: true
registry:
collection_interval: 15s
stale_duration: 15m0s
max_label_name_length: 1024
max_label_value_length: 2048
storage:
path: ""
wal:
wal_segment_size: 134217728
wal_compression: none
stripe_size: 16384
truncate_frequency: 2h0m0s
min_wal_time: 300000
max_wal_time: 14400000
no_lockfile: false
remote_write_flush_deadline: 1m0s
remote_write_add_org_id_header: true
traces_storage:
path: ""
completedfilepath: ""
blocksfilepath: ""
v2_encoding: none
search_encoding: none
ingestion_time_range_slack: 0s
version: vParquet3
metrics_ingestion_time_range_slack: 30s
query_timeout: 30s
override_ring_key: metrics-generator
storage:
trace:
pool:
max_workers: 400
queue_depth: 20000
wal:
path: /tmp/tempo/wal
completedfilepath: /tmp/tempo/wal/completed
blocksfilepath: /tmp/tempo/wal/blocks
v2_encoding: snappy
search_encoding: none
ingestion_time_range_slack: 2m0s
version: vParquet3
block:
bloom_filter_false_positive: 0.01
bloom_filter_shard_size_bytes: 102400
version: vParquet3
search_encoding: snappy
search_page_size_bytes: 1048576
v2_index_downsample_bytes: 1048576
v2_index_page_size_bytes: 256000
v2_encoding: zstd
parquet_row_group_size_bytes: 100000000
parquet_dedicated_columns: []
search:
chunk_size_bytes: 1000000
prefetch_trace_count: 1000
read_buffer_count: 32
read_buffer_size_bytes: 1048576
cache_control:
footer: false
column_index: false
offset_index: false
blocklist_poll: 5m0s
blocklist_poll_concurrency: 50
blocklist_poll_fallback: true
blocklist_poll_tenant_index_builders: 2
blocklist_poll_stale_tenant_index: 0s
blocklist_poll_jitter_ms: 0
blocklist_poll_tolerate_consecutive_errors: 1
backend: local
local:
path: /tmp/tempo/traces
gcs:
bucket_name: ""
prefix: ""
chunk_buffer_size: 10485760
endpoint: ""
hedge_requests_at: 0s
hedge_requests_up_to: 2
insecure: false
object_cache_control: ""
object_metadata: {}
list_blocks_concurrency: 3
s3:
tls_cert_path: ""
tls_key_path: ""
tls_ca_path: ""
tls_server_name: ""
tls_insecure_skip_verify: false
tls_cipher_suites: ""
tls_min_version: VersionTLS12
bucket: ""
prefix: ""
endpoint: ""
region: ""
access_key: ""
secret_key: ""
session_token: ""
insecure: false
part_size: 0
hedge_requests_at: 0s
hedge_requests_up_to: 2
signature_v2: false
forcepathstyle: false
bucket_lookup_type: 0
tags: {}
storage_class: ""
metadata: {}
native_aws_auth_enabled: false
list_blocks_concurrency: 3
azure:
storage_account_name: ""
storage_account_key: ""
use_managed_identity: false
use_federated_token: false
user_assigned_id: ""
container_name: ""
prefix: ""
endpoint_suffix: blob.core.windows.net
max_buffers: 4
buffer_size: 3145728
hedge_requests_at: 0s
hedge_requests_up_to: 2
use_v2_sdk: false
cache: ""
background_cache:
writeback_goroutines: 10
writeback_buffer: 10000
memcached: null
redis: null
cache_min_compaction_level: 0
cache_max_block_age: 0s
overrides:
defaults:
ingestion:
rate_strategy: local
rate_limit_bytes: 15000000
burst_size_bytes: 20000000
max_traces_per_user: 10000
read:
max_bytes_per_tag_values_query: 5000000
global:
max_bytes_per_trace: 5000000
per_tenant_override_config: ""
per_tenant_override_period: 10s
user_configurable_overrides:
enabled: false
poll_interval: 1m0s
client:
backend: ""
confirm_versioning: true
local:
path: ""
gcs:
bucket_name: ""
prefix: ""
chunk_buffer_size: 10485760
endpoint: ""
hedge_requests_at: 0s
hedge_requests_up_to: 2
insecure: false
object_cache_control: ""
object_metadata: {}
list_blocks_concurrency: 3
s3:
tls_cert_path: ""
tls_key_path: ""
tls_ca_path: ""
tls_server_name: ""
tls_insecure_skip_verify: false
tls_cipher_suites: ""
tls_min_version: VersionTLS12
bucket: ""
prefix: ""
endpoint: ""
region: ""
access_key: ""
secret_key: ""
session_token: ""
insecure: false
part_size: 0
hedge_requests_at: 0s
hedge_requests_up_to: 2
signature_v2: false
forcepathstyle: false
bucket_lookup_type: 0
tags: {}
storage_class: ""
metadata: {}
native_aws_auth_enabled: false
list_blocks_concurrency: 3
azure:
storage_account_name: ""
storage_account_key: ""
use_managed_identity: false
use_federated_token: false
user_assigned_id: ""
container_name: ""
prefix: ""
endpoint_suffix: blob.core.windows.net
max_buffers: 4
buffer_size: 3145728
hedge_requests_at: 0s
hedge_requests_up_to: 2
use_v2_sdk: false
api:
check_for_conflicting_runtime_overrides: false
memberlist:
node_name: ""
randomize_node_name: true
stream_timeout: 2s
retransmit_factor: 2
pull_push_interval: 30s
gossip_interval: 1s
gossip_nodes: 2
gossip_to_dead_nodes_time: 30s
dead_node_reclaim_time: 0s
compression_enabled: false
advertise_addr: ""
advertise_port: 7946
cluster_label: ""
cluster_label_verification_disabled: false
join_members: []
min_join_backoff: 1s
max_join_backoff: 1m0s
max_join_retries: 10
abort_if_cluster_join_fails: false
rejoin_interval: 0s
left_ingesters_timeout: 5m0s
leave_timeout: 20s
message_history_buffer_bytes: 0
bind_addr: []
bind_port: 7946
packet_dial_timeout: 2s
packet_write_timeout: 5s
tls_enabled: false
tls_cert_path: ""
tls_key_path: ""
tls_ca_path: ""
tls_server_name: ""
tls_insecure_skip_verify: false
tls_cipher_suites: ""
tls_min_version: ""
usage_report:
reporting_enabled: true
backoff:
min_period: 100ms
max_period: 10s
max_retries: 0
cache:
background:
writeback_goroutines: 10
writeback_buffer: 10000
caches: []
@@ -0,0 +1,54 @@
{% set vault_addr = 'https://vault.trez.wtf' %}
{% set secrets_path = 'rinoa-docker/env' %}
server:
http_listen_port: 3200
distributor:
receivers: # this configuration will listen on all ports and protocols that tempo is capable of.
jaeger: # the receives all come from the OpenTelemetry collector. more configuration information can
protocols: # be found there: https://github.com/open-telemetry/opentelemetry-collector/tree/main/receiver
thrift_http: #
grpc: # for a production deployment you should only enable the receivers you need!
thrift_binary:
thrift_compact:
zipkin:
otlp:
protocols:
http:
grpc:
opencensus:
ingester:
max_block_duration: 5m # cut the headblock when this much time passes. this is being set for demo purposes and should probably be left alone normally
compactor:
compaction:
block_retention: 1h # overall Tempo trace retention. set for demo purposes
# metrics_generator:
# registry:
# external_labels:
# source: tempo
# cluster: docker-compose
# storage:
# path: /tmp/tempo/generator/wal
# remote_write:
# - url: http://grafana-alloy:12345/api/v1/write
# send_exemplars: true
storage:
trace:
backend: s3 # backend configuration to use
wal:
path: /tmp/tempo/wal # where to store the the wal locally
s3:
bucket: tempo # how to store data in s3
endpoint: minio:9000
access_key: {{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['MINIO_TEMPO_STORAGE_ACCESS_KEY'] }}
secret_key: {{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['MINIO_TEMPO_STORAGE_SECRET_KEY'] }}
insecure: true
usage_report:
reporting_enabled: false
@@ -0,0 +1,22 @@
{% set vault_addr = 'https://vault.trez.wtf' %}
{% set secrets_path = 'rinoa-docker/env' %}
---
# For configuration options and examples, please see:
# https://gethomepage.dev/en/configs/bookmarks
#- Developer:
# - Github:
# - abbr: GH
# href: https://github.com/
#
#- Social:
# - Reddit:
# - abbr: RE
# href: https://reddit.com/
#
#- Entertainment:
# - YouTube:
# - abbr: YT
# href: https://youtube.com/
@@ -0,0 +1,15 @@
{% set vault_addr = 'https://vault.trez.wtf' %}
{% set secrets_path = 'rinoa-docker/env' %}
---
# For configuration options and examples, please see:
# https://gethomepage.dev/en/configs/docker/
# my-docker:
# host: 127.0.0.1
# port: 2375
my-docker:
host: dockerproxy
port: 2375
@@ -0,0 +1,6 @@
{% set vault_addr = 'https://vault.trez.wtf' %}
{% set secrets_path = 'rinoa-docker/env' %}
---
# sample kubernetes config
@@ -0,0 +1,33 @@
{% set vault_addr = 'https://vault.trez.wtf' %}
{% set secrets_path = 'rinoa-docker/env' %}
---
# For configuration options and examples, please see:
# https://gethomepage.dev/en/configs/services
#- My First Group:
# - My First Service:
# href: http://localhost/
# description: Homepage is awesome
#
#- My Second Group:
# - My Second Service:
# href: http://localhost/
# description: Homepage is the best
#
#- My Third Group:
# - My Third Service:
# href: http://localhost/
# description: Homepage is 😎
- Automation:
- Home Assistant (Rikku):
href: https://ha.trez.wtf
description: Smart Home
icon: home-assistant.png
weight: 0
widget:
type: homeassistant
url: http://192.168.1.252:8123
key: {{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['HOMEPAGE_HOME_ASSISTANT_API_KEY'] }}
@@ -0,0 +1,60 @@
{% set vault_addr = 'https://vault.trez.wtf' %}
{% set secrets_path = 'rinoa-docker/env' %}
---
# For configuration options and examples, please see:
# https://gethomepage.dev/en/configs/settings
providers:
openweathermap: {{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['HOMEPAGE_OPENWEATHERMAP_API_KEY'] }}
# weatherapi: weatherapiapikey
title: Rinoa Dashboard (trez.WTF)
headerStyle: underlined
color: slate
showStats: true
statusStyle: "dot"
favicon: /icons/favicon.ico
useEqualHeights: false
hideErrors: false
searchDescriptions: true
showSearchSuggestions: true
provider: duckduckgo
layout:
System Administration:
style: row
columns: 4
# fiveColumns: true
Infrastructure/App Performance Monitoring:
style: row
columns: 3
Code/DevOps:
style: row
columns: 3
Social:
style: row
columns: 3
Lifestyle:
style: row
columns: 3
Automation:
style: columns
row: 2
Privacy/Security:
style: columns
row: 5
Personal Services:
style: row
columns: 4
Professional Services:
style: row
columns: 3
Servarr Stack:
style: row
columns: 3
Downloaders:
style: row
columns: 3
Media Library:
style: row
columns: 3
@@ -0,0 +1,33 @@
{% set vault_addr = 'https://vault.trez.wtf' %}
{% set secrets_path = 'rinoa-docker/env' %}
---
# For configuration options and examples, please see:
# https://gethomepage.dev/en/configs/widgets
- resources:
label: System
cpu: true
memory: true
cputemp: true
uptime: true
- resources:
label: Storage
expanded: true
disk:
- /
- /rinoa-storage
- search:
provider: custom
url: https://search.trez.wtf/search?q=
target: _blank
- openweathermap:
label: New York
latitude: 40.72
longitude: -73.85
units: imperial
provider: openweathermap
cache: 10
@@ -0,0 +1,52 @@
{% set vault_addr = 'https://vault.trez.wtf' %}
{% set secrets_path = 'rinoa-docker/env' %}
# IN application vars
IN_APP_URL=http://in.localhost:8003
IN_APP_KEY=<insert your generated key in here>
IN_APP_DEBUG=true
IN_REQUIRE_HTTPS=false
IN_PHANTOMJS_PDF_GENERATION=false
IN_PDF_GENERATOR=snappdf
IN_TRUSTED_PROXIES='*'
IN_QUEUE_CONNECTION=database
# DB connection
IN_DB_HOST=db
IN_DB_PORT=3306
IN_DB_DATABASE=ninja
IN_DB_USERNAME=ninja
IN_DB_PASSWORD=ninja
# Create initial user
# Default to these values if empty
# IN_USER_EMAIL=admin@example.com
# IN_PASSWORD=changeme!
IN_USER_EMAIL=
IN_PASSWORD=
# Mail options
IN_MAIL_MAILER=log
IN_MAIL_HOST=smtp.mailtrap.io
IN_MAIL_PORT=2525
IN_MAIL_USERNAME=null
IN_MAIL_PASSWORD=null
IN_MAIL_ENCRYPTION=null
IN_MAIL_FROM_ADDRESS='user@example.com'
IN_MAIL_FROM_NAME='Self Hosted User'
# MySQL
IN_MYSQL_ROOT_PASSWORD=ninjaAdm1nPassword
IN_MYSQL_USER=ninja
IN_MYSQL_PASSWORD=ninja
IN_MYSQL_DATABASE=ninja
# GoCardless/Nordigen API key for banking integration
NORDIGEN_SECRET_ID=
NORDIGEN_SECRET_KEY=
# V4 env vars
# DB_STRICT=false
# APP_CIPHER=AES-256-CBC
+21
View File
@@ -0,0 +1,21 @@
{% set vault_addr = 'https://vault.trez.wtf' %}
{% set secrets_path = 'rinoa-docker/env' %}
<Config>
<BindAddress>*</BindAddress>
<Port>8686</Port>
<SslPort>6868</SslPort>
<EnableSsl>False</EnableSsl>
<LaunchBrowser>True</LaunchBrowser>
<ApiKey>{{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['LIDARR_API_KEY'] }}</ApiKey>
<AuthenticationMethod>Forms</AuthenticationMethod>
<Branch>master</Branch>
<LogLevel>trace</LogLevel>
<SslCertPath></SslCertPath>
<SslCertPassword></SslCertPassword>
<UrlBase></UrlBase>
<InstanceName>Lidarr</InstanceName>
<UpdateMechanism>Docker</UpdateMechanism>
<Theme>auto</Theme>
<AuthenticationRequired>Enabled</AuthenticationRequired>
</Config>
@@ -0,0 +1,25 @@
{% set vault_addr = 'https://vault.trez.wtf' %}
{% set secrets_path = 'rinoa-docker/env' %}
{
"lidarr_address": "http://lidarr:8686",
"lidarr_api_key": "{{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['LIDARR_API_KEY'] }}",
"spotify_client_secret": "{{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['YOUR_SPOTIFY_SECRET'] }}",
"root_folder_path": "/data/media/music",
"spotify_client_id": "{{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['YOUR_SPOTIFY_ID'] }}",
"spotify_client_secret": "{{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['YOUR_SPOTIFY_SECRET'] }}",
"fallback_to_top_result": false,
"lidarr_api_timeout": 120.0,
"quality_profile_id": 1,
"metadata_profile_id": 1,
"search_for_missing_albums": false,
"dry_run_adding_to_lidarr": true,
"app_name": "lidify",
"app_rev": "0.09",
"app_url": "lidify.trez.wtf",
"last_fm_api_key": "{{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['LASTFM_API_KEY'] }}",
"last_fm_api_secret": "{{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['LASTFM_API_SECRET'] }}",
"mode": "LastFM",
"auto_start": false,
"auto_start_delay": 60
}
@@ -0,0 +1,63 @@
{% set vault_addr = 'https://vault.trez.wtf' %}
{% set secrets_path = 'rinoa-docker/env' %}
{
"sourceDefaults": {
"maxPollRetries": 0, // optional, default # of automatic polling restarts on error. can be overridden by property in individual config
"maxRequestRetries": 1, // optional, default # of http request retries a source can make before error is thrown. can be overridden by property in individual config
"retryMultiplier": 1.5 // optional, default retry delay multiplier (retry attempt * multiplier = # of seconds to wait before retrying). can be overridden by property in individual config
},
"clientDefaults": {
"maxRequestRetries": 1, // optional, default # of http request retries a client can make before error is thrown. can be overridden by property in individual config
"retryMultiplier": 1.5 // optional, default retry delay multiplier (retry attempt * multiplier = # of seconds to wait before retrying). can be overridden by property in individual config
},
"clients": [
{
"name": "Last.fm Client",
"enable": true,
"configureAs": "client",
"data": {
"apiKey": "{{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['LASTFM_API_KEY'] }}",
"secret": "{{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['LASTFM_API_SECRET'] }}",
"redirectUri": "http://localhost:9078/lastfm/callback"
}
},
{
"name": "Last.fm Source",
"enable": true,
"configureAs": "source",
"data": {
"apiKey": "{{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['LASTFM_API_KEY'] }}",
"secret": "{{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['LASTFM_API_SECRET'] }}",
"redirectUri": "http://localhost:9078/lastfm/callback"
}
},
{
"name": "Maloja",
"enable": true,
"data": {
"url": "http://maloja:42010",
"apiKey": "myMalojaKey"
}
},
{
"name": "ListenBrainz Client",
"enable": true,
"configureAs": "client",
"data": {
"token": "{{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['MALOJA_LISTENBRAINZ_TOKEN'] }}",
"username": "Trez.One"
}
},
{
"name": "ListenBrainz Source",
"enable": true,
"configureAs": "source",
"data": {
"token": "{{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['MALOJA_LISTENBRAINZ_TOKEN'] }}",
"username": "Trez.One"
}
}
]
}
}
@@ -0,0 +1,106 @@
{
"Stuns": [
{
"Proto": "udp",
"URI": "stun:netbird.{{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['MY_TLD'] }}:3478",
"Username": "",
"Password": null
}
],
"TURNConfig": {
"Turns": [
{
"Proto": "udp",
"URI": "turn:netbird.{{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['MY_TLD'] }}:3478",
"Username": "self",
"Password": "{{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['NETBIRD_TURN_PASSWORD'] }}"
}
],
"CredentialsTTL": "12h",
"Secret": "secret",
"TimeBasedCredentials": false
},
"Relay": {
"Addresses": [
"rel://netbird.{{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['MY_TLD'] }}:33080"
],
"CredentialsTTL": "24h",
"Secret": "{{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['NETBIRD_RELAY_AUTH_SECRET'] }}"
},
"Signal": {
"Proto": "https",
"URI": "netbird.{{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['MY_TLD'] }}:10001",
"Username": "",
"Password": null
},
"ReverseProxy": {
"TrustedHTTPProxies": [],
"TrustedHTTPProxiesCount": 0,
"TrustedPeers": [
"0.0.0.0/0"
]
},
"Datadir": "",
"DataStoreEncryptionKey": "",
"StoreConfig": {
"Engine": "sqlite"
},
"HttpConfig": {
"Address": "0.0.0.0:33073",
"AuthIssuer": "https://id.{{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['MY_TLD'] }}",
"AuthAudience": "{{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['NETBIRD_ZITADEL_CLIENT_ID'] }}",
"AuthKeysLocation": "https://id.{{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['MY_TLD'] }}/oauth/v2/keys",
"AuthUserIDClaim": "",
"CertFile": "",
"CertKey": "",
"IdpSignKeyRefreshEnabled": true,
"OIDCConfigEndpoint": "https://id.{{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['MY_TLD'] }}/.well-known/openid-configuration"
},
"IdpManagerConfig": {
"ManagerType": "zitadel",
"ClientConfig": {
"Issuer": "https://id.{{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['MY_TLD'] }}",
"TokenEndpoint": "https://id.{{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['MY_TLD'] }}/oauth/v2/token",
"ClientID": "netbird",
"ClientSecret": "{{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['NETBIRD_ZITADEL_CLIENT_SECRET'] }}",
"GrantType": "client_credentials"
},
"ExtraConfig": {
"ManagementEndpoint": "https://id.{{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['MY_TLD'] }}/management/v1"
},
"Auth0ClientCredentials": null,
"AzureClientCredentials": null,
"KeycloakClientCredentials": null,
"ZitadelClientCredentials": null
},
"DeviceAuthorizationFlow": {
"Provider": "hosted",
"ProviderConfig": {
"Audience": "{{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['NETBIRD_ZITADEL_CLIENT_ID'] }}",
"AuthorizationEndpoint": "",
"Domain": "",
"ClientID": "{{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['NETBIRD_ZITADEL_CLIENT_ID'] }}",
"ClientSecret": "",
"TokenEndpoint": "https://id.{{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['MY_TLD'] }}/oauth/v2/token",
"DeviceAuthEndpoint": "https://id.{{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['MY_TLD'] }}/oauth/v2/device_authorization",
"Scope": "openid",
"UseIDToken": false,
"RedirectURLs": null
}
},
"PKCEAuthorizationFlow": {
"ProviderConfig": {
"Audience": "{{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['NETBIRD_ZITADEL_CLIENT_ID'] }}",
"ClientID": "{{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['NETBIRD_ZITADEL_CLIENT_ID'] }}",
"ClientSecret": "",
"Domain": "",
"AuthorizationEndpoint": "https://id.{{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['MY_TLD'] }}/oauth/v2/authorize",
"TokenEndpoint": "https://id.{{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['MY_TLD'] }}/oauth/v2/token",
"Scope": "openid profile email offline_access api",
"RedirectURLs": [
"http://localhost:53000"
],
"UseIDToken": false
}
}
}
@@ -0,0 +1,122 @@
{
"issuer": "https://id.trez.wtf",
"authorization_endpoint": "https://id.trez.wtf/oauth/v2/authorize",
"token_endpoint": "https://id.trez.wtf/oauth/v2/token",
"introspection_endpoint": "https://id.trez.wtf/oauth/v2/introspect",
"userinfo_endpoint": "https://id.trez.wtf/oidc/v1/userinfo",
"revocation_endpoint": "https://id.trez.wtf/oauth/v2/revoke",
"end_session_endpoint": "https://id.trez.wtf/oidc/v1/end_session",
"device_authorization_endpoint": "https://id.trez.wtf/oauth/v2/device_authorization",
"jwks_uri": "https://id.trez.wtf/oauth/v2/keys",
"scopes_supported": [
"openid",
"profile",
"email",
"phone",
"address",
"offline_access"
],
"response_types_supported": [
"code",
"id_token",
"id_token token"
],
"response_modes_supported": [
"query",
"fragment",
"form_post"
],
"grant_types_supported": [
"authorization_code",
"implicit",
"refresh_token",
"client_credentials",
"urn:ietf:params:oauth:grant-type:jwt-bearer",
"urn:ietf:params:oauth:grant-type:device_code"
],
"subject_types_supported": [
"public"
],
"id_token_signing_alg_values_supported": [
"RS256"
],
"request_object_signing_alg_values_supported": [
"RS256"
],
"token_endpoint_auth_methods_supported": [
"none",
"client_secret_basic",
"client_secret_post",
"private_key_jwt"
],
"token_endpoint_auth_signing_alg_values_supported": [
"RS256"
],
"revocation_endpoint_auth_methods_supported": [
"none",
"client_secret_basic",
"client_secret_post",
"private_key_jwt"
],
"revocation_endpoint_auth_signing_alg_values_supported": [
"RS256"
],
"introspection_endpoint_auth_methods_supported": [
"client_secret_basic",
"private_key_jwt"
],
"introspection_endpoint_auth_signing_alg_values_supported": [
"RS256"
],
"claims_supported": [
"sub",
"aud",
"exp",
"iat",
"iss",
"auth_time",
"nonce",
"acr",
"amr",
"c_hash",
"at_hash",
"act",
"scopes",
"client_id",
"azp",
"preferred_username",
"name",
"family_name",
"given_name",
"locale",
"email",
"email_verified",
"phone_number",
"phone_number_verified"
],
"code_challenge_methods_supported": [
"S256"
],
"ui_locales_supported": [
"bg",
"cs",
"de",
"en",
"es",
"fr",
"hu",
"id",
"it",
"ja",
"ko",
"mk",
"nl",
"pl",
"pt",
"ru",
"sv",
"zh"
],
"request_parameter_supported": true,
"request_uri_parameter_supported": false
}
@@ -0,0 +1,725 @@
# Coturn TURN SERVER configuration file
#
# Boolean values note: where a boolean value is supposed to be used,
# you can use '0', 'off', 'no', 'false', or 'f' as 'false,
# and you can use '1', 'on', 'yes', 'true', or 't' as 'true'
# If the value is missing, then it means 'true' by default.
#
# Listener interface device (optional, Linux only).
# NOT RECOMMENDED.
#
#listening-device=eth0
# TURN listener port for UDP and TCP (Default: 3478).
# Note: actually, TLS & DTLS sessions can connect to the
# "plain" TCP & UDP port(s), too - if allowed by configuration.
#
listening-port=3478
# TURN listener port for TLS (Default: 5349).
# Note: actually, "plain" TCP & UDP sessions can connect to the TLS & DTLS
# port(s), too - if allowed by configuration. The TURN server
# "automatically" recognizes the type of traffic. Actually, two listening
# endpoints (the "plain" one and the "tls" one) are equivalent in terms of
# functionality; but Coturn keeps both endpoints to satisfy the RFC 5766 specs.
# For secure TCP connections, Coturn currently supports SSL version 3 and
# TLS version 1.0, 1.1 and 1.2.
# For secure UDP connections, Coturn supports DTLS version 1.
#
tls-listening-port=5349
# Alternative listening port for UDP and TCP listeners;
# default (or zero) value means "listening port plus one".
# This is needed for RFC 5780 support
# (STUN extension specs, NAT behavior discovery). The TURN Server
# supports RFC 5780 only if it is started with more than one
# listening IP address of the same family (IPv4 or IPv6).
# RFC 5780 is supported only by UDP protocol, other protocols
# are listening to that endpoint only for "symmetry".
#
#alt-listening-port=0
# Alternative listening port for TLS and DTLS protocols.
# Default (or zero) value means "TLS listening port plus one".
#
#alt-tls-listening-port=0
# Some network setups will require using a TCP reverse proxy in front
# of the STUN server. If the proxy port option is set a single listener
# is started on the given port that accepts connections using the
# haproxy proxy protocol v2.
# (https://www.haproxy.org/download/1.8/doc/proxy-protocol.txt)
#
#tcp-proxy-port=5555
# Listener IP address of relay server. Multiple listeners can be specified.
# If no IP(s) specified in the config file or in the command line options,
# then all IPv4 and IPv6 system IPs will be used for listening.
#
#listening-ip=172.17.19.101
#listening-ip=10.207.21.238
#listening-ip=2607:f0d0:1002:51::4
# Auxiliary STUN/TURN server listening endpoint.
# Aux servers have almost full TURN and STUN functionality.
# The (minor) limitations are:
#
# 1) Auxiliary servers do not have alternative ports and
# they do not support STUN RFC 5780 functionality (CHANGE REQUEST).
#
# 2) Auxiliary servers also are never returning ALTERNATIVE-SERVER reply.
#
# Valid formats are 1.2.3.4:5555 for IPv4 and [1:2::3:4]:5555 for IPv6.
#
# There may be multiple aux-server options, each will be used for listening
# to client requests.
#
#aux-server=172.17.19.110:33478
#aux-server=[2607:f0d0:1002:51::4]:33478
# (recommended for older Linuxes only)
# Automatically balance UDP traffic over auxiliary servers (if configured).
# The load balancing is using the ALTERNATE-SERVER mechanism.
# The TURN client must support 300 ALTERNATE-SERVER response for this
# functionality.
#
#udp-self-balance
# Relay interface device for relay sockets (optional, Linux only).
# NOT RECOMMENDED.
#
#relay-device=eth1
# Relay address (the local IP address that will be used to relay the
# packets to the peer).
# Multiple relay addresses may be used.
# The same IP(s) can be used as both listening IP(s) and relay IP(s).
#
# If no relay IP(s) specified, then the turnserver will apply the default
# policy: it will decide itself which relay addresses to be used, and it
# will always be using the client socket IP address as the relay IP address
# of the TURN session (if the requested relay address family is the same
# as the family of the client socket).
#
#relay-ip=172.17.19.105
#relay-ip=2607:f0d0:1002:51::5
# For Amazon EC2 users:
#
# TURN Server public/private address mapping, if the server is behind NAT.
# In that situation, if a -X is used in form "-X <ip>" then that ip will be reported
# as relay IP address of all allocations. This scenario works only in a simple case
# when one single relay address is be used, and no RFC5780 functionality is required.
# That single relay address must be mapped by NAT to the 'external' IP.
# The "external-ip" value, if not empty, is returned in XOR-RELAYED-ADDRESS field.
# For that 'external' IP, NAT must forward ports directly (relayed port 12345
# must be always mapped to the same 'external' port 12345).
#
# In more complex case when more than one IP address is involved,
# that option must be used several times, each entry must
# have form "-X <public-ip/private-ip>", to map all involved addresses.
# RFC5780 NAT discovery STUN functionality will work correctly,
# if the addresses are mapped properly, even when the TURN server itself
# is behind A NAT.
#
# By default, this value is empty, and no address mapping is used.
#
# external-ip=193.224.22.37
#
#OR:
#
#external-ip=60.70.80.91/172.17.19.101
#external-ip=60.70.80.92/172.17.19.102
external-ip=108.29.206.17
# Number of the relay threads to handle the established connections
# (in addition to authentication thread and the listener thread).
# If explicitly set to 0 then application runs relay process in a
# single thread, in the same thread with the listener process
# (the authentication thread will still be a separate thread).
#
# If this parameter is not set, then the default OS-dependent
# thread pattern algorithm will be employed. Usually the default
# algorithm is optimal, so you have to change this option
# if you want to make some fine tweaks.
#
# In the older systems (Linux kernel before 3.9),
# the number of UDP threads is always one thread per network listening
# endpoint - including the auxiliary endpoints - unless 0 (zero) or
# 1 (one) value is set.
#
#relay-threads=0
# Lower and upper bounds of the UDP relay endpoints:
# (default values are 49152 and 65535)
#
min-port=49152
max-port=65535
# Uncomment to run TURN server in 'normal' 'moderate' verbose mode.
# By default the verbose mode is off.
#verbose
# Uncomment to run TURN server in 'extra' verbose mode.
# This mode is very annoying and produces lots of output.
# Not recommended under normal circumstances.
#
#Verbose
# Uncomment to use fingerprints in the TURN messages.
# By default the fingerprints are off.
#
fingerprint
# Uncomment to use long-term credential mechanism.
# By default no credentials mechanism is used (any user allowed).
#
lt-cred-mech
# This option is the opposite of lt-cred-mech.
# (TURN Server with no-auth option allows anonymous access).
# If neither option is defined, and no users are defined,
# then no-auth is default. If at least one user is defined,
# in this file, in command line or in usersdb file, then
# lt-cred-mech is default.
#
#no-auth
# TURN REST API flag.
# (Time Limited Long Term Credential)
# Flag that sets a special authorization option that is based upon authentication secret.
#
# This feature's purpose is to support "TURN Server REST API", see
# "TURN REST API" link in the project's page
# https://github.com/coturn/coturn/
#
# This option is used with timestamp:
#
# usercombo -> "timestamp:userid"
# turn user -> usercombo
# turn password -> base64(hmac(secret key, usercombo))
#
# This allows TURN credentials to be accounted for a specific user id.
# If you don't have a suitable id, then the timestamp alone can be used.
# This option is enabled by turning on secret-based authentication.
# The actual value of the secret is defined either by the option static-auth-secret,
# or can be found in the turn_secret table in the database (see below).
#
# Read more about it:
# - https://tools.ietf.org/html/draft-uberti-behave-turn-rest-00
# - https://www.ietf.org/proceedings/87/slides/slides-87-behave-10.pdf
#
# Be aware that use-auth-secret overrides some parts of lt-cred-mech.
# The use-auth-secret feature depends internally on lt-cred-mech, so if you set
# this option then it automatically enables lt-cred-mech internally
# as if you had enabled both.
#
# Note that you can use only one auth mechanism at the same time! This is because,
# both mechanisms conduct username and password validation in different ways.
#
# Use either lt-cred-mech or use-auth-secret in the conf
# to avoid any confusion.
#
#use-auth-secret
# 'Static' authentication secret value (a string) for TURN REST API only.
# If not set, then the turn server
# will try to use the 'dynamic' value in the turn_secret table
# in the user database (if present). The database-stored value can be changed on-the-fly
# by a separate program, so this is why that mode is considered 'dynamic'.
#
#static-auth-secret=north
# Server name used for
# the oAuth authentication purposes.
# The default value is the realm name.
#
# server-name=stun.wiretrustee.com
# Flag that allows oAuth authentication.
#
#oauth
# 'Static' user accounts for the long term credentials mechanism, only.
# This option cannot be used with TURN REST API.
# 'Static' user accounts are NOT dynamically checked by the turnserver process,
# so they can NOT be changed while the turnserver is running.
#
#user=username1:key1
#user=username2:key2
# OR:
user=self:{{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['NETBIRD_TURN_PASSWORD'] }}
#user=username2:password2
#
# Keys must be generated by turnadmin utility. The key value depends
# on user name, realm, and password:
#
# Example:
# $ turnadmin -k -u ninefingers -r north.gov -p youhavetoberealistic
# Output: 0xbc807ee29df3c9ffa736523fb2c4e8ee
# ('0x' in the beginning of the key is what differentiates the key from
# password. If it has 0x then it is a key, otherwise it is a password).
#
# The corresponding user account entry in the config file will be:
#
#user=ninefingers:0xbc807ee29df3c9ffa736523fb2c4e8ee
# Or, equivalently, with open clear password (less secure):
#user=ninefingers:youhavetoberealistic
#
# SQLite database file name.
#
# The default file name is /var/db/turndb or /usr/local/var/db/turndb or
# /var/lib/turn/turndb.
#
#userdb=/var/db/turndb
# PostgreSQL database connection string in the case that you are using PostgreSQL
# as the user database.
# This database can be used for the long-term credential mechanism
# and it can store the secret value for secret-based timed authentication in TURN REST API.
# See http://www.postgresql.org/docs/8.4/static/libpq-connect.html for 8.x PostgreSQL
# versions connection string format, see
# http://www.postgresql.org/docs/9.2/static/libpq-connect.html#LIBPQ-CONNSTRING
# for 9.x and newer connection string formats.
#
#psql-userdb="host=<host> dbname=<database-name> user=<database-user> password=<database-user-password> connect_timeout=30"
# MySQL database connection string in the case that you are using MySQL
# as the user database.
# This database can be used for the long-term credential mechanism
# and it can store the secret value for secret-based timed authentication in TURN REST API.
#
# Optional connection string parameters for the secure communications (SSL):
# ca, capath, cert, key, cipher
# (see http://dev.mysql.com/doc/refman/5.1/en/ssl-options.html for the
# command options description).
#
# Use the string format below (space separated parameters, all optional):
#
# mysql-userdb="host=mysql dbname=coturn user=coturn password=CHANGE_ME port=3306 connect_timeout=10 read_timeout=10"
# If you want to use an encrypted password in the MySQL connection string,
# then set the MySQL password encryption secret key file with this option.
#
# Warning: If this option is set, then the mysql password must be set in "mysql-userdb" in an encrypted format!
# If you want to use a cleartext password then do not set this option!
#
# This is the file path for the aes encrypted secret key used for password encryption.
#
#secret-key-file=/path/
# MongoDB database connection string in the case that you are using MongoDB
# as the user database.
# This database can be used for long-term credential mechanism
# and it can store the secret value for secret-based timed authentication in TURN REST API.
# Use the string format described at http://hergert.me/docs/mongo-c-driver/mongoc_uri.html
#
#mongo-userdb="mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]"
# Redis database connection string in the case that you are using Redis
# as the user database.
# This database can be used for long-term credential mechanism
# and it can store the secret value for secret-based timed authentication in TURN REST API.
# Use the string format below (space separated parameters, all optional):
#
#redis-userdb="ip=<ip-address> dbname=<database-number> password=<database-user-password> port=<port> connect_timeout=<seconds>"
# Redis status and statistics database connection string, if used (default - empty, no Redis stats DB used).
# This database keeps allocations status information, and it can be also used for publishing
# and delivering traffic and allocation event notifications.
# The connection string has the same parameters as redis-userdb connection string.
# Use the string format below (space separated parameters, all optional):
#
#redis-statsdb="ip=<ip-address> dbname=<database-number> password=<database-user-password> port=<port> connect_timeout=<seconds>"
# The default realm to be used for the users when no explicit
# origin/realm relationship is found in the database, or if the TURN
# server is not using any database (just the commands-line settings
# and the userdb file). Must be used with long-term credentials
# mechanism or with TURN REST API.
#
# Note: If the default realm is not specified, then realm falls back to the host domain name.
# If the domain name string is empty, or set to '(None)', then it is initialized as an empty string.
#
# realm=wiretrustee.com
# This flag sets the origin consistency
# check. Across the session, all requests must have the same
# main ORIGIN attribute value (if the ORIGIN was
# initially used by the session).
#
#check-origin-consistency
# Per-user allocation quota.
# default value is 0 (no quota, unlimited number of sessions per user).
# This option can also be set through the database, for a particular realm.
#
#user-quota=0
# Total allocation quota.
# default value is 0 (no quota).
# This option can also be set through the database, for a particular realm.
#
#total-quota=0
# Max bytes-per-second bandwidth a TURN session is allowed to handle
# (input and output network streams are treated separately). Anything above
# that limit will be dropped or temporarily suppressed (within
# the available buffer limits).
# This option can also be set through the database, for a particular realm.
#
#max-bps=0
#
# Maximum server capacity.
# Total bytes-per-second bandwidth the TURN server is allowed to allocate
# for the sessions, combined (input and output network streams are treated separately).
#
# bps-capacity=0
# Uncomment if no UDP client listener is desired.
# By default UDP client listener is always started.
#
#no-udp
# Uncomment if no TCP client listener is desired.
# By default TCP client listener is always started.
#
#no-tcp
# Uncomment if no TLS client listener is desired.
# By default TLS client listener is always started.
#
#no-tls
# Uncomment if no DTLS client listener is desired.
# By default DTLS client listener is always started.
#
#no-dtls
# Uncomment if no UDP relay endpoints are allowed.
# By default UDP relay endpoints are enabled (like in RFC 5766).
#
#no-udp-relay
# Uncomment if no TCP relay endpoints are allowed.
# By default TCP relay endpoints are enabled (like in RFC 6062).
#
#no-tcp-relay
# Uncomment if extra security is desired,
# with nonce value having a limited lifetime.
# The nonce value is unique for a session.
# Set this option to limit the nonce lifetime.
# Set it to 0 for unlimited lifetime.
# It defaults to 600 secs (10 min) if no value is provided. After that delay,
# the client will get 438 error and will have to re-authenticate itself.
#
#stale-nonce=600
# Uncomment if you want to set the maximum allocation
# time before it has to be refreshed.
# Default is 3600s.
#
#max-allocate-lifetime=3600
# Uncomment to set the lifetime for the channel.
# Default value is 600 secs (10 minutes).
# This value MUST not be changed for production purposes.
#
#channel-lifetime=600
# Uncomment to set the permission lifetime.
# Default to 300 secs (5 minutes).
# In production this value MUST not be changed,
# however it can be useful for test purposes.
#
#permission-lifetime=300
# Certificate file.
# Use an absolute path or path relative to the
# configuration file.
# Use PEM file format.
#
cert=/etc/coturn/certs/cert.pem
# Private key file.
# Use an absolute path or path relative to the
# configuration file.
# Use PEM file format.
#
pkey=/etc/coturn/private/privkey.pem
# Private key file password, if it is in encoded format.
# This option has no default value.
#
#pkey-pwd=...
# Allowed OpenSSL cipher list for TLS/DTLS connections.
# Default value is "DEFAULT".
#
#cipher-list="DEFAULT"
# CA file in OpenSSL format.
# Forces TURN server to verify the client SSL certificates.
# By default this is not set: there is no default value and the client
# certificate is not checked.
#
# Example:
#CA-file=/etc/ssh/id_rsa.cert
# Curve name for EC ciphers, if supported by OpenSSL
# library (TLS and DTLS). The default value is prime256v1,
# if pre-OpenSSL 1.0.2 is used. With OpenSSL 1.0.2+,
# an optimal curve will be automatically calculated, if not defined
# by this option.
#
#ec-curve-name=prime256v1
# Use 566 bits predefined DH TLS key. Default size of the key is 2066.
#
#dh566
# Use 1066 bits predefined DH TLS key. Default size of the key is 2066.
#
#dh1066
# Use custom DH TLS key, stored in PEM format in the file.
# Flags --dh566 and --dh2066 are ignored when the DH key is taken from a file.
#
#dh-file=<DH-PEM-file-name>
# Flag to prevent stdout log messages.
# By default, all log messages go to both stdout and to
# the configured log file. With this option everything will
# go to the configured log only (unless the log file itself is stdout).
#
#no-stdout-log
# Option to set the log file name.
# By default, the turnserver tries to open a log file in
# /var/log, /var/tmp, /tmp and the current directory
# (Whichever file open operation succeeds first will be used).
# With this option you can set the definite log file name.
# The special names are "stdout" and "-" - they will force everything
# to the stdout. Also, the "syslog" name will force everything to
# the system log (syslog).
# In the runtime, the logfile can be reset with the SIGHUP signal
# to the turnserver process.
#
log-file=stdout
# Option to redirect all log output into system log (syslog).
#
# syslog
# This flag means that no log file rollover will be used, and the log file
# name will be constructed as-is, without PID and date appendage.
# This option can be used, for example, together with the logrotate tool.
#
#simple-log
# Option to set the "redirection" mode. The value of this option
# will be the address of the alternate server for UDP & TCP service in the form of
# <ip>[:<port>]. The server will send this value in the attribute
# ALTERNATE-SERVER, with error 300, on ALLOCATE request, to the client.
# Client will receive only values with the same address family
# as the client network endpoint address family.
# See RFC 5389 and RFC 5766 for the description of ALTERNATE-SERVER functionality.
# The client must use the obtained value for subsequent TURN communications.
# If more than one --alternate-server option is provided, then the functionality
# can be more accurately described as "load-balancing" than a mere "redirection".
# If the port number is omitted, then the default port
# number 3478 for the UDP/TCP protocols will be used.
# Colon (:) characters in IPv6 addresses may conflict with the syntax of
# the option. To alleviate this conflict, literal IPv6 addresses are enclosed
# in square brackets in such resource identifiers, for example:
# [2001:db8:85a3:8d3:1319:8a2e:370:7348]:3478 .
# Multiple alternate servers can be set. They will be used in the
# round-robin manner. All servers in the pool are considered of equal weight and
# the load will be distributed equally. For example, if you have 4 alternate servers,
# then each server will receive 25% of ALLOCATE requests. A alternate TURN server
# address can be used more than one time with the alternate-server option, so this
# can emulate "weighting" of the servers.
#
# Examples:
#alternate-server=1.2.3.4:5678
#alternate-server=11.22.33.44:56789
#alternate-server=5.6.7.8
#alternate-server=[2001:db8:85a3:8d3:1319:8a2e:370:7348]:3478
# Option to set alternative server for TLS & DTLS services in form of
# <ip>:<port>. If the port number is omitted, then the default port
# number 5349 for the TLS/DTLS protocols will be used. See the previous
# option for the functionality description.
#
# Examples:
#tls-alternate-server=1.2.3.4:5678
#tls-alternate-server=11.22.33.44:56789
#tls-alternate-server=[2001:db8:85a3:8d3:1319:8a2e:370:7348]:3478
# Option to suppress TURN functionality, only STUN requests will be processed.
# Run as STUN server only, all TURN requests will be ignored.
# By default, this option is NOT set.
#
#stun-only
# Option to hide software version. Enhance security when used in production.
# Revealing the specific software version of the agent through the
# SOFTWARE attribute might allow them to become more vulnerable to
# attacks against software that is known to contain security holes.
# Implementers SHOULD make usage of the SOFTWARE attribute a
# configurable option (https://tools.ietf.org/html/rfc5389#section-16.1.2)
#
no-software-attribute
# Option to suppress STUN functionality, only TURN requests will be processed.
# Run as TURN server only, all STUN requests will be ignored.
# By default, this option is NOT set.
#
#no-stun
# This is the timestamp/username separator symbol (character) in TURN REST API.
# The default value is ':'.
# rest-api-separator=:
# Flag that can be used to allow peers on the loopback addresses (127.x.x.x and ::1).
# This is an extra security measure.
#
# (To avoid any security issue that allowing loopback access may raise,
# the no-loopback-peers option is replaced by allow-loopback-peers.)
#
# Allow it only for testing in a development environment!
# In production it adds a possible security vulnerability, so for security reasons
# it is not allowed using it together with empty cli-password.
#
#allow-loopback-peers
# Flag that can be used to disallow peers on well-known broadcast addresses (224.0.0.0 and above, and FFXX:*).
# This is an extra security measure.
#
#no-multicast-peers
# Option to set the max time, in seconds, allowed for full allocation establishment.
# Default is 60 seconds.
#
#max-allocate-timeout=60
# Option to allow or ban specific ip addresses or ranges of ip addresses.
# If an ip address is specified as both allowed and denied, then the ip address is
# considered to be allowed. This is useful when you wish to ban a range of ip
# addresses, except for a few specific ips within that range.
#
# This can be used when you do not want users of the turn server to be able to access
# machines reachable by the turn server, but would otherwise be unreachable from the
# internet (e.g. when the turn server is sitting behind a NAT)
#
# Examples:
# denied-peer-ip=83.166.64.0-83.166.95.255
# allowed-peer-ip=83.166.68.45
# File name to store the pid of the process.
# Default is /var/run/turnserver.pid (if superuser account is used) or
# /var/tmp/turnserver.pid .
#
pidfile="/var/tmp/turnserver.pid"
# Require authentication of the STUN Binding request.
# By default, the clients are allowed anonymous access to the STUN Binding functionality.
#
#secure-stun
# Mobility with ICE (MICE) specs support.
#
#mobility
# Allocate Address Family according
# If enabled then TURN server allocates address family according the TURN
# Client <=> Server communication address family.
# (By default Coturn works according RFC 6156.)
# !!Warning: Enabling this option breaks RFC6156 section-4.2 (violates use default IPv4)!!
#
#keep-address-family
# User name to run the process. After the initialization, the turnserver process
# will attempt to change the current user ID to that user.
#
#proc-user=<user-name>
# Group name to run the process. After the initialization, the turnserver process
# will attempt to change the current group ID to that group.
#
#proc-group=<group-name>
# Turn OFF the CLI support.
# By default it is always ON.
# See also options cli-ip and cli-port.
#
no-cli
#Local system IP address to be used for CLI server endpoint. Default value
# is 127.0.0.1.
#
# cli-ip=127.0.0.1
# CLI server port. Default is 5766.
#
# cli-port=5766
# CLI access password. Default is empty (no password).
# For the security reasons, it is recommended that you use the encrypted
# form of the password (see the -P command in the turnadmin utility).
#
# Secure form for password 'qwerty':
#
#cli-password=$5$79a316b350311570$81df9cfb9af7f5e5a76eada31e7097b663a0670f99a3c07ded3f1c8e59c5658a
#
# Or insecure form for the same password:
#
# cli-password=CHANGE_ME
# Enable Web-admin support on https. By default it is Disabled.
# If it is enabled it also enables a http a simple static banner page
# with a small reminder that the admin page is available only on https.
#
#web-admin
# Local system IP address to be used for Web-admin server endpoint. Default value is 127.0.0.1.
#
#web-admin-ip=127.0.0.1
# Web-admin server port. Default is 8080.
#
#web-admin-port=8080
# Web-admin server listen on STUN/TURN worker threads
# By default it is disabled for security reasons! (Not recommended in any production environment!)
#
#web-admin-listen-on-workers
# Server relay. NON-STANDARD AND DANGEROUS OPTION.
# Only for those applications when you want to run
# server applications on the relay endpoints.
# This option eliminates the IP permissions check on
# the packets incoming to the relay endpoints.
#
#server-relay
# Maximum number of output sessions in ps CLI command.
# This value can be changed on-the-fly in CLI. The default value is 256.
#
#cli-max-output-sessions
# Set network engine type for the process (for internal purposes).
#
#ne=[1|2|3]
# Do not allow an TLS/DTLS version of protocol
#
#no-tlsv1
#no-tlsv1_1
#no-tlsv1_2
@@ -0,0 +1,11 @@
{% set vault_addr = 'https://vault.trez.wtf' %}
{% set secrets_path = 'rinoa-docker/env' %}
<clickhouse>
<profiles>
<default>
<log_queries>0</log_queries>
<log_query_threads>0</log_query_threads>
</default>
</profiles>
</clickhouse>
+59
View File
@@ -0,0 +1,59 @@
{% set vault_addr = 'https://vault.trez.wtf' %}
{% set secrets_path = 'rinoa-docker/env' %}
version: 2
postal:
web_hostname: post.trez.wtf
web_protocol: http
smtp_hostname: post.trez.wtf
use_ip_pools: false
signing_key_path: /config/signing.key
trusted_proxies: [ "172.18.0.0/16" ]
web_server:
default_port: 5000
default_bind_address: 0.0.0.0
main_db:
host: mariadb
username: postal
password: {{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['POSTAL_MYSQL_PASSWORD'] }}
database: postal
message_db:
host: mariadb
username: postal
password: {{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['POSTAL_MYSQL_PASSWORD'] }}
prefix: postal
smtp_server:
default_port: 25
default_bind_address: "::"
dns:
# Specify the DNS records that you have configured. Refer to the documentation at
# https://github.com/atech/postal/wiki/Domains-&-DNS-Configuration for further
# information about these.
mx_records:
- mx.post.trez.wtf
spf_include: spf.post.trez.wtf
return_path_domain: rp.post.trez.wtf
route_domain: routes.post.trez.wtf
track_domain: track.post.trez.wtf
smtp:
# Specify an SMTP server that can be used to send messages from the Postal management
# system to users. You can configure this to use a Postal mail server once the
# your installation has been set up.
host: postal-smtp
port: 25
username: rinoa/postal-smtp
password: "{{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['POSTAL_SMTP_AUTH_PASSWORD'] }}"
from_name: Postal @ Rinoa
from_address: noreply@trez.wtf
rails:
# This is generated automatically by the config initialization. It should be a random
# string unique to your installation.
secret_key: "{{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['POSTAL_RAILS_SECRET_KEY'] }}"
@@ -0,0 +1,21 @@
{% set vault_addr = 'https://vault.trez.wtf' %}
{% set secrets_path = 'rinoa-docker/env' %}
<Config>
<BindAddress>*</BindAddress>
<Port>9696</Port>
<SslPort>6969</SslPort>
<EnableSsl>False</EnableSsl>
<LaunchBrowser>True</LaunchBrowser>
<ApiKey>{{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['PROWLARR_API_KEY'] }}</ApiKey>
<AuthenticationMethod>Forms</AuthenticationMethod>
<AuthenticationRequired>Enabled</AuthenticationRequired>
<Branch>master</Branch>
<LogLevel>info</LogLevel>
<SslCertPath></SslCertPath>
<SslCertPassword></SslCertPassword>
<UrlBase></UrlBase>
<InstanceName>Prowlarr</InstanceName>
<UpdateMechanism>Docker</UpdateMechanism>
<Theme>light</Theme>
</Config>
@@ -0,0 +1,20 @@
{% set vault_addr = 'https://vault.trez.wtf' %}
{% set secrets_path = 'rinoa-docker/env' %}
{
"radarr_address": "http://radarr:7878",
"radarr_api_key": "{{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['RADARR_API_KEY'] }}",
"root_folder_path": "/data/media/movies",
"tmdb_api_key": "{{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['TMDB_API_KEY'] }}",
"fallback_to_top_result": false,
"radarr_api_timeout": 120.0,
"quality_profile_id": 1,
"metadata_profile_id": 1,
"search_for_movie": true,
"dry_run_adding_to_radarr": false,
"minimum_rating": 4.5,
"minimum_votes": 50,
"language_choice": "all",
"auto_start": true,
"auto_start_delay": 60.0
}
+21
View File
@@ -0,0 +1,21 @@
{% set vault_addr = 'https://vault.trez.wtf' %}
{% set secrets_path = 'rinoa-docker/env' %}
<Config>
<LogLevel>info</LogLevel>
<BindAddress>*</BindAddress>
<EnableSsl>False</EnableSsl>
<SslCertPath></SslCertPath>
<Port>7878</Port>
<UrlBase></UrlBase>
<ApiKey>{{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['RADARR_API_KEY'] }}</ApiKey>
<AuthenticationMethod>Forms</AuthenticationMethod>
<UpdateMechanism>Docker</UpdateMechanism>
<SslPort>9898</SslPort>
<LaunchBrowser>True</LaunchBrowser>
<Branch>master</Branch>
<SslCertPassword></SslCertPassword>
<InstanceName>Radarr</InstanceName>
<Theme>auto</Theme>
<AuthenticationRequired>Enabled</AuthenticationRequired>
</Config>
+21
View File
@@ -0,0 +1,21 @@
{% set vault_addr = 'https://vault.trez.wtf' %}
{% set secrets_path = 'rinoa-docker/env' %}
<Config>
<BindAddress>*</BindAddress>
<Port>8787</Port>
<SslPort>6868</SslPort>
<EnableSsl>False</EnableSsl>
<LaunchBrowser>True</LaunchBrowser>
<ApiKey>{{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['READARR_API_KEY'] }}</ApiKey>
<AuthenticationMethod>Forms</AuthenticationMethod>
<Branch>develop</Branch>
<LogLevel>info</LogLevel>
<SslCertPath></SslCertPath>
<SslCertPassword></SslCertPassword>
<UrlBase></UrlBase>
<InstanceName>Readarr</InstanceName>
<UpdateMechanism>Docker</UpdateMechanism>
<Theme>auto</Theme>
<AuthenticationRequired>Enabled</AuthenticationRequired>
</Config>
+482
View File
@@ -0,0 +1,482 @@
{% set vault_addr = 'https://vault.trez.wtf' %}
{% set secrets_path = 'rinoa-docker/env' %}
__version__ = 19
__encoding__ = utf-8
[misc]
pre_script = None
queue_complete = ""
queue_complete_pers = 0
bandwidth_perc = 0
refresh_rate = 1
queue_limit = 20
config_lock = 0
sched_converted = 2
notified_new_skin = 2
direct_unpack_tested = 1
check_new_rel = 1
auto_browser = 0
language = en
enable_https_verification = 1
host = 0.0.0.0
port = 8080
https_port = 8090
username = thetrezuredone
password = {{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['SABNZBDVPN_PASSWORD'] }}
bandwidth_max = 1000M
cache_limit = 1G
web_dir = Glitter
web_color = Auto
https_cert = server.cert
https_key = server.key
https_chain = ""
enable_https = 1
inet_exposure = 0
local_ranges = ,
api_key = {{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['SABNZBDVPN_API_KEY'] }}
nzb_key = 3c0fa874bb2748b58c1bd7512e649946
permissions = 775
download_dir = /storage/downloads/incomplete
download_free = ""
complete_dir = /storage/downloads/completed/nzb
script_dir = ""
nzb_backup_dir = ""
admin_dir = admin
dirscan_dir = /storage/downloads/watch
dirscan_speed = 5
password_file = ""
log_dir = logs
max_art_tries = 3
load_balancing = 2
top_only = 0
sfv_check = 1
quick_check_ext_ignore = nfo, sfv, srr
script_can_fail = 0
ssl_ciphers = ""
enable_recursive = 1
flat_unpack = 0
par_option = ""
pre_check = 1
nice = ""
win_process_prio = 3
ionice = ""
fail_hopeless_jobs = 1
fast_fail = 1
auto_disconnect = 1
no_dupes = 3
no_series_dupes = 0
series_propercheck = 1
pause_on_pwrar = 2
ignore_samples = 1
deobfuscate_final_filenames = 0
auto_sort = ""
direct_unpack = 1
direct_unpack_threads = 3
propagation_delay = 0
folder_rename = 1
replace_spaces = 1
replace_dots = 1
safe_postproc = 1
pause_on_post_processing = 0
sanitize_safe = 0
cleanup_list = ,
unwanted_extensions = ,
action_on_unwanted_extensions = 0
new_nzb_on_failure = 1
history_retention = ""
enable_meta = 1
quota_size = ""
quota_day = ""
quota_resume = 0
quota_period = m
rating_enable = 0
rating_host = ""
rating_api_key = ""
rating_filter_enable = 0
rating_filter_abort_audio = 0
rating_filter_abort_video = 0
rating_filter_abort_encrypted = 0
rating_filter_abort_encrypted_confirm = 0
rating_filter_abort_spam = 0
rating_filter_abort_spam_confirm = 0
rating_filter_abort_downvoted = 0
rating_filter_abort_keywords = ""
rating_filter_pause_audio = 0
rating_filter_pause_video = 0
rating_filter_pause_encrypted = 0
rating_filter_pause_encrypted_confirm = 0
rating_filter_pause_spam = 0
rating_filter_pause_spam_confirm = 0
rating_filter_pause_downvoted = 0
rating_filter_pause_keywords = ""
enable_tv_sorting = 1
tv_sort_string = %sn/Season %s/%sn - %sx%0e - %en.%ext
tv_sort_countries = 1
tv_categories = tv,
enable_movie_sorting = 0
movie_sort_string = ""
movie_sort_extra = -cd%1
movie_extra_folder = 0
movie_categories = movies,
enable_date_sorting = 0
date_sort_string = ""
date_categories = tv,
schedlines = ,
rss_rate = 60
ampm = 0
replace_illegal = 1
start_paused = 0
enable_all_par = 1
enable_par_cleanup = 1
enable_unrar = 1
enable_unzip = 1
enable_7zip = 1
enable_filejoin = 1
enable_tsjoin = 1
overwrite_files = 0
ignore_unrar_dates = 0
backup_for_duplicates = 1
empty_postproc = 0
wait_for_dfolder = 0
rss_filenames = 0
api_logging = 1
html_login = 1
osx_menu = 1
osx_speed = 1
warn_dupl_jobs = 1
helpfull_warnings = 1
keep_awake = 1
win_menu = 1
allow_incomplete_nzb = 0
enable_bonjour = 1
max_art_opt = 0
ipv6_hosting = 0
fixed_ports = 1
api_warnings = 1
disable_api_key = 0
no_penalties = 0
x_frame_options = 1
require_modern_tls = 0
num_decoders = 3
rss_odd_titles = nzbindex.nl/, nzbindex.com/, nzbclub.com/
req_completion_rate = 100.2
selftest_host = self-test.sabnzbd.org
movie_rename_limit = 100M
size_limit = 0
show_sysload = 2
history_limit = 10
wait_ext_drive = 5
max_foldername_length = 246
nomedia_marker = ""
ipv6_servers = 1
url_base = /sabnzbd
host_whitelist = rinoa, sabnzbd.trez.wtf
max_url_retries = 10
email_server = ""
email_to = ,
email_from = ""
email_account = ""
email_pwd = ""
email_endjob = 0
email_full = 0
email_dir = ""
email_rss = 0
email_cats = *,
interface_settings = '{"dateFormat":"fromNow","extraQueueColumns":["category"],"extraHistoryColumns":[],"displayCompact":false,"displayFullWidth":false,"confirmDeleteQueue":true,"confirmDeleteHistory":true,"keyboardShortcuts":true}'
complete_free = ""
fulldisk_autoresume = 0
enable_broadcast = 1
downloader_sleep_time = 10
ssdp_broadcast_interval = 15
unwanted_extensions_mode = 0
process_unpacked_par2 = 1
episode_rename_limit = 20M
socks5_proxy_url = ""
preserve_paused_state = 0
helpful_warnings = 1
allow_old_ssl_tls = 0
num_simd_decoders = 2
ext_rename_ignore = ,
backup_dir = ""
replace_underscores = 0
tray_icon = 1
sorters_converted = 1
enable_season_sorting = 1
receive_threads = 2
switchinterval = 0.005
end_queue_script = None
no_smart_dupes = 1
dupes_propercheck = 1
enable_multipar = 1
verify_xff_header = 0
history_retention_option = all
history_retention_number = 1
ipv6_staging = 0
disable_archive = 0
config_conversion_version = 4
disable_par2cmdline = 0
[logging]
log_level = 1
max_log_size = 5242880
log_backups = 5
[ncenter]
ncenter_enable = 0
ncenter_cats = *,
ncenter_prio_startup = 0
ncenter_prio_download = 0
ncenter_prio_pause_resume = 0
ncenter_prio_pp = 0
ncenter_prio_complete = 0
ncenter_prio_failed = 0
ncenter_prio_disk_full = 0
ncenter_prio_new_login = 0
ncenter_prio_warning = 0
ncenter_prio_error = 0
ncenter_prio_queue_done = 0
ncenter_prio_other = 0
[acenter]
acenter_enable = 0
acenter_cats = *,
acenter_prio_startup = 0
acenter_prio_download = 0
acenter_prio_pause_resume = 0
acenter_prio_pp = 0
acenter_prio_complete = 0
acenter_prio_failed = 0
acenter_prio_disk_full = 0
acenter_prio_new_login = 0
acenter_prio_warning = 0
acenter_prio_error = 0
acenter_prio_queue_done = 0
acenter_prio_other = 0
[ntfosd]
ntfosd_enable = 0
ntfosd_cats = *,
ntfosd_prio_startup = 0
ntfosd_prio_download = 0
ntfosd_prio_pause_resume = 0
ntfosd_prio_pp = 0
ntfosd_prio_complete = 0
ntfosd_prio_failed = 0
ntfosd_prio_disk_full = 0
ntfosd_prio_new_login = 0
ntfosd_prio_warning = 0
ntfosd_prio_error = 0
ntfosd_prio_queue_done = 0
ntfosd_prio_other = 0
[prowl]
prowl_enable = 0
prowl_cats = *,
prowl_apikey = ""
prowl_prio_startup = -3
prowl_prio_download = -3
prowl_prio_pause_resume = -3
prowl_prio_pp = -3
prowl_prio_complete = 0
prowl_prio_failed = 1
prowl_prio_disk_full = 1
prowl_prio_new_login = -3
prowl_prio_warning = -3
prowl_prio_error = -3
prowl_prio_queue_done = 0
prowl_prio_other = -3
[pushover]
pushover_token = ""
pushover_userkey = ""
pushover_device = ""
pushover_emergency_expire = 3600
pushover_emergency_retry = 60
pushover_enable = 0
pushover_cats = *,
pushover_prio_startup = -3
pushover_prio_download = -2
pushover_prio_pause_resume = -2
pushover_prio_pp = -3
pushover_prio_complete = -1
pushover_prio_failed = -1
pushover_prio_disk_full = 1
pushover_prio_new_login = -3
pushover_prio_warning = 1
pushover_prio_error = 1
pushover_prio_queue_done = -1
pushover_prio_other = -3
[pushbullet]
pushbullet_enable = 0
pushbullet_cats = *,
pushbullet_apikey = ""
pushbullet_device = ""
pushbullet_prio_startup = 0
pushbullet_prio_download = 0
pushbullet_prio_pause_resume = 0
pushbullet_prio_pp = 0
pushbullet_prio_complete = 1
pushbullet_prio_failed = 1
pushbullet_prio_disk_full = 1
pushbullet_prio_new_login = 0
pushbullet_prio_warning = 0
pushbullet_prio_error = 0
pushbullet_prio_queue_done = 0
pushbullet_prio_other = 0
[nscript]
nscript_enable = 0
nscript_cats = *,
nscript_script = None
nscript_parameters = ""
nscript_prio_startup = 1
nscript_prio_download = 0
nscript_prio_pause_resume = 0
nscript_prio_pp = 0
nscript_prio_complete = 1
nscript_prio_failed = 1
nscript_prio_disk_full = 1
nscript_prio_new_login = 0
nscript_prio_warning = 0
nscript_prio_error = 0
nscript_prio_queue_done = 1
nscript_prio_other = 0
[servers]
[[news.newshosting.com]]
name = news.newshosting.com
displayname = Newshosting
host = news.newshosting.com
port = 563
timeout = 60
username = thetrezuredone
password = {{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['SLSKD_PASSWORD'] }}
connections = 8
ssl = 1
ssl_verify = 3
ssl_ciphers = ""
enable = 1
required = 0
optional = 0
retention = 0
expire_date = ""
quota = ""
usage_at_start = 0
priority = 0
notes = ""
[[news.easynews.com]]
name = news.easynews.com
displayname = EasyNews
host = news.easynews.com
port = 443
timeout = 60
username = TrezOne
password = {{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['SABNZBDVPN_EASYNEWS_PASSWORD'] }}
connections = 60
ssl = 0
ssl_verify = 3
ssl_ciphers = ""
enable = 1
required = 0
optional = 0
retention = 0
expire_date = ""
quota = ""
usage_at_start = 0
priority = 0
notes = ""
[categories]
[[software]]
name = software
order = 0
pp = ""
script = Default
dir = ""
newzbin = ""
priority = -100
[[*]]
name = *
order = 0
pp = 3
script = Default
dir = ""
newzbin = ""
priority = 0
[[tv]]
name = tv
order = 0
pp = ""
script = Default
dir = tv
newzbin = ""
priority = -100
[[audio]]
name = audio
order = 0
pp = 2
script = Default
dir = music
newzbin = ""
priority = 1
[[movies]]
name = movies
order = 0
pp = ""
script = Default
dir = movies
newzbin = ""
priority = -100
[[ebook]]
name = ebook
order = 0
pp = 2
script = Default
dir = ebooks
newzbin = ""
priority = -100
[[prowlarr]]
name = prowlarr
order = 0
pp = ""
script = Default
dir = ""
newzbin = ""
priority = -1
[[sonarr]]
name = sonarr
order = 1
pp = ""
script = Default
dir = tv
newzbin = ""
priority = -100
[sorters]
[[Series Sorting]]
name = Series Sorting
order = 0
min_size = 20M
multipart_label = ""
sort_string = %sn/Season %s/%sn - %sx%0e - %en.%ext
sort_cats = tv,
sort_type = 1,
is_active = 1
[apprise]
apprise_enable = 1
apprise_cats = *,
apprise_urls = apprise://apprise:8000/aef1ab3765b857585e13340f1f5f879b2babcc47b0eccead98a19e0a93fe1a35
apprise_target_startup = ""
apprise_target_startup_enable = 0
apprise_target_download = ""
apprise_target_download_enable = 0
apprise_target_pause_resume = ""
apprise_target_pause_resume_enable = 1
apprise_target_pp = ""
apprise_target_pp_enable = 0
apprise_target_complete = ""
apprise_target_complete_enable = 1
apprise_target_failed = ""
apprise_target_failed_enable = 1
apprise_target_disk_full = ""
apprise_target_disk_full_enable = 0
apprise_target_new_login = ""
apprise_target_new_login_enable = 1
apprise_target_warning = ""
apprise_target_warning_enable = 1
apprise_target_error = ""
apprise_target_error_enable = 1
apprise_target_queue_done = ""
apprise_target_queue_done_enable = 0
apprise_target_other = ""
apprise_target_other_enable = 1
@@ -0,0 +1,7 @@
{% set vault_addr = 'https://vault.trez.wtf' %}
{% set secrets_path = 'rinoa-docker/env' %}
bolt-path: /opt/scrutiny/influxdb/influxd.bolt
engine-path: /opt/scrutiny/influxdb/engine
http-bind-address: ":8086"
reporting-disabled: true
File diff suppressed because it is too large Load Diff
+49
View File
@@ -0,0 +1,49 @@
{% set vault_addr = 'https://vault.trez.wtf' %}
{% set secrets_path = 'rinoa-docker/env' %}
[uwsgi]
# Who will run the code
uid = searxng
gid = searxng
# Number of workers (usually CPU count)
workers = %k
threads = 4
# The right granted on the created socket
chmod-socket = 666
# Plugin to use and interpreter config
single-interpreter = true
master = true
plugin = python3
lazy-apps = true
enable-threads = 4
# Module to import
module = searx.webapp
# Virtualenv and python path
pythonpath = /usr/local/searxng/
chdir = /usr/local/searxng/searx/
# automatically set processes name to something meaningful
auto-procname = true
# Disable request logging for privacy
disable-logging = true
log-5xx = true
# Set the max size of a request (request-body excluded)
buffer-size = 8192
# No keep alive
# See https://github.com/searx/searx-docker/issues/24
add-header = Connection: close
# uwsgi serves the static files
static-map = /static=/usr/local/searxng/searx/static
# expires set to one day
static-expires = /* 86400
static-gzip-all = True
offload-threads = 4
+22
View File
@@ -0,0 +1,22 @@
{% set vault_addr = 'https://vault.trez.wtf' %}
{% set secrets_path = 'rinoa-docker/env' %}
<Config>
<LogLevel>info</LogLevel>
<EnableSsl>False</EnableSsl>
<Port>8989</Port>
<SslPort>9898</SslPort>
<UrlBase></UrlBase>
<BindAddress>*</BindAddress>
<ApiKey>{{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['SONARR_API_KEY'] }}</ApiKey>
<AuthenticationMethod>Forms</AuthenticationMethod>
<UpdateMechanism>Docker</UpdateMechanism>
<LaunchBrowser>True</LaunchBrowser>
<Branch>main</Branch>
<InstanceName>Sonarr</InstanceName>
<SyslogPort>514</SyslogPort>
<AuthenticationRequired>Enabled</AuthenticationRequired>
<SslCertPath></SslCertPath>
<SslCertPassword></SslCertPassword>
<Theme>auto</Theme>
</Config>
@@ -0,0 +1,21 @@
{% set vault_addr = 'https://vault.trez.wtf' %}
{% set secrets_path = 'rinoa-docker/env' %}
{
"sonarr_address": "http://192.168.1.2:8989",
"sonarr_api_key": "{{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['SONARR_API_KEY'] }}",
"root_folder_path": "/data/media/shows",
"tvdb_api_key": "",
"tmdb_api_key": "{{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['TMDB_API_KEY'] }}",
"fallback_to_top_result": false,
"sonarr_api_timeout": 120.0,
"quality_profile_id": 1,
"metadata_profile_id": 1,
"search_for_missing_episodes": true,
"dry_run_adding_to_sonarr": false,
"minimum_rating": 4.5,
"minimum_votes": 50,
"language_choice": "all",
"auto_start": true,
"auto_start_delay": 60.0
}
+238
View File
@@ -0,0 +1,238 @@
{% set vault_addr = 'https://vault.trez.wtf' %}
{% set secrets_path = 'rinoa-docker/env' %}
# debug: false
# remote_configuration: false
# remote_file_management: false
# instance_name: default
# flags:
# no_logo: false
# no_start: false
# no_config_watch: false
# no_connect: false
# no_share_scan: false
# force_share_scan: false
# no_version_check: false
# log_sql: false
# experimental: false
# volatile: false
# case_sensitive_reg_ex: false
# legacy_windows_tcp_keepalive: false
# relay:
# enabled: false
# mode: controller # controller (default), agent, or debug (for local development)
# # controller config is required when running in 'agent' mode
# # this specifies the relay controller that will be controlling this agent
# controller:
# address: https://some.site.com:5000
# ignore_certificate_errors: false
# api_key: <a 16-255 character string corresponding to one of the controller's 'readwrite' or 'administrator' API keys>
# secret: <a 16-255 character shared secret matching the controller's config for this agent>
# downloads: false
# # agent config is optional when running in 'controller' mode
# # this specifies all of the agents capable of connecting
# agents:
# my_agent:
# instance_name: my_agent # make sure the top-level instance_name of the agent matches!
# secret: <a 16-255 character string unique to this agent>
# cidr: 0.0.0.0/0,::/0
# permissions:
# file:
# mode: ~ # not for Windows, chmod syntax, e.g. 644, 777. can't escalate beyond umask
# directories:
# incomplete: ~
# downloads: ~
# shares:
# directories:
# - ~
# filters:
# - \.ini$
# - Thumbs.db$
# - \.DS_Store$
# cache:
# storage_mode: memory
# workers: 16
# retention: ~ # retain indefinitely (do not automatically re-scan)
# rooms:
# - ~
# global:
# upload:
# slots: 20
# speed_limit: 1000 # in kibibytes
# limits:
# queued:
# files: 500
# megabytes: 5000
# daily:
# files: 1000
# megabytes: 10000
# failures: 200
# weekly:
# files: 5000
# megabytes: 50000
# failures: 1000
# download:
# slots: 500
# speed_limit: 1000
# groups:
# default:
# upload:
# priority: 500
# strategy: roundrobin
# slots: 10
# limits:
# queued:
# files: 150
# megabytes: 1500
# daily: ~ # no daily limits (weekly still apply)
# weekly:
# files: 1500
# megabytes: 15000
# failures: 150
# leechers:
# thresholds:
# files: 1
# directories: 1
# upload:
# priority: 999
# strategy: roundrobin
# slots: 1
# speed_limit: 100
# limits:
# queued:
# files: 15
# megabytes: 150
# daily:
# files: 30
# megabytes: 300
# failures: 10
# weekly:
# files: 150
# megabytes: 1500
# failures: 30
# blacklisted:
# members:
# - <username to blacklist>
# cidrs:
# - <CIDR to blacklist, e.g. 255.255.255.255/32>
# user_defined:
# my_buddies:
# upload:
# priority: 250
# strategy: firstinfirstout
# slots: 10
# limits:
# queued:
# files: 1000 # override global default
# members:
# - alice
# - bob
# blacklist:
# enabled: true
# file: <path to file containing CIDRs to blacklist>
# filters:
# search:
# request:
# - ^.{1,2}$
# web:
# port: 5030
# https:
# disabled: false
# port: 5031
# force: false
# certificate:
# pfx: ~
# password: ~
# url_base: /
# content_path: wwwroot
# logging: false
# authentication:
# disabled: false
# username: slskd
# password: slskd
# jwt:
# key: ~
# ttl: 604800000
# api_keys:
# my_api_key:
# key: <some example string between 16 and 255 characters>
# role: readonly # readonly, readwrite, administrator
# cidr: 0.0.0.0/0,::/0
# retention:
# transfers:
# upload:
# succeeded: 1440 # 1 day
# errored: 30
# cancelled: 5
# download:
# succeeded: 1440 # 1 day
# errored: 20160 # 2 weeks
# cancelled: 5
# files:
# complete: 20160 # 2 weeks
# incomplete: 43200 # 30 days
# logs: 259200 # 180 days
# logger:
# disk: false
# no_color: false
# loki: ~
# metrics:
# enabled: false
# url: /metrics
# authentication:
# disabled: false
# username: slskd
# password: slskd
# feature:
# swagger: false
# soulseek:
# address: vps.slsknet.org
# port: 2271
# username: ~
# password: ~
# description: |
# A slskd user. https://github.com/slskd/slskd
# listen_ip_address: 0.0.0.0
# listen_port: 50300
# diagnostic_level: Info
# distributed_network:
# disabled: false
# disable_children: false
# child_limit: 25
# logging: false
# connection:
# timeout:
# connect: 10000
# inactivity: 15000
# buffer:
# read: 16384
# write: 16384
# transfer: 262144
# write_queue: 250
# proxy:
# enabled: false
# address: ~
# port: ~
# username: ~
# password: ~
# integration:
# ftp:
# enabled: false
# address: ~
# port: ~
# username: ~
# password: ~
# remote_path: /
# encryption_mode: auto
# ignore_certificate_errors: false
# overwrite_existing: true
# connection_timeout: 5000
# retry_attempts: 3
# pushbullet:
# enabled: false
# access_token: ~
# notification_prefix: "From slskd:"
# notify_on_private_message: true
# notify_on_room_mention: true
# retry_attempts: 3
# cooldown_time: 900000
@@ -0,0 +1,19 @@
{% set vault_addr = 'https://vault.trez.wtf' %}
{% set secrets_path = 'rinoa-docker/env' %}
{
"$schema": "../schemas/v2/index.json",
"repos": [
{
"type": "gitea",
"token": "{{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['GITEA_SONARQUBE_BOT_GITEA_TOKEN'] }}",
"url": "https://git.trez.wtf",
"revisions": {
"branches": [
"main",
"*"
]
}
}
]
}
@@ -0,0 +1,29 @@
{% set vault_addr = 'https://vault.trez.wtf' %}
{% set secrets_path = 'rinoa-docker/env' %}
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE properties SYSTEM 'http://java.sun.com/dtd/properties.dtd'>
<properties>
<entry key='config.default'>./conf/default.xml</entry>
<!--
This is the main configuration file. All your configuration parameters should be placed in this file.
Default configuration parameters are located in the "default.xml" file. You should not modify it to avoid issues
with upgrading to a new version. Parameters in the main config file override values in the default file. Do not
remove "config.default" parameter from this file unless you know what you are doing.
For list of available parameters see following page: https://www.traccar.org/configuration-file/
-->
<entry key='database.driver'>org.postgresql.Driver</entry>
<entry key='database.url'>jdbc:postgresql://traccar-pg:5432/traccar-db</entry>
<entry key='database.user'>traccar</entry>
<entry key='database.password'>{{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['WAZUH_API_PASSWORD'] }}</entry>
</properties>
@@ -0,0 +1,29 @@
{% set vault_addr = 'https://vault.trez.wtf' %}
{% set secrets_path = 'rinoa-docker/env' %}
{
"always_keep_failed_tasks": true,
"auto_manage_completed_tasks": false,
"cache_path": "/tmp/unmanic",
"clear_pending_tasks_on_restart": false,
"concurrent_file_testers": 2,
"config_path": "/config/.unmanic/config",
"debugging": false,
"distributed_worker_count_target": 0,
"enable_library_scanner": false,
"first_run": false,
"follow_symlinks": true,
"installation_name": "Unmanic @ Rinoa",
"library_path": "/library",
"log_path": "/config/.unmanic/logs",
"max_age_of_completed_tasks": 91,
"number_of_workers": null,
"plugins_path": "/config/.unmanic/plugins",
"release_notes_viewed": "0.2.8",
"remote_installations": [],
"run_full_scan_on_start": false,
"schedule_full_scan_minutes": 1440,
"ui_port": 8888,
"userdata_path": "/config/.unmanic/userdata",
"worker_event_schedules": null
}
+31
View File
@@ -0,0 +1,31 @@
sources:
rinoa_docker_logs:
type: docker_logs
exclude_containers:
- zammad-init
sinks:
parseable:
type: http
method: post
batch:
max_bytes: 10485760
max_events: 1000
timeout_secs: 10
compression: gzip
inputs:
- rinoa_docker_logs
encoding:
codec: json
uri: http://parseable:8000/api/v1/ingest'
auth:
strategy: basic
user: admin
password: {{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['PARSEABLE_PASSWORD'] }}
request:
headers:
X-P-Stream: vectordemo
healthcheck:
enabled: true
path: 'http://parseable:8000/api/v1/liveness'
port: 80
+19
View File
@@ -0,0 +1,19 @@
{% set vault_addr = 'https://vault.trez.wtf' %}
{% set secrets_path = 'rinoa-docker/env' %}
nodes:
# Wazuh indexer server nodes
indexer:
- name: wazuh.indexer
ip: wazuh.indexer
# Wazuh server nodes
# Use node_type only with more than one Wazuh manager
server:
- name: wazuh.manager
ip: wazuh.manager
# Wazuh dashboard node
dashboard:
- name: wazuh.dashboard
ip: wazuh.dashboard
@@ -0,0 +1,33 @@
{% set vault_addr = 'https://vault.trez.wtf' %}
{% set secrets_path = 'rinoa-docker/env' %}
network.host: "0.0.0.0"
node.name: "wazuh.indexer"
path.data: /var/lib/wazuh-indexer
path.logs: /var/log/wazuh-indexer
discovery.type: single-node
http.port: 9200-9299
transport.tcp.port: 9300-9399
compatibility.override_main_response_version: true
plugins.security.ssl.http.pemcert_filepath: /usr/share/wazuh-indexer/certs/wazuh.indexer.pem
plugins.security.ssl.http.pemkey_filepath: /usr/share/wazuh-indexer/certs/wazuh.indexer.key
plugins.security.ssl.http.pemtrustedcas_filepath: /usr/share/wazuh-indexer/certs/root-ca.pem
plugins.security.ssl.transport.pemcert_filepath: /usr/share/wazuh-indexer/certs/wazuh.indexer.pem
plugins.security.ssl.transport.pemkey_filepath: /usr/share/wazuh-indexer/certs/wazuh.indexer.key
plugins.security.ssl.transport.pemtrustedcas_filepath: /usr/share/wazuh-indexer/certs/root-ca.pem
plugins.security.ssl.http.enabled: true
plugins.security.ssl.transport.enforce_hostname_verification: false
plugins.security.ssl.transport.resolve_hostname: false
plugins.security.authcz.admin_dn:
- "CN=admin,OU=Wazuh,O=Wazuh,L=California,C=US"
plugins.security.check_snapshot_restore_write_privileges: true
plugins.security.enable_snapshot_restore_privilege: true
plugins.security.nodes_dn:
- "CN=wazuh.indexer,OU=Wazuh,O=Wazuh,L=California,C=US"
plugins.security.restapi.roles_enabled:
- "all_access"
- "security_rest_api_access"
plugins.security.system_indices.enabled: true
plugins.security.system_indices.indices: [".opendistro-alerting-config", ".opendistro-alerting-alert*", ".opendistro-anomaly-results*", ".opendistro-anomaly-detector*", ".opendistro-anomaly-checkpoints", ".opendistro-anomaly-detection-state", ".opendistro-reports-*", ".opendistro-notifications-*", ".opendistro-notebooks", ".opensearch-observability", ".opendistro-asynchronous-search-response*", ".replication-metadata-store"]
plugins.security.allow_default_init_securityindex: true
cluster.routing.allocation.disk.threshold_enabled: false
+10
View File
@@ -0,0 +1,10 @@
{% set vault_addr = 'https://vault.trez.wtf' %}
{% set secrets_path = 'rinoa-docker/env' %}
hosts:
- 1513629884013:
url: "https://wazuh.manager"
port: 55000
username: wazuh-wui
password: {{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['WAZUH_API_PASSWORD'] }}
run_as: false
@@ -0,0 +1,19 @@
{% set vault_addr = 'https://vault.trez.wtf' %}
{% set secrets_path = 'rinoa-docker/env' %}
ydl_server: # youtube-dl-server specific settings
port: 8080 # Port youtube-dl-server should listen on
host: 0.0.0.0 # IP youtube-dl-server should bind to
debug: False # Enable/Disable debug mode
metadata_db_path: '/youtube-dl/.ydl-metadata.db' # Path to metadata DB
output_playlist: '/youtube-dl/%(title)s [%(id)s].%(ext)s' # Playlist output directory template
update_poll_delay_min: 1440 # Automatically check for updates every 24h
max_log_entries: 100 # Maximum number of job log history to keep
forwarded_allow_ips: None # uvicorn Comma seperated list of IPs to trust with proxy headers.
proxy_headers: True # uvicorn flag Enable/Disable X-Forwarded-Proto, X-Forwarded-For, X-Forwarded-Port to populate remote address info.
ydl_options: # youtube-dl options
output: '/youtube-dl/%(title)s [%(id)s].%(ext)s' # output directory template
cache-dir: '/youtube-dl/.cache' # youtube-dl cache directory
ignore-errors: True # instruct youtube-dl to skip errors
age-limit: 6 # minimal age requirement / parental control setting
@@ -0,0 +1,43 @@
{% set vault_addr = 'https://vault.trez.wtf' %}
{% set secrets_path = 'rinoa-docker/env' %}
# All possible options and their defaults: https://github.com/zitadel/zitadel/blob/main/cmd/defaults.yaml
Log:
Level: 'debug'
# Make ZITADEL accessible over HTTPs, not HTTP
ExternalSecure: true
ExternalDomain: 'id.trez.wtf'
ExternalPort: 443
# If not using the docker compose example, adjust these values for connecting ZITADEL to your PostgreSQL
Database:
postgres:
Host: 'zitadel-pg-db'
Port: 5432
Database: zitadel
User:
SSL:
Mode: 'disable'
Admin:
SSL:
Mode: 'disable'
DefaultInstance:
DomainPolicy:
UserLoginMustBeDomain: false
LogStore:
Access:
Stdout:
Enabled: true
SMTPConfiguration:
# Configuration of the host
SMTP:
# must include the port, like smtp.mailtrap.io:2525. IPv6 is also supported, like [2001:db8::1]:2525
Host: 'postal-smtp:25'
User: {{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['POSTAL_SMTP_AUTH_USER'] }}
Password: {{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['POSTAL_SMTP_AUTH_PASSWORD'] }}
From: 'noreply@trez.wtf'
FromName: 'Zitadel @ Rinoa'
@@ -0,0 +1,13 @@
{% set vault_addr = 'https://vault.trez.wtf' %}
{% set secrets_path = 'rinoa-docker/env' %}
# All possible options and their defaults: https://github.com/zitadel/zitadel/blob/main/cmd/setup/steps.yaml
FirstInstance:
Org:
Human:
# use the loginname root@my-org.my.domain
Username: 'root'
Password: 'RootPassword1!'
Email:
Address: 'charish.patel@trez.wtf'
Verified: true
@@ -0,0 +1,13 @@
{% set vault_addr = 'https://vault.trez.wtf' %}
{% set secrets_path = 'rinoa-docker/env' %}
# If not using the docker compose example, adjust these values for connecting ZITADEL to your PostgreSQL
Database:
postgres:
User:
# If the user doesn't exist already, it is created
Username: 'zitadel'
Password: {{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['ZITADEL_DB_PASSWORD'] }}
Admin:
Username: 'root'
Password: {{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token_cleaned)['secret']['ZITADEL_DB_ADMIN_PASSWORD'] }}
+4
View File
@@ -0,0 +1,4 @@
---
collections:
- name: community.hashi_vault
version: 6.2.0
+20
View File
@@ -0,0 +1,20 @@
---
- name: Deploy Docker Service Configurations
hosts: rinoa
vars:
appdata_base_path: "~/.docker/config/appdata"
tasks:
- name: Ensure target directories exist
ansible.builtin.file:
path: "{{ appdata_base_path }}/{{ (item | basename | regex_replace('\\.j2$', '') | regex_replace('_', '/') | regex_replace('/[^/]+$', '')) }}"
state: directory
mode: '0755'
loop: "{{ query('fileglob', 'app-configs/*.j2') }}"
- name: Deploy configuration templates
ansible.builtin.template:
src: "{{ item }}"
dest: "{{ appdata_base_path }}/{{ item | basename | regex_replace('\\.j2$', '') | regex_replace('_', '/') }}"
mode: '0644'
loop: "{{ query('fileglob', 'app-configs/*.j2') }}"
+14
View File
@@ -0,0 +1,14 @@
vault_addr: "https://vault.trez.wtf"
vault_token: !vault |
$ANSIBLE_VAULT;1.1;AES256
66373236656261373330343233616231386539616566613864306436613635323533336365383232
6636653139393566643265303135343864363632393035380a643566373137316363626438356431
64653237313866316537326565386164373564353166346334663638636531353337303937346466
3539366634393337620a653133336530333963343638643934303336653935363932643665353234
63343565663632633563396131346139666236313863663332386131633831633566373366613738
63343634313539336534666632313736343338623538303434316230383764643432646663356238
61373132633062346436363036333533623931313037306633616662623032616137613734343638
63633031616161623437623935346366636433653435646333313638376161663237323130636433
31383031646666626163323966393738386233346137326231366263316532343563
vault_token_cleaned: "{{ vault_token | regex_replace('\\n', '') }}"
secrets_path: "rinoa-docker/env"
+13
View File
@@ -0,0 +1,13 @@
rinoa:
ansible_host: 192.168.1.254
ansible_python_interpreter: /usr/bin/python3
ansible_ssh_port: 22
ansible_ssh_user: charish
ansible_ssh_pass: !vault |
$ANSIBLE_VAULT;1.1;AES256
38346631616139316365316566386362396661323163306339303635646331373061323531626431
3435373031363739356261656239633835393963636663370a613166653463656337666366633639
37373637326633363430633336646165343764303063663636313835326130663532323037663331
6332353339656134370a353435396532663932313535646636333262353238386331313764633635
63383065623930653134666261353439366535646661383434386261393232373432353937636535
3432336137393737643735346665303832653630316439333565
+12
View File
@@ -0,0 +1,12 @@
---
all:
hosts:
benedikta:
ansible_host: 192.168.1.241
ansible_user: charish
rikku:
ansible_host: 192.168.1.253
ansible_user: pi
rinoa:
ansible_host: 192.168.1.254
ansible_user: charish
+7
View File
@@ -0,0 +1,7 @@
$ANSIBLE_VAULT;1.1;AES256
65353131326537376561616630666531353731653835306564323565383332653437633533313932
6239663065306339366536326432323534303364663862350a353034623936363066303164333434
32666331326332363463383234316136323031626330366132643034376439616339396662636236
3633393039376438630a326138653031656465373966356564336463643465613638313838393166
36626366356266636535613862333631386231626134376264363731353264613261633037646662
6431393837653564366531316332616232336365636533643036
+926 -951
View File
File diff suppressed because it is too large Load Diff
-842
View File
@@ -1,842 +0,0 @@
# Global Settings
COMPOSE_HTTP_TIMEOUT=''
DOCKER_GID=''
DOCKER_HOSTNAME=''
DOCKER_VOLUME_CONFIG=''
DOCKER_VOLUME_STORAGE=''
PGID=''
PUID=''
TZ=''
MY_TLD=''
# END OF DEFAULT SETTINGS
##
## ADDY
##
ADDY_ANONADDY_ADDITIONAL_USERNAME_LIMIT=''
ADDY_ANONADDY_ADMIN_USERNAME=''
ADDY_ANONADDY_ALL_DOMAINS=''
ADDY_ANONADDY_BANDWIDTH_LIMIT=''
ADDY_ANONADDY_DKIM_SELECTOR=''
ADDY_ANONADDY_DKIM_SIGNING_KEY=''
ADDY_ANONADDY_DNS_RESOLVER=''
ADDY_ANONADDY_DOMAIN=''
ADDY_ANONADDY_HOSTNAME=''
ADDY_ANONADDY_LIMIT=''
ADDY_ANONADDY_NEW_ALIAS_LIMIT=''
ADDY_ANONADDY_RETURN_PATH=''
ADDY_ANONADDY_SECRET=''
ADDY_ANONADDY_SIGNING_KEY_FINGERPRINT=''
ADDY_APP_KEY=''
ADDY_APP_URL=''
ADDY_DB_PASSWORD=''
ADDY_MAIL_ENCRYPTION=''
ADDY_MAIL_FROM_ADDRESS=''
ADDY_MAIL_FROM_NAME=''
ADDY_POSTFIX_DEBUG=''
ADDY_POSTFIX_MESSAGE_SIZE_LIMIT=''
ADDY_POSTFIX_RELAYHOST=''
ADDY_POSTFIX_RELAYHOST_AUTH_ENABLE=''
ADDY_POSTFIX_SMTPD_TLS_CERT_FILE=''
ADDY_POSTFIX_SMTPD_TLS_KEY_FILE=''
ADDY_POSTFIX_SPAMHAUS_DQS_KEY=''
ADDY_REDIS_PASSWORD=''
ADDY_RSPAMD_NO_LOCAL_ADDRS=''
ADDY_RSPAMD_WEB_PASSWORD=''
##
## ADGUARD
##
ADGUARD_CONTAINER_NAME=''
ADGUARD_ENABLED=''
ADGUARD_ENVIRONMENT_SERVERIP=''
ADGUARD_NETWORK_MODE=''
ADGUARD_PORT_3000=''
ADGUARD_PORT_443=''
ADGUARD_PORT_53=''
ADGUARD_PORT_67=''
ADGUARD_PORT_68=''
ADGUARD_PORT_80=''
ADGUARD_PORT_853=''
ADGUARD_RESTART=''
ADGUARD_TAG=''
##
## ADGUARD
##
ADGUARD_CF_TUNNEL_PASSWORD=''
ADGUARD_PASSWORD=''
##
## ANYTHINGLLM
##
ANYTHINGLLM_JWT_SECRET=''
##
## APPRISE
##
APPRISE_CONTAINER_NAME=''
APPRISE_ENABLED=''
APPRISE_NETWORK_MODE=''
APPRISE_PORT_8000=''
APPRISE_RESTART=''
APPRISE_TAG=''
##
## AUDIOBOOKSHELF
##
AUDIOBOOKSHELF_CONTAINER_NAME=''
AUDIOBOOKSHELF_ENABLED=''
AUDIOBOOKSHELF_NETWORK_MODE=''
AUDIOBOOKSHELF_PORT_80=''
AUDIOBOOKSHELF_RESTART=''
AUDIOBOOKSHELF_TAG=''
##
## AUDIOBOOKSHELF
##
AUDIOBOOKSHELF_ROOT_API_KEY=''
##
## AUTHELIA
##
AUTHELIA_AUTH_BIND_LDAP_PASSWORD=''
AUTHELIA_JWT_SECRET=''
AUTHELIA_SESSION_SECRET=''
AUTHELIA_STORAGE_ENCRYPTION_KEY=''
AUTHELIA_STORAGE_POSTGRES_PASSWORD=''
##
## BAZARR
##
BAZARR_CONTAINER_NAME=''
BAZARR_ENABLED=''
BAZARR_NETWORK_MODE=''
BAZARR_PORT_6767=''
BAZARR_RESTART=''
BAZARR_TAG=''
BAZARR_API_KEY=''
##
## BITMAGNET
##
BITMAGNET_POSTGRESQL_PASSWORD=''
##
## BITWARDEN
##
BITWARDEN_CONTAINER_NAME=''
BITWARDEN_ENABLED=''
BITWARDEN_ENVIRONMENT_ADMIN_TOKEN=''
BITWARDEN_ENVIRONMENT_DATABASE_URL=''
BITWARDEN_ENVIRONMENT_DISABLE_ADMIN_TOKEN=''
BITWARDEN_ENVIRONMENT_DOMAIN=''
BITWARDEN_ENVIRONMENT_ENABLE_DB_WAL=''
BITWARDEN_ENVIRONMENT_INVITATIONS_ALLOWED=''
BITWARDEN_ENVIRONMENT_SHOW_PASSWORD_HINT=''
BITWARDEN_ENVIRONMENT_SIGNUPS_ALLOWED=''
BITWARDEN_ENVIRONMENT_SIGNUPS_VERIFY=''
BITWARDEN_ENVIRONMENT_WEBSOCKET_ENABLE=''
BITWARDEN_NETWORK_MODE=''
BITWARDEN_PORT_3012=''
BITWARDEN_PORT_80=''
BITWARDEN_RESTART=''
BITWARDEN_TAG=''
##
## CHROMIUM
##
CHROMIUM_TOKEN=''
##
## CLOUDFLARE
##
CLOUDFLARE_ACCOUNT_ID=''
CLOUDFLARE_DNS_API_TOKEN=''
CLOUDFLARE_ZONE_ID=''
##
## CLOUDFLAREDDNS
##
CLOUDFLAREDDNS_CONTAINER_NAME=''
CLOUDFLAREDDNS_ENABLED=''
CLOUDFLAREDDNS_ENVIRONMENT_APIKEY=''
CLOUDFLAREDDNS_ENVIRONMENT_APITOKEN=''
CLOUDFLAREDDNS_ENVIRONMENT_ARGS=''
CLOUDFLAREDDNS_ENVIRONMENT_DETECTION_MODE=''
CLOUDFLAREDDNS_ENVIRONMENT_HOSTS=''
CLOUDFLAREDDNS_ENVIRONMENT_INTERVAL=''
CLOUDFLAREDDNS_ENVIRONMENT_LOG_LEVEL=''
CLOUDFLAREDDNS_ENVIRONMENT_RECORDTYPES=''
CLOUDFLAREDDNS_ENVIRONMENT_USER=''
CLOUDFLAREDDNS_ENVIRONMENT_ZONES=''
CLOUDFLAREDDNS_RESTART=''
CLOUDFLAREDDNS_TAG=''
##
## CROWDSEC
##
CROWDSEC_API_KEY=''
CROWDSEC_LOCAL_API_KEY=''
##
## DELUGEVPN
##
DELUGEVPN_CONTAINER_NAME=''
DELUGEVPN_ENABLED=''
DELUGEVPN_ENVIRONMENT_ENABLE_PRIVOXY=''
DELUGEVPN_ENVIRONMENT_LAN_NETWORK=''
DELUGEVPN_ENVIRONMENT_NAME_SERVERS=''
DELUGEVPN_ENVIRONMENT_VPN_CLIENT=''
DELUGEVPN_ENVIRONMENT_VPN_ENABLE=''
DELUGEVPN_ENVIRONMENT_VPN_INPUT_PORTS=''
DELUGEVPN_ENVIRONMENT_VPN_OPTIONS=''
DELUGEVPN_ENVIRONMENT_VPN_OUTPUT_PORTS=''
DELUGEVPN_ENVIRONMENT_VPN_PASS=''
DELUGEVPN_ENVIRONMENT_VPN_PROV=''
DELUGEVPN_ENVIRONMENT_VPN_USER=''
DELUGEVPN_NETWORK_MODE=''
DELUGEVPN_PORT_58846=''
DELUGEVPN_PORT_58946=''
DELUGEVPN_PORT_8112=''
DELUGEVPN_PORT_8118=''
DELUGEVPN_RESTART=''
DELUGEVPN_TAG=''
##
## DELUGEVPN
##
DELUGEVPN_PASSWORD=''
DELUGEVPN_PORT_51413=''
DELUGEVPN_PORT_6881=''
##
## DUPLICATI
##
DUPLICATI_CONTAINER_NAME=''
DUPLICATI_ENABLED=''
DUPLICATI_NETWORK_MODE=''
DUPLICATI_PORT_8200=''
DUPLICATI_RESTART=''
DUPLICATI_TAG=''
DUPLICATI_VOLUME_BACKUPSDIR=''
DUPLICATI_VOLUME_SOURCEDIR=''
##
## DUPLICATI
##
DUPLICATI_CF_TUNNEL_PASSWORD=''
##
## EMBY
##
EMBY_CONTAINER_NAME=''
EMBY_ENABLED=''
EMBY_NETWORK_MODE=''
EMBY_PORT_8096=''
EMBY_PORT_8920=''
EMBY_RESTART=''
EMBY_TAG=''
EMBY_VOLUME_TRANSCODEDIR=''
##
## EMBY
##
EMBY_HOMEPAGE_API_KEY=''
##
## FLARESOLVERR
##
FLARESOLVERR_CONTAINER_NAME=''
FLARESOLVERR_ENABLED=''
FLARESOLVERR_ENVIRONMENT_CAPTCHA_SOLVER=''
FLARESOLVERR_ENVIRONMENT_LOG_HTML=''
FLARESOLVERR_ENVIRONMENT_LOG_LEVEL=''
FLARESOLVERR_NETWORK_MODE=''
FLARESOLVERR_PORT_8191=''
FLARESOLVERR_RESTART=''
FLARESOLVERR_TAG=''
##
## GHOST
##
GHOST_DB_PASSWORD=''
GHOST_DB_USER=''
##
## GITEA
##
GITEA_HOMEPAGE_API_KEY=''
GITEA_PG_DB_PASSWORD=''
GITEA_RUNNER_REGISTRATION_TOKEN=''
##
## GLUETUN
##
GLUETUN_SERVER_REGIONS=''
##
## GOTIFY
##
GOTIFY_HOMEPAGE_CLIENT_KEY=''
GOTIFY_PASSWORD=''
##
## GRAFANA
##
GRAFANA_CONTAINER_NAME=''
GRAFANA_ENABLED=''
GRAFANA_ENVIRONMENT_GF_INSTALL_PLUGINS=''
GRAFANA_NETWORK_MODE=''
GRAFANA_PORT_3000=''
GRAFANA_RESTART=''
GRAFANA_TAG=''
##
## GRAFANA
##
GRAFANA_ADMIN_PASSWORD=''
GRAFANA_MIMIR_HTTP_AUTH_PASSWORD=''
##
## GUID
##
GUID=''
##
## HORTUSFOX
##
HORTUSFOX_ADMIN_PASSWORD=''
HORTUSFOX_DB_PASSWORD=''
##
## HUGINN
##
HUGINN_CONTAINER_NAME=''
HUGINN_ENABLED=''
HUGINN_ENVIRONMENT_DATABASE_HOST=''
HUGINN_ENVIRONMENT_DATABASE_NAME=''
HUGINN_ENVIRONMENT_DATABASE_PASSWORD=''
HUGINN_ENVIRONMENT_DATABASE_PORT=''
HUGINN_ENVIRONMENT_DATABASE_USERNAME=''
HUGINN_NETWORK_MODE=''
HUGINN_PORT_3000=''
HUGINN_RESTART=''
HUGINN_TAG=''
##
## IN
##
IN_APP_KEY=''
IN_MYSQL_PASSWORD=''
IN_PASSWORD=''
##
## JAN
##
JAN_AI_S3_ACCESS_KEY=''
JAN_AI_S3_SECRET_KEY=''
##
## JITSI
##
JITSI__ADMIN_DB_PASSWORD=''
JITSI__ADMIN_JWT_SECRET=''
JITSI__ETHERPAD_DEFAULT_PAD_TEXT=''
JITSI__ETHERPAD_SKIN_NAME=''
JITSI__ETHERPAD_SKIN_VARIANTS=''
JITSI__ETHERPAD_TITLE=''
JITSI__ETHERPAD_URL_BASE=''
JITSI__HTTP_PORT=''
JITSI__HTTPS_PORT=''
JITSI__JIBRI_RECORDER_PASSWORD=''
JITSI__JIBRI_XMPP_PASSWORD=''
JITSI__JICOFO_AUTH_PASSWORD=''
JITSI__JIGAGI_SIP_PASSWORD=''
JITSI__JIGAGI_SIP_PORT=''
JITSI__JIGAGI_SIP_SERVER=''
JITSI__JIGAGI_SIP_TRANSPORT=''
JITSI__JIGAGI_SIP_URI=''
JITSI__JIGASI_XMPP_PASSWORD=''
JITSI__JVB_AUTH_PASSWORD=''
JITSI__PUBLIC_URL=''
JITSI__SIP_URI=''
JITSI__TZ=''
JITSI__WEBSOCKET_SECRET=''
##
## JOPLIN
##
JOPLIN_APP_BASE_URL=''
JOPLIN_APP_PORT=''
JOPLIN_POSTGRES_DATABASE=''
JOPLIN_POSTGRES_PASSWORD=''
JOPLIN_POSTGRES_PORT=''
JOPLIN_POSTGRES_USER=''
JOPLIN_S3_ACCESS_KEY=''
JOPLIN_S3_SECRET_KEY=''
##
## KEYCLOAK
##
KEYCLOAK_ADMIN_PASSWORD=''
##
## LAN
##
LAN_NETWORK=''
##
## LASTFM
##
LASTFM_API_KEY=''
LASTFM_API_SECRET=''
LASTFM_PASSWORD=''
LASTFM_USERNAME=''
##
## LIBRESPEED
##
LIBRESPEED_CONTAINER_NAME=''
LIBRESPEED_ENABLED=''
LIBRESPEED_ENVIRONMENT_DB_HOSTNAME=''
LIBRESPEED_ENVIRONMENT_DB_NAME=''
LIBRESPEED_ENVIRONMENT_DB_PASSWORD=''
LIBRESPEED_ENVIRONMENT_DB_TYPE=''
LIBRESPEED_ENVIRONMENT_DB_USERNAME=''
LIBRESPEED_ENVIRONMENT_PASSWORD=''
LIBRESPEED_NETWORK_MODE=''
LIBRESPEED_PORT_80=''
LIBRESPEED_RESTART=''
LIBRESPEED_TAG=''
##
## LIDARR
##
LIDARR_CONTAINER_NAME=''
LIDARR_ENABLED=''
LIDARR_NETWORK_MODE=''
LIDARR_PORT_8686=''
LIDARR_RESTART=''
LIDARR_TAG=''
##
## LIDARR
##
LIDARR_API_KEY=''
##
## LLDAP
##
LLDAP_JWT_SECRET=''
LLDAP_KEY_SEED=''
##
## LOCALAI
##
LOCALAI_API_KEY=''
##
## MALOJA
##
MALOJA_FORCE_PASSWORD=''
##
## MARIADB
##
MARIADB_CONTAINER_NAME=''
MARIADB_ENABLED=''
MARIADB_ENVIRONMENT_MYSQL_ROOT_PASSWORD=''
MARIADB_NETWORK_MODE=''
MARIADB_PORT_3306=''
MARIADB_RESTART=''
MARIADB_TAG=''
##
## MATTERMOST
##
MATTERMOST_AWS_S3_ACCESSKEY=''
MATTERMOST_AWS_S3_SECRETKEY=''
MATTERMOST_POSTGRES_CONNECTION_URI=''
MATTERMOST_POSTGRES_PASSWORD=''
##
## MAYBE
##
MAYBE_POSTGRES_PASSWORD=''
MAYBE_SECRET_KEY_BASE=''
##
## MEDUSAJS
##
MEDUSAJS_COOKIE_SECRET=''
MEDUSAJS_JWT_TOKEN=''
MEDUSAJS_POSTGRES_PASSWORD=''
MEDUSAJS_S3_ACCESS_KEY=''
MEDUSAJS_S3_SECRET_KEY=''
##
## MINIO
##
MINIO_MIMIR_STORAGE_ACCESS_KEY=''
MINIO_MIMIR_STORAGE_SECRET_KEY=''
MINIO_ROOT_PASSWORD=''
##
## MONGO
##
MONGO_INITDB_ROOT_PASSWORD=''
MONGO_INITDB_ROOT_USERNAME=''
##
## NAVIDROME
##
NAVIDROME_PASSWORD=''
NAVIDROME_USERNAME=''
##
## NEXTCLOUD
##
NEXTCLOUD_CONTAINER_NAME=''
NEXTCLOUD_ENABLED=''
NEXTCLOUD_NETWORK_MODE=''
NEXTCLOUD_PORT_443=''
NEXTCLOUD_RESTART=''
NEXTCLOUD_TAG=''
NEXTCLOUD_VOLUME_DATADIR=''
##
## OMBI
##
OMBI_CONTAINER_NAME=''
OMBI_ENABLED=''
OMBI_NETWORK_MODE=''
OMBI_PORT_3579=''
OMBI_RESTART=''
OMBI_TAG=''
OMBI_API_KEY=''
##
## OPENGIST
##
OPENGIST_GITEA_CLIENT_KEY=''
OPENGIST_GITEA_SECRET=''
##
## PAPERLESS
##
PAPERLESS_DBPASS=''
PAPERLESS_SECRET_KEY=''
##
## PLAUSIBLE
##
PLAUSIBLE_PG_PASSWORD=''
PLAUSIBLE_SECRET_KEY_BASE=''
PLAUSIBLE_TOTP_VAULT_KEY=''
##
## PODINDEX
##
PODINDEX_API_KEY=''
PODINDEX_API_SECRET=''
##
## PORTAINER
##
PORTAINER_CONTAINER_NAME=''
PORTAINER_ENABLED=''
PORTAINER_NETWORK_MODE=''
PORTAINER_PORT_9000=''
PORTAINER_RESTART=''
PORTAINER_TAG=''
PORTAINER_VOLUME_DOCKER_SOCKET=''
PORTAINER_API_KEY=''
##
## POSTAL
##
POSTAL_MYSQL_PASSWORD=''
POSTAL_SMTP_AUTH_PASSWORD=''
POSTAL_SMTP_AUTH_USER=''
##
## POSTGRES
##
POSTGRES_HOST=''
POSTGRES_PASSWORD=''
POSTGRES_USER=''
##
## PROWLARR
##
PROWLARR_CONTAINER_NAME=''
PROWLARR_ENABLED=''
PROWLARR_NETWORK_MODE=''
PROWLARR_PORT_9696=''
PROWLARR_RESTART=''
PROWLARR_TAG=''
PROWLARR_API_KEY=''
##
## RADARR
##
RADARR_CONTAINER_NAME=''
RADARR_ENABLED=''
RADARR_NETWORK_MODE=''
RADARR_PORT_7878=''
RADARR_RESTART=''
RADARR_TAG=''
##
## RADARR
##
RADARR_API_KEY=''
##
## REACTIVE
##
REACTIVE_RESUME_ACCESS_TOKEN_SECRET=''
REACTIVE_RESUME_PGSQL_PASSWORD=''
REACTIVE_RESUME_REFRESH_TOKEN_SECRET=''
REACTIVE_RESUME_S3_ACCESS_KEY=''
REACTIVE_RESUME_S3_SECRET_KEY=''
##
## READARR
##
READARR_CONTAINER_NAME=''
READARR_ENABLED=''
READARR_NETWORK_MODE=''
READARR_PORT_8787=''
READARR_RESTART=''
READARR_TAG=''
READARR_API_KEY=''
##
## REMMINA
##
REMMINA_CF_TUNNEL_ID=''
REMMINA_CF_TUNNEL_PASSWORD=''
REMMINA_USER_PASSWORD=''
##
## RUSTDESK
##
RUSTDESK_CUSTOM_PASSWORD=''
##
## SABNZBDVPN
##
SABNZBDVPN_CONTAINER_NAME=''
SABNZBDVPN_ENABLED=''
SABNZBDVPN_ENVIRONMENT_ENABLE_PRIVOXY=''
SABNZBDVPN_ENVIRONMENT_LAN_NETWORK=''
SABNZBDVPN_ENVIRONMENT_NAME_SERVERS=''
SABNZBDVPN_ENVIRONMENT_VPN_CLIENT=''
SABNZBDVPN_ENVIRONMENT_VPN_ENABLE=''
SABNZBDVPN_ENVIRONMENT_VPN_INPUT_PORTS=''
SABNZBDVPN_ENVIRONMENT_VPN_OPTIONS=''
SABNZBDVPN_ENVIRONMENT_VPN_OUTPUT_PORTS=''
SABNZBDVPN_ENVIRONMENT_VPN_PASS=''
SABNZBDVPN_ENVIRONMENT_VPN_PROV=''
SABNZBDVPN_ENVIRONMENT_VPN_USER=''
SABNZBDVPN_NETWORK_MODE=''
SABNZBDVPN_PORT_8080=''
SABNZBDVPN_PORT_8090=''
SABNZBDVPN_PORT_8118=''
SABNZBDVPN_RESTART=''
SABNZBDVPN_TAG=''
SABNZBDVPN_API_KEY=''
##
## SCRAPERR
##
SCRAPERR_SECRET_KEY=''
##
## SCRUTINY
##
SCRUTINY_CF_TUNNEL_PASSWORD=''
##
## SEARXNG
##
SEARXNG_BASE_URL=''
##
## SLSKD
##
SLSKD_PASSWORD=''
##
## SONARQUBE
##
SONARQUBE_POSTGRES_PASSWORD=''
SONARQUBE_LDAP_BIND_PASSWORD=''
##
## SONARR
##
SONARR_CONTAINER_NAME=''
SONARR_ENABLED=''
SONARR_NETWORK_MODE=''
SONARR_PORT_8989=''
SONARR_RESTART=''
SONARR_TAG=''
SONARR_API_KEY=''
##
## SWAG
##
SWAG_CONTAINER_NAME=''
SWAG_ENABLED=''
SWAG_ENVIRONMENT_DNSPLUGIN=''
SWAG_ENVIRONMENT_EMAIL=''
SWAG_ENVIRONMENT_EXTRA_DOMAINS=''
SWAG_ENVIRONMENT_ONLY_SUBDOMAINS=''
SWAG_ENVIRONMENT_SUBDOMAINS=''
SWAG_ENVIRONMENT_URL=''
SWAG_ENVIRONMENT_VALIDATION=''
SWAG_NETWORK_MODE=''
SWAG_PORT_443=''
SWAG_PORT_80=''
SWAG_RESTART=''
SWAG_TAG=''
##
## SWAG
##
SWAG_CF_TUNNEL_ID=''
SWAG_CF_TUNNEL_PASSWORD=''
SWAG_DUCKDNSTOKEN=''
SWAG_MAXMINDDB_LICENSE_KEY=''
##
## TANDOOR
##
TANDOOR_API_TOKEN=''
TANDOOR_POSTGRES_PASSWORD=''
TANDOOR_SECRET_KEY=''
##
## TMDB
##
TMDB_API_KEY=''
##
## TRACCAR
##
TRACCAR_POSTGRES_DATABASE=''
TRACCAR_POSTGRES_PASSWORD=''
TRACCAR_POSTGRES_USER=''
##
## UPTIME
##
UPTIME_KUMA_PASSWORD=''
UPTIME_KUMA_USERNAME=''
##
## UPTIMEKUMA
##
UPTIMEKUMA_CONTAINER_NAME=''
UPTIMEKUMA_ENABLED=''
UPTIMEKUMA_NETWORK_MODE=''
UPTIMEKUMA_PORT_3001=''
UPTIMEKUMA_RESTART=''
UPTIMEKUMA_TAG=''
##
## VAULT
##
VAULT_HASHICORP_AWS_ACCESS_KEY_ID=''
VAULT_HASHICORP_AWS_SECRET_ACCESS_KEY=''
##
## VIRUS
##
VIRUS_TOTAL_API_KEY=''
##
## WALLABAG
##
WALLABAG_DB=''
WALLABAG_DB_PASSWORD=''
##
## WATCHTOWER
##
WATCHTOWER_CONTAINER_NAME=''
WATCHTOWER_ENABLED=''
WATCHTOWER_ENVIRONMENT_CLEANUP=''
WATCHTOWER_ENVIRONMENT_INCLUDE_STOPPED=''
WATCHTOWER_ENVIRONMENT_MONITOR_ONLY=''
WATCHTOWER_ENVIRONMENT_NOTIFICATION_TEMPLATE=''
WATCHTOWER_ENVIRONMENT_NOTIFICATION_URL=''
WATCHTOWER_ENVIRONMENT_NOTIFICATIONS=''
WATCHTOWER_ENVIRONMENT_NOTIFICATIONS_LEVEL=''
WATCHTOWER_ENVIRONMENT_REPO_PASS=''
WATCHTOWER_ENVIRONMENT_REPO_USER=''
WATCHTOWER_ENVIRONMENT_SCHEDULE=''
WATCHTOWER_ENVIRONMENT_TIMEOUT=''
WATCHTOWER_NETWORK_MODE=''
WATCHTOWER_RESTART=''
WATCHTOWER_TAG=''
WATCHTOWER_VOLUME_DOCKER_SOCKET=''
##
## WATCHTOWER
##
WATCHTOWER_HTTP_API_TOKEN=''
WATCHTOWER_NOTIFICATION_GOTIFY_TLS_SKIP_VERIFY=''
WATCHTOWER_NOTIFICATION_GOTIFY_TOKEN=''
WATCHTOWER_NOTIFICATION_GOTIFY_URL=''
##
## WAZUH
##
WAZUH_API_PASSWORD=''
WAZUH_INDEXER_PASSWORD=''
WAZUH_KIBANA_PASSWORD=''
WAZUH_VERSION=''
##
## YOUR
##
YOUR_SPOTIFY_ID=''
YOUR_SPOTIFY_PORT_443=''
YOUR_SPOTIFY_PORT_80=''
YOUR_SPOTIFY_SECRET=''
##
## YOUTUBEDL
##
YOUTUBEDL_CONTAINER_NAME=''
YOUTUBEDL_ENABLED=''
YOUTUBEDL_ENVIRONMENT_CONFIG_PATH=''
YOUTUBEDL_ENVIRONMENT_DEBUG=''
YOUTUBEDL_NETWORK_MODE=''
YOUTUBEDL_PORT_8080=''
YOUTUBEDL_RESTART=''
YOUTUBEDL_TAG=''
##
## ZAMMAD
##
ZAMMAD_ELASTICSEARCH_VERSION=''
ZAMMAD_IMAGE_REPO=''
ZAMMAD_MEMCACHE_SERVERS=''
ZAMMAD_MEMCACHE_VERSION=''
ZAMMAD_POSTGRES_DB=''
ZAMMAD_POSTGRES_HOST=''
ZAMMAD_POSTGRES_PASS=''
ZAMMAD_POSTGRES_PORT=''
ZAMMAD_POSTGRES_USER=''
ZAMMAD_POSTGRES_VERSION=''
ZAMMAD_POSTGRESQL_OPTIONS=''
ZAMMAD_REDIS_URL=''
ZAMMAD_REDIS_VERSION=''
ZAMMAD_RESTART=''
ZAMMAD_S3_ACCESS_KEY=''
ZAMMAD_S3_SECRET_KEY=''
ZAMMAD_VERSION=''