From 47dfe491b4c9adc5ce9eb2bc49b96c00b235fdd7 Mon Sep 17 00:00:00 2001 From: Stephen Davis <68449281+nativeit@users.noreply.github.com> Date: Thu, 20 Jan 2022 18:24:01 -0500 Subject: Added new app (Netbox) (#605) * Added new app (Netbox) Added new application--Netbox is an IP address and datacenter infrastructure management platform originally developed by engineers at Digital Ocean. It is particularly helpful for anyone managing medium to large networks. Further documentation is linked in the deployment information, the script has been formatted using Prettier, and its associated logo has been formatted to match Caprover's layout. * Updated formatting per Caprover .prettierrc * Added tag-based timer app (traggo) Traggo is a tag-based time tracking tool. In Traggo there are no tasks, only tagged time spans. With tags, Traggo tries to be as customizable as possible, ie-if you work on different projects you could add a `project` tag. If you like to see statistics from the different things you do, you could add tags with values like `email`, `programming`, `meeting`. You can do it just as you like. --- public/v4/apps/netbox.yml | 119 +++++++++++++++++++++++++++++++++++++++++++++ public/v4/apps/traggo.yml | 39 +++++++++++++++ public/v4/logos/netbox.png | Bin 0 -> 15471 bytes public/v4/logos/traggo.png | Bin 0 -> 60199 bytes 4 files changed, 158 insertions(+) create mode 100644 public/v4/apps/netbox.yml create mode 100644 public/v4/apps/traggo.yml create mode 100644 public/v4/logos/netbox.png create mode 100644 public/v4/logos/traggo.png diff --git a/public/v4/apps/netbox.yml b/public/v4/apps/netbox.yml new file mode 100644 index 0000000..f107bc1 --- /dev/null +++ b/public/v4/apps/netbox.yml @@ -0,0 +1,119 @@ +captainVersion: 4 +services: + $$cap_appname-db: + image: postgres:$$cap_pg_version + volumes: + - $$cap_appname-db-data:/var/lib/postgresql/data + restart: always + environment: + POSTGRES_USER: $$cap_pg_user + POSTGRES_PASSWORD: $$cap_pg_pass + POSTGRES_DB: $$cap_pg_name + PGDATA: /var/lib/postgresql/data + + caproverExtra: + notExposeAsWebApp: 'true' + + $$cap_appname-redis: + volumes: + - $$cap_appname-redis-data:/data + restart: always + environment: + REDIS_PASSWORD: $$cap_redis_password + caproverExtra: + dockerfileLines: + - FROM redis:$$cap_redis_version + - CMD exec redis-server --requirepass "$$cap_redis_password" + notExposeAsWebApp: 'true' + + $$cap_appname: + depends_on: + - $$cap_appname-db + - $$cap_appname-redis + image: lscr.io/linuxserver/netbox:$$cap_netbox_version + volumes: + - $$cap_appname-data:/config + - $$cap_appname-scripts:/app/netbox/scripts + - $$cap_appname-reports:/app/netbox/netbox/reports + restart: unless-stopped + environment: + TZ: $$cap_time_zone + SUPERUSER_EMAIL: $$cap_superuser_email + SUPERUSER_PASSWORD: $$cap_superuser_pass + ALLOWED_HOST: $$cap_appname.$$cap_root_domain + DB_NAME: $$cap_pg_name + DB_USER: $$cap_pg_user + DB_PASSWORD: $$cap_pg_pass + DB_HOST: srv-captain--$$cap_appname-db + DB_PORT: 5432 + REDIS_HOST: srv-captain--$$cap_appname-redis + REDIS_PORT: 6379 + REDIS_PASSWORD: $$cap_redis_password + REDIS_DB_TASK: 0 + REDIS_DB_CACHE: 1 + + caproverExtra: + containerHttpPort: '8000' + +caproverOneClickApp: + variables: + - id: $$cap_pg_version + label: Postgres Version Tag + defaultValue: 12.2 + description: 'Check out the Docker page for valid tags https://hub.docker.com/r/library/postgres/tags/.' + validRegex: /^([^\s^\/])+$/ + - id: $$cap_pg_user + label: Postgres Username + defaultValue: postgres + - id: $$cap_pg_pass + label: Postgres Password + defaultValue: $$cap_gen_random_hex(12) + description: 'Password must be at least 12 characters. Please use a random string.' + - id: $$cap_pg_name + label: Postgres Database + defaultValue: netbox-pgsql + - id: $$cap_redis_version + label: Redis Version Tag + description: 'Check out the Docker page for valid tags: https://hub.docker.com/_/redis?tab=tags.' + defaultValue: 5 + validRegex: /^([^\s^\/])+$/ + - id: $$cap_redis_password + label: Redis Password + validRegex: /^(\w|[^\s"])+$/ + defaultValue: $$cap_gen_random_hex(12) + - id: $$cap_netbox_version + label: Netbox Version Tag + description: 'Check out the Docker page for valid tags: https://hub.docker.com/r/linuxserver/netbox/tags.' + defaultValue: 3.1.6 + validRegex: /^([^\s^\/])+$/ + - id: $$cap_time_zone + label: Time Zone + defaultValue: America/New_York + - id: $$cap_superuser_email + label: Email for user "admin" + description: 'Email address for the Netbox admin account.' + defaultValue: user@example.tld + - id: $$cap_superuser_pass + label: Admin Password + description: 'Password for user "admin".' + defaultValue: $$cap_gen_random_hex(12) + + instructions: + start: IP address and datacenter infrastructure management. + + --- + + Find out more at https://netbox.dev. This app's container image was built using https://docs.linuxserver.io/images/docker-netbox. + + end: >- + Netbox is deployed, it might take few moments before it's fully started. + + Login with user `admin` and password `$$cap_superuser_pass`. + + + Volumes created for `config`, `scripts`, and `reports` are available in your default folder for Caprover volumes, typically `/var/lib/docker/volumes` + + displayName: Netbox + isOfficial: false + description: IP address management (IPAM) and data center infrastructure management (DCIM) tool + documentation: 'Read more at: https://docs.linuxserver.io/images/docker-netbox' diff --git a/public/v4/apps/traggo.yml b/public/v4/apps/traggo.yml new file mode 100644 index 0000000..f39d659 --- /dev/null +++ b/public/v4/apps/traggo.yml @@ -0,0 +1,39 @@ +captainVersion: 4 +services: + $$cap_appname: + volumes: + - $$cap_appname-data:/opt/traggo/data + restart: always + environment: + TRAGGO_DEFAULT_USER_NAME: $$cap_traggo_user + TRAGGO_DEFAULT_USER_PASS: $$cap_traggo_pw + caproverExtra: + containerHttpPort: '3030' + dockerfileLines: + - FROM traggo/server:$$cap_traggo_version +caproverOneClickApp: + variables: + - id: $$cap_traggo_version + label: Traggo Version Tag + description: 'Check out their Docker page for the valid tags: https://hub.docker.com/r/traggo/server/tags' + defaultValue: '0.2.1' + validRegex: /^([^\s^\/])+$/ + - id: $$cap_traggo_user + label: Default User's Username + validRegex: /^([a-zA-Z0-9])+$/ + - id: $$cap_traggo_pw + label: Default User's Password + validRegex: /^(\w|[^\s"])+$/ + instructions: + start: | + Traggo is a tag-based time tracking tool. In Traggo there are no tasks, only tagged time spans. This container is multiarch and supports `amd64`, `386`, `ppc641e`, `s390x`, `arm64`, and `armv7` (Rasberry Pi). + + Enter your desired app name, username, and password and click on next. It will take about a minute for the process to finish. + end: | + Traggo has been deployed and can be accessed at **$$cap_appname.$$cap_root_domain**. Enabling https is recommended. + + The `$$cap_appname-data` volume contains the sqlite database. + displayName: 'Traggo' + isOfficial: true + description: Traggo is a simple tag-based time tracking tool. In Traggo there are no tasks, only tagged time spans. + documentation: Taken from https://traggo.net/install/ diff --git a/public/v4/logos/netbox.png b/public/v4/logos/netbox.png new file mode 100644 index 0000000..d5cf04c Binary files /dev/null and b/public/v4/logos/netbox.png differ diff --git a/public/v4/logos/traggo.png b/public/v4/logos/traggo.png new file mode 100644 index 0000000..2208b4c Binary files /dev/null and b/public/v4/logos/traggo.png differ -- cgit v1.2.3