diff --git a/public/v4/apps/ackee.yml b/public/v4/apps/ackee.yml new file mode 100644 index 0000000..d19ed50 --- /dev/null +++ b/public/v4/apps/ackee.yml @@ -0,0 +1,59 @@ +captainVersion: 4 +services: + # Ackee + $$cap_appname: + depends_on: + - $$cap_appname-mongodb + image: electerious/ackee:$$cap_ackee_version + restart: always + environment: + WAIT_HOSTS: srv-captain--$$cap_appname-mongodb:27017 + ACKEE_MONGODB: mongodb://srv-captain--$$cap_appname-mongodb/ackee + ACKEE_USERNAME: $$cap_ackee_username + ACKEE_PASSWORD: $$cap_ackee_passwd + ACKEE_ALLOW_ORIGIN: $$cap_ackee_access_origin + caproverExtra: + containerHttpPort: '3000' + # MongoDB + $$cap_appname-mongodb: + image: mongo:$$cap_mongo_version + volumes: + - $$cap_appname-db-data:/data/db + restart: always + caproverExtra: + notExposeAsWebApp: 'true' +caproverOneClickApp: + variables: + - id: $$cap_ackee_version + label: Ackee Version + defaultValue: '2.3.0' + description: Checkout their docker page for the valid tags https://hub.docker.com/r/electerious/ackee/tags + validRegex: /^([^\s^\/])+$/ + - id: $$cap_ackee_username + label: Ackee Admin User + defaultValue: '' + description: 'Username for Ackee' + - id: $$cap_ackee_passwd + label: Ackee Admin Password + defaultValue: '' + description: 'Your super secret Password for Ackee' + validRegex: /^([^\s^\/])+$/ + - id: $$cap_ackee_access_origin + label: CORS headers + defaultValue: 'https://example.com,https://example2.com' + description: 'Ackee requires correct CORS headers. pls read https://docs.ackee.electerious.com/#/docs/CORS%20headers#heroku-or-platforms-as-a-service-configuration' + - id: $$cap_mongo_version + label: MongoDB Version + defaultValue: '4.0.20' + description: Checkout their docker page for the valid tags https://hub.docker.com/r/library/mongo/tags/ + validRegex: /^([^\s^\/])+$/ + instructions: + start: >- + Ackee is a self-hosted analytics tool that cares about privacy. We believe that you don't need to track every aspect of your visitors. Ackee keeps tracked data anonymized to avoid that users are identifiable, while still providing helpful insights. It's the right tool for everyone who doesn't need a full-featured marketing analytics platform like Google Analytics or Matomo. + end: >- + Aaaand you're done! ๐Ÿ˜„ + Your service is available at http://$$cap_appname.$$cap_root_domain + displayName: 'Ackee' + isOfficial: true + description: Self-hosted, Node.js based analytics tool for those who care about privacy. + documentation: Taken from https://hub.docker.com/r/electerious/ackee diff --git a/public/v4/apps/chevereto.yml b/public/v4/apps/chevereto.yml new file mode 100644 index 0000000..6062e1b --- /dev/null +++ b/public/v4/apps/chevereto.yml @@ -0,0 +1,78 @@ +captainVersion: 4 +services: + $$cap_appname: + depends_on: + - $$cap_appname-mariadb + image: nmtan/chevereto:$$cap_chevereto_version + restart: 'always' + environment: + TZ: $$cap_tz + PUID: $$cap_puid + PGID: $$cap_guid + CHEVERETO_DB_HOST: srv-captain--$$cap_appname-mariadb + CHEVERETO_DB_USERNAME: $$cap_mariadb-user + CHEVERETO_DB_PASSWORD: $$cap_mariadb-pass + CHEVERETO_DB_NAME: $$cap_mariadb-db + volumes: + - $$cap_appname-images:/var/www/html/images + caproverExtra: + containerHttpPort: '80' + # MariaDB + $$cap_appname-mariadb: + image: mariadb:$$cap_mariadb_version + environment: + MYSQL_RANDOM_ROOT_PASSWORD: '1' + MYSQL_DATABASE: $$cap_mariadb-db + MYSQL_USER: $$cap_mariadb-user + MYSQL_PASSWORD: $$cap_mariadb-pass + volumes: + - $$cap_appname-mariadb-data:/var/lib/mysql + restart: unless-stopped + caproverExtra: + notExposeAsWebApp: 'true' +caproverOneClickApp: + variables: + - id: $$cap_tz + label: Timezone + description: This is the timezone for the application, find yours at https://en.wikipedia.org/wiki/List_of_tz_database_time_zones + defaultValue: Europe/Brussels + - id: $$cap_chevereto_version + label: Version Tag + description: Check out their Docker page for the valid tags https://hub.docker.com/r/nmtan/chevereto/tags + defaultValue: 'installer' + - id: $$cap_puid + label: User ID + defaultValue: '1000' + description: User ID that the process uses, run (id $user) in your instance to see the id + validRegex: /.{1,}/ + - id: $$cap_guid + label: Group ID + defaultValue: '1000' + description: Group ID that the process uses, run (id $user) in your instance to see the id + validRegex: /.{1,}/ + - id: $$cap_mariadb_version + label: MariaDB Version + defaultValue: '10.5.6' + description: Checkout their docker page for the valid tags https://hub.docker.com/r/library/mariadb/tags/ + validRegex: /^([^\s^\/])+$/ + - id: $$cap_mariadb-db + label: MariaDB Database + description: Database name for Chevereto + defaultValue: 'chevereto' + - id: $$cap_mariadb-user + label: MariaDB User + description: Database User for Chevereto + defaultValue: 'chevereto' + - id: $$cap_mariadb-pass + label: MariaDB database user password + description: Super secret database user password + instructions: + start: |- + Chevereto is a powerful and fast image hosting script that allows you to create your very own full featured image hosting website in just minutes. + end: |- + Aaaand you're done! ๐Ÿ˜„ + Your service is available at http://$$cap_appname.$$cap_root_domain + displayName: Chevereto + isOfficial: false + description: Chevereto is a powerful and fast image hosting script that allows you to create your very own full featured image hosting website in just minutes. + documentation: https://github.com/tanmng/docker-chevereto diff --git a/public/v4/apps/heimdall.yml b/public/v4/apps/heimdall.yml new file mode 100644 index 0000000..513403b --- /dev/null +++ b/public/v4/apps/heimdall.yml @@ -0,0 +1,31 @@ +captainVersion: 4 +services: + $$cap_appname: + image: linuxserver/heimdall:$$cap_heimdall_version + environment: + TZ: $$cap_tz + hostname: $$cap_appname.$$cap_root_domain + volumes: + - $$cap_appname-config:/config +caproverOneClickApp: + variables: + - id: $$cap_tz + label: Timezone + description: This is the timezone for the application, find yours at https://en.wikipedia.org/wiki/List_of_tz_database_time_zones + defaultValue: Europe/Brussels + - id: $$cap_heimdall_version + label: Version Tag + description: Check out their Docker page for the valid tags https://hub.docker.com/r/linuxserver/heimdall/tags + defaultValue: 'version-2.2.2' + instructions: + start: |- + Heimdall is a way to organise all those links to your most used web sites and web applications in a simple way. + + Simplicity is the key to Heimdall. Why not use it as your browser start page? It even has the ability to include a search bar using either Google, Bing or DuckDuckGo. + end: |- + Aaaand you're done! ๐Ÿ˜„ + Your service is available at http://$$cap_appname.$$cap_root_domain + displayName: Heimdall + isOfficial: true + description: Heimdall is a way to organise all those links to your most used web sites and web applications in a simple way. + documentation: https://docs.linuxserver.io/images/docker-heimdall diff --git a/public/v4/apps/lychee.yml b/public/v4/apps/lychee.yml new file mode 100644 index 0000000..af27063 --- /dev/null +++ b/public/v4/apps/lychee.yml @@ -0,0 +1,91 @@ +captainVersion: 4 +services: + # Lychee + $$cap_appname: + depends_on: + - $$cap_appname-mariadb + image: lycheeorg/lychee:$$cap_lychee_version + restart: unless-stopped + environment: + TZ: $$cap_tz + PUID: $$cap_puid + PGID: $$cap_guid + DB_CONNECTION: mysql + DB_HOST: srv-captain--$$cap_appname-mariadb + DB_PORT: '3306' + DB_DATABASE: $$cap_mariadb-db + DB_USERNAME: $$cap_mariadb-user + DB_PASSWORD: $$cap_mariadb-password + STARTUP_DELAY: '30' + ports: + - $$cap_webui_port:80 + volumes: + - $$cap_appname-conf:/conf + - $$cap_appname-uploads:/uploads + - $$cap_appname-sym:/sym + caproverExtra: + containerHttpPort: '80' + # MariaDB + $$cap_appname-mariadb: + image: mariadb:$$cap_mariadb_version + environment: + MYSQL_RANDOM_ROOT_PASSWORD: '1' + MYSQL_DATABASE: $$cap_mariadb-db + MYSQL_USER: $$cap_mariadb-user + MYSQL_PASSWORD: $$cap_mariadb-password + volumes: + - $$cap_appname-db-data:/var/lib/mysql + restart: unless-stopped + caproverExtra: + notExposeAsWebApp: 'true' +caproverOneClickApp: + variables: + - id: $$cap_tz + label: Timezone + description: This is the timezone for the application, find yours at https://en.wikipedia.org/wiki/List_of_tz_database_time_zones + defaultValue: Europe/Brussels + - id: $$cap_lychee_version + label: Lychee Version + defaultValue: 'v4.0.7' + description: Checkout their docker page for the valid tags https://hub.docker.com/r/lycheeorg/lychee/tags + validRegex: /^([^\s^\/])+$/ + - id: $$cap_puid + label: User ID + defaultValue: '1000' + description: User ID that the process uses, run (id $user) in your instance to see the id + validRegex: /.{1,}/ + - id: $$cap_guid + label: Group ID + defaultValue: '1000' + description: Group ID that the process uses, run (id $user) in your instance to see the id + validRegex: /.{1,}/ + - id: $$cap_webui_port + label: Lychee WebUI Port + description: The port used to access Lychee + defaultValue: '90' + - id: $$cap_mariadb_version + label: MariaDB Version + defaultValue: '10.5.6' + description: Checkout their docker page for the valid tags https://hub.docker.com/r/library/mariadb/tags/ + validRegex: /^([^\s^\/])+$/ + - id: $$cap_mariadb-db + label: MariaDB Database + description: Database for Lychee + defaultValue: 'lychee' + - id: $$cap_mariadb-user + label: MariaDB User + description: Database User for Lychee + defaultValue: 'lychee' + - id: $$cap_mariadb-password + label: MariaDB database user password + description: Super secret database user password + instructions: + start: >- + A great looking and easy-to-use photo-management-system. + end: >- + Aaaand you're done! ๐Ÿ˜„ + Your service is available at http://$$cap_appname.$$cap_root_domain + displayName: 'Lychee' + isOfficial: true + description: A great looking and easy-to-use photo-management-system. + documentation: Taken from https://github.com/lycheeorg/lychee diff --git a/public/v4/apps/qbittorrent.yml b/public/v4/apps/qbittorrent.yml new file mode 100644 index 0000000..5d57c8c --- /dev/null +++ b/public/v4/apps/qbittorrent.yml @@ -0,0 +1,47 @@ +captainVersion: 4 +services: + $$cap_appname: + image: linuxserver/qbittorrent:$$cap_qbittorrent_version + environment: + TZ: $$cap_tz + UMASK_SET: 022 + WEBUI_PORT: $$cap_webui_port + ports: + - $$cap_webui_port:8080 + - 6881:6881 + hostname: $$cap_appname.$$cap_root_domain + volumes: + - $$cap_appname-config:/config + - $$cap_path_to_downloads:/downloads + caproverExtra: + containerHttpPort: $$cap_webui_port +caproverOneClickApp: + variables: + - id: $$cap_qbittorrent_version + label: qBittorrent Version + defaultValue: version-14.2.5.99202004250119-7015-2c65b79ubuntu18.04.1 + description: Check out their Docker page for the valid tags https://hub.docker.com/r/linuxserver/qbittorrent/tags + validRegex: /^([^\s^\/])+$/ + - id: $$cap_tz + label: Time Zone + defaultValue: Europe/Brussels + description: Get yours from https://en.wikipedia.org/wiki/List_of_tz_database_time_zones + validRegex: /.{1,}/ + - id: $$cap_webui_port + label: qBittorrent WebUI Port + description: The port used to access qBittorrent + validRegex: /\d/ + - id: $$cap_path_to_downloads + label: Path to downloads folder + description: Path to downloads folder where u want to save the downloaded torrents + validRegex: /\/[^\s-][a-zA-Z0-9_\/-]*[^\/][^\s-]/ + instructions: + start: >- + The qBittorrent project aims to provide an open-source software alternative to ยตTorrent. + qBittorrent is based on the Qt toolkit and libtorrent-rasterbar library. + end: >- + qBittorrent is deployed and available as $$cap_appname. + displayName: qBittorrent + isOfficial: true + description: qBittorrent BitTorrent client + documentation: Taken from https://hub.docker.com/r/linuxserver/qbittorrent. diff --git a/public/v4/apps/sonarr.yml b/public/v4/apps/sonarr.yml new file mode 100644 index 0000000..712bf71 --- /dev/null +++ b/public/v4/apps/sonarr.yml @@ -0,0 +1,58 @@ +captainVersion: 4 +services: + $$cap_appname: + image: linuxserver/sonarr:$$cap_sonarr_version + environment: + TZ: $$cap_tz + PUID: $$cap_puid + PGID: $$cap_guid + hostname: $$cap_appname.$$cap_root_domain + volumes: + - $$cap_appname-config:/config + - $$cap_path_to_tv:/tv + - $$cap_path_to_downloads:/downloads + caproverExtra: + containerHttpPort: 8989 +caproverOneClickApp: + variables: + - id: $$cap_sonarr_version + label: Sonarr Version + defaultValue: preview + description: Check out their Docker page for the valid tags https://hub.docker.com/r/linuxserver/sonarr/tags + validRegex: /^([^\s^\/])+$/ + - id: $$cap_tz + label: Time Zone + defaultValue: Europe/Brussels + description: Get yours from https://en.wikipedia.org/wiki/List_of_tz_database_time_zones + validRegex: /.{1,}/ + - id: $$cap_path_to_downloads + label: Location of download managers output directory + description: Location of download managers output directory + validRegex: /\/[^\s-][a-zA-Z0-9_\/-]*[^\/][^\s-]/ + - id: $$cap_path_to_tv + label: Location of TV library on disk + description: Location of TV library on disk + validRegex: /\/[^\s-][a-zA-Z0-9_\/-]*[^\/][^\s-]/ + - id: $$cap_puid + label: User ID + defaultValue: '1000' + description: User ID that the process uses, run (id $user) in your instance to see the id + validRegex: /.{1,}/ + - id: $$cap_guid + label: Group ID + defaultValue: '1000' + description: Group ID that the process uses, run (id $user) in your instance to see the id + validRegex: /.{1,}/ + instructions: + start: >- + Sonarr (formerly NZBdrone) is a PVR for usenet and bittorrent users. + + It can monitor multiple RSS feeds for new episodes of your favorite shows and will grab, sort and rename them. + + It can also be configured to automatically upgrade the quality of files already downloaded when a better quality format becomes available. + end: >- + Sonarr is deployed and available as $$cap_appname. + displayName: Sonarr + isOfficial: true + description: Sonarr (formerly NZBdrone) is a PVR for usenet and bittorrent users. It can monitor multiple RSS feeds for new episodes of your favorite shows and will grab, sort and rename them. + documentation: Taken from https://hub.docker.com/r/linuxserver/sonarr. diff --git a/public/v4/apps/strapi-postgres.yml b/public/v4/apps/strapi-postgres.yml new file mode 100644 index 0000000..c7d87bf --- /dev/null +++ b/public/v4/apps/strapi-postgres.yml @@ -0,0 +1,64 @@ +captainVersion: 4 +services: + $$cap_appname-core: + depends_on: + - $$cap_appname-postgres + image: strapi/strapi:$$cap_strapi_version + volumes: + - $$cap_appname-data:/srv/app + restart: always + environment: + DATABASE_CLIENT: postgres + DATABASE_HOST: srv-captain--$$cap_appname-postgres + DATABASE_PORT: '5432' + DATABASE_NAME: strapi + DATABASE_USERNAME: strapi + DATABASE_PASSWORD: $$cap_postgres_password + caproverExtra: + containerHttpPort: '1337' + $$cap_appname-postgres: + image: postgres:$$cap_postgres_version + volumes: + - $$cap_appname-postgres-data:/var/lib/postgresql/data + restart: always + environment: + POSTGRES_DB: strapi + POSTGRES_USER: strapi + POSTGRES_PASSWORD: $$cap_postgres_password + caproverExtra: + notExposeAsWebApp: 'true' +caproverOneClickApp: + variables: + - id: $$cap_strapi_version + label: Strapi Version + defaultValue: 3.3.3 + description: Check out their page for the valid versions https://hub.docker.com/r/strapi/strapi/tags + validRegex: /^([^\s^\/])+$/ + - id: $$cap_postgres_version + label: PostgreSQL Version + defaultValue: '9.6.20' + description: Check out their Docker page for the valid tags https://hub.docker.com/r/library/postgres/tags/ + validRegex: /^([a-zA-Z0-9])+$/ + - id: $$cap_postgres_password + label: PostgreSQL password + description: Only use alphanumeric chars. + validRegex: /^([a-zA-Z0-9])+$/ + instructions: + start: >- + API creation made simple, secure and fast. The most advanced open-source Content Management Framework to build powerful API with no effort. Read more here: https://strapi.io + + + NOTE: Hardware requirements: + + 2GB minimum RAM required + + 1Ghz minimum CPU clock speed + end: >- + Strapi is deployed and available as $$cap_appname-core + IMPORTANT!! It takes up to 2-5 minutes for Strapi to boot up. You will see a 502 Error until the startup is finished. + + IMPORTANT: You need to add a config file manually to support the correct domain name. See this issue for more details: https://github.com/strapi/strapi-docker/issues/173 + displayName: Strapi (postgresql) + isOfficial: true + description: The Open source Headless CMS Front-End Developers love. Manage your content. Distribute it anywhere + documentation: Taken from https://github.com/strapi/strapi-docker/blob/master/examples/postgresql/docker-compose.yml diff --git a/public/v4/logos/ackee.png b/public/v4/logos/ackee.png new file mode 100644 index 0000000..91716f4 Binary files /dev/null and b/public/v4/logos/ackee.png differ diff --git a/public/v4/logos/chevereto.png b/public/v4/logos/chevereto.png new file mode 100644 index 0000000..ee751de Binary files /dev/null and b/public/v4/logos/chevereto.png differ diff --git a/public/v4/logos/heimdall.png b/public/v4/logos/heimdall.png new file mode 100644 index 0000000..15fbf21 Binary files /dev/null and b/public/v4/logos/heimdall.png differ diff --git a/public/v4/logos/lychee.png b/public/v4/logos/lychee.png new file mode 100644 index 0000000..560c59b Binary files /dev/null and b/public/v4/logos/lychee.png differ diff --git a/public/v4/logos/qbittorrent.png b/public/v4/logos/qbittorrent.png new file mode 100644 index 0000000..77d06fd Binary files /dev/null and b/public/v4/logos/qbittorrent.png differ diff --git a/public/v4/logos/sonarr.png b/public/v4/logos/sonarr.png new file mode 100644 index 0000000..e0096e4 Binary files /dev/null and b/public/v4/logos/sonarr.png differ diff --git a/public/v4/logos/strapi-postgres.png b/public/v4/logos/strapi-postgres.png new file mode 100644 index 0000000..16d38db Binary files /dev/null and b/public/v4/logos/strapi-postgres.png differ