feat: add InvoiceNinja (#406)

* feat: add InvoiceNinja

* fix: tweak invoice ninja
This commit is contained in:
Long Nguyen 2021-04-25 04:10:20 +07:00 committed by GitHub
parent 849d981d5b
commit 3ddc24038d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 126 additions and 0 deletions

View File

@ -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: user@example.com
- 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

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB