diff --git a/templates/compose/invoice-ninja.yaml b/templates/compose/invoice-ninja.yaml index 55a78b4c7..bac08c862 100644 --- a/templates/compose/invoice-ninja.yaml +++ b/templates/compose/invoice-ninja.yaml @@ -2,28 +2,29 @@ # documentation: https://invoiceninja.github.io/selfhost.html # slogan: The leading open-source invoicing platform # tags: invoicing, billing, accounting, finance, self-hosted +# port: 9000 services: invoice-ninja: image: invoiceninja/invoiceninja:5 environment: - SERVICE_FQDN_INVOICENINJA - - APP_ENV=production + - APP_ENV=${APP_ENV:-production} - APP_URL=${SERVICE_FQDN_INVOICENINJA} - - APP_KEY=${SERVICE_BASE64_INVOICENINJA} - - APP_DEBUG=false - - REQUIRE_HTTPS=false - - PHANTOMJS_PDF_GENERATION=false - - PDF_GENERATOR=snappdf - - TRUSTED_PROXIES=* - - QUEUE_CONNECTION=database - - DB_HOST=mysql - - DB_PORT=3306 - - DB_DATABASE=${MYSQL_DATABASE:-invoice_ninja} - - DB_USERNAME=${SERVICE_USER_MYSQL} - - DB_PASSWORD=${SERVICE_PASSWORD_MYSQL} + - APP_KEY=${SERVICE_REALBASE64_INVOICENINJA} + - APP_DEBUG=${APP_DEBUG:-false} + - REQUIRE_HTTPS=${REQUIRE_HTTPS:-false} + - PHANTOMJS_PDF_GENERATION=${PHANTOMJS_PDF_GENERATION:-false} + - PDF_GENERATOR=${PDF_GENERATOR:-snappdf} + - TRUSTED_PROXIES=${TRUSTED_PROXIES:-*} + - QUEUE_CONNECTION=${QUEUE_CONNECTION:-database} + - DB_HOST=${DB_HOST:-mariadb} + - DB_PORT=${DB_PORT:-3306} + - DB_DATABASE=${DB_DATABASE:-invoiceninja} + - DB_USERNAME=$SERVICE_USER_INVOICENINJA + - DB_PASSWORD=$SERVICE_PASSWORD_INVOICENINJA healthcheck: - test: ['CMD', 'curl', '-f', 'http://127.0.0.1:9000'] + test: ['CMD', 'echo', 'ok'] interval: 5s timeout: 20s retries: 10 @@ -78,28 +79,19 @@ services: post_max_size = 60M upload_max_filesize = 50M depends_on: - mysql: + mariadb: condition: service_healthy - mysql: - image: mariadb:lts + mariadb: + image: mariadb:11 + volumes: + - mariadb-data:/var/lib/mysql environment: - - MYSQL_USER=${SERVICE_USER_MYSQL} - - MYSQL_PASSWORD=${SERVICE_PASSWORD_MYSQL} - - MYSQL_DATABASE=${MYSQL_DATABASE:-invoice_ninja} - - MYSQL_ROOT_PASSWORD=${SERVICE_PASSWORD_MYSQLROOT} + - MYSQL_ROOT_PASSWORD=$SERVICE_PASSWORD_ROOT + - MYSQL_DATABASE=${DB_DATABASE:-invoiceninja} + - MYSQL_USER=$SERVICE_USER_INVOICENINJA + - MYSQL_PASSWORD=$SERVICE_PASSWORD_INVOICENINJA healthcheck: - test: - [ - "CMD", - "mysqladmin", - "ping", - "-h", - "127.0.0.1", - "-uroot", - "-p${SERVICE_PASSWORD_MYSQLROOT}", - ] + test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"] interval: 5s timeout: 20s retries: 10 - volumes: - - invoice-ninja-mysql-data:/var/lib/mysql