summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorLong Nguyen <[email protected]>2021-04-25 04:10:20 +0700
committerGitHub <[email protected]>2021-04-24 17:10:20 -0400
commit3ddc24038d168d21895d2c30cc3396cccc348bca (patch)
tree86b9c0fa2680139384657570d55e3c6eb91cf051
parent849d981d5bc359c1c00a57a6ab632b6ee80ae22c (diff)
downloadcaprover-one-click-apps-3ddc24038d168d21895d2c30cc3396cccc348bca.tar.gz
caprover-one-click-apps-3ddc24038d168d21895d2c30cc3396cccc348bca.zip
feat: add InvoiceNinja (#406)
* feat: add InvoiceNinja * fix: tweak invoice ninja
-rw-r--r--public/v4/apps/invoiceninja.yml126
-rw-r--r--public/v4/logos/invoiceninja.pngbin0 -> 12595 bytes
2 files changed, 126 insertions, 0 deletions
diff --git a/public/v4/apps/invoiceninja.yml b/public/v4/apps/invoiceninja.yml
new file mode 100644
index 0000000..9c89ac3
--- /dev/null
+++ b/public/v4/apps/invoiceninja.yml
@@ -0,0 +1,126 @@
+captainVersion: 4
+services:
+ $$cap_appname-php:
+ restart: always
+ networks: invoiceninja
+ volumes:
+ - $$cap_appname-data:/var/www/app
+ depends_on:
+ - $$cap_appname-db
+ environment:
+ APP_NAME: $$cap_appname
+ APP_URL: $$cap_appname.$$cap_root_domain
+ APP_KEY: $$cap_app_key
+ APP_DEBUG: $$cap_app_debug
+ MULTI_DB_ENABLED: 'false'
+ DB_CONNECTION: mysql
+ DB_HOST1: srv-captain--$$cap_appname-db
+ DB_PORT1: '3306'
+ DB_USERNAME1: $$cap_db_user
+ DB_PASSWORD1: $$cap_db_pass
+ DB_DATABASE1: $$cap_db_name
+ IS_DOCKER: 'true'
+ PHANTOMJS_PDF_GENERATION: $$cap_phantomjs_cloud_enable
+ PHANTOMJS_CLOUD_KEY: $$cap_phantomjs_cloud_key
+ BAK_PUBLIC_PATH: '/var/www/app/docker-backup-public'
+ NINJA_PROD: 'true'
+ ENV_LIST: 'NINJA_PROD,APP_NAME,APP_URL,APP_KEY,APP_DEBUG,MULTI_DB_ENABLED,DB_CONNECTION,DB_HOST1,DB_PORT1,DB_USERNAME1,DB_PASSWORD1,DB_DATABASE1,IS_DOCKER,PHANTOMJS_PDF_GENERATION,PHANTOMJS_CLOUD_KEY'
+ caproverExtra:
+ notExposeAsWebApp: 'true'
+ dockerfileLines:
+ - FROM invoiceninja/invoiceninja:$$cap_app_tag
+ - RUN curl -o create-env-file-from-sys-env.sh https://gist.githubusercontent.com/olragon/e2f3ececd70b8c513ce6f768b47b6e5f/raw/0ce9188a0cbf1a9e6a7be4128419282b30492f49/create-env-file-from-sys-env.sh
+ - RUN chmod +x create-env-file-from-sys-env.sh
+ - ENTRYPOINT ["docker-entrypoint"]
+ - CMD /var/www/app/create-env-file-from-sys-env.sh && laravel-init.sh && php artisan db:seed --force && php artisan ninja:create-account --email=$$cap_user_email --password=$$cap_user_password&& supervisord
+
+ $$cap_appname:
+ restart: always
+ networks: invoiceninja
+ volumes:
+ - $$cap_appname-data:/var/www/app
+ depends_on:
+ - $$cap_appname-php
+ caproverExtra:
+ dockerfileLines:
+ - FROM nginx:$$cap_nginx_tag
+ - RUN curl -o /etc/nginx/conf.d/in-vhost.conf https://raw.githubusercontent.com/invoiceninja/dockerfiles/$$cap_app_tag/config/nginx/in-vhost.conf
+ - RUN sed -i "s/app:9000/srv-captain--$$cap_appname-php:9000/g" /etc/nginx/conf.d/in-vhost.conf
+ - ENTRYPOINT ["/docker-entrypoint.sh"]
+ - EXPOSE 80
+ - CMD mkdir -p /var/www/app/docker-backup-public && nginx -g 'daemon off;'
+
+ $$cap_appname-db:
+ image: mariadb:$$cap_mariadb_tag
+ networks: invoiceninja
+ restart: always
+ volumes:
+ - $$cap_appname-db-data:/var/lib/mysql
+ environment:
+ MYSQL_ROOT_PASSWORD: $$cap_db_root_pass
+ MYSQL_USER: $$cap_db_user
+ MYSQL_PASSWORD: $$cap_db_pass
+ MYSQL_DATABASE: $$cap_db_name
+ caproverExtra:
+ notExposeAsWebApp: 'true'
+
+caproverOneClickApp:
+ variables:
+ - id: $$cap_app_tag
+ label: Invoice Ninja Tag
+ defaultValue: '5.1.53'
+ description: 'Check out their docker page for the valid tags https://hub.docker.com/r/invoiceninja/invoiceninja/tags'
+ - id: $$cap_user_email
+ label: User Email
+ defaultValue: [email protected]
+ - id: $$cap_user_password
+ label: User Password (write this down as you won't be able to see it after deployment)
+ defaultValue: $$cap_gen_random_hex(8)
+ - id: $$cap_app_key
+ label: App Key
+ defaultValue: $$cap_gen_random_hex(32)
+ - id: $$cap_app_debug
+ label: App Debug
+ defaultValue: 'false'
+ - id: $$cap_phantomjs_cloud_enable
+ label: Enable PhantomJS Cloud to generate PDF
+ defaultValue: 'false'
+ description: By default Invoice Ninja using local Chromimum to generate PDF
+ - id: $$cap_phantomjs_cloud_key
+ label: PhantomJS Cloud Key
+ defaultValue: 'a-demo-key-with-low-quota-per-ip-address'
+ description: 'For some reason, if you cannot run Chromium, enable PhantomJS Cloud and grab your PhantomJS Cloud key at https://phantomjscloud.com/'
+ - id: $$cap_nginx_tag
+ label: Nginx Tag
+ defaultValue: '1.20.0-alpine'
+ description: 'Check out their docker page for the valid tags https://hub.docker.com/_/nginx?tab=tags'
+ - id: $$cap_mariadb_tag
+ label: MariaDB Version
+ defaultValue: 10.4
+ description: 'Check out their docker page for the valid tags https://hub.docker.com/_/mariadb?tab=tags'
+ - id: $$cap_db_root_pass
+ label: MariaDB Root Password
+ defaultValue: $$cap_gen_random_hex(32)
+ - id: $$cap_db_user
+ label: MariaDB Database User
+ defaultValue: 'ninja'
+ - id: $$cap_db_name
+ label: MariaDB Database Name
+ defaultValue: 'ninja'
+ - id: $$cap_db_pass
+ label: MariaDB Database Password
+ defaultValue: $$cap_gen_random_hex(32)
+ instructions:
+ start: >-
+ Invoice Clients, Track Work-Time, Get Paid Online.
+ For more info visit https://www.invoiceninja.com/
+ end: |-
+ InvoiceNinja has been successfully deployed!
+ App is available as http://$$cap_appname.$$cap_root_domain
+ displayName: InvoiceNinja
+ isOfficial: false
+ description: >-
+ Invoice Ninja was built to serve freelancers and business owners with a complete suite of invoicing & payment tools to advance your business.
+ documentation: >-
+ This docker-compose is taken from
+ https://github.com/invoiceninja/dockerfiles
diff --git a/public/v4/logos/invoiceninja.png b/public/v4/logos/invoiceninja.png
new file mode 100644
index 0000000..23685f6
--- /dev/null
+++ b/public/v4/logos/invoiceninja.png
Binary files differ