feat: add InvoiceNinja (#406)
* feat: add InvoiceNinja * fix: tweak invoice ninja
This commit is contained in:
parent
849d981d5b
commit
3ddc24038d
|
|
@ -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 |
Loading…
Reference in New Issue