[![Docker Image Size](https://img.shields.io/docker/image-size/invoiceninja/invoiceninja-debian?label=debian)](https://hub.docker.com/r/invoiceninja/invoiceninja-debian) [![Docker Pulls](https://img.shields.io/docker/pulls/invoiceninja/invoiceninja-debian)](https://hub.docker.com/r/invoiceninja/invoiceninja-debian) [![Publish Status](https://github.com/invoiceninja/dockerfiles/actions/workflows/publish-image-debian.yaml/badge.svg)](https://github.com/invoiceninja/dockerfiles/actions/workflows/publish-image-debian.yaml) [![Build Status](https://github.com/invoiceninja/dockerfiles/actions/workflows/build-image-debian.yaml/badge.svg)](https://github.com/invoiceninja/dockerfiles/actions/workflows/build-image-debian.yaml) # Debian Docker for [Invoice Ninja](https://www.invoiceninja.com/) 👑 **Features** NGINX webserver support [NGINX](https://nginx.org/) Built-in Chrome for PDF generation and other features Saxon XLST 2 engine OPcache Multi language support ## Get started with Docker Compose This Debian-based image includes Chrome for enhanced PDF generation and other features. To get started: ```bash git clone https://github.com/invoiceninja/dockerfiles.git -b debian cd dockerfiles/debian ``` Instead of defining our environment variables inside our docker-compose.yml file we now define this in the `.env` file, open this file up and insert your `APP_URL`, `APP_KEY` and update the rest of the variables as required. ``` APP_URL=http://in.localhost:8003/ APP_KEY= APP_DEBUG=true REQUIRE_HTTPS=false IN_USER_EMAIL= IN_PASSWORD= ``` ## Initial account setup ### Primary account setup Prior to starting the container for the first time, open the .env file and update the IN_USER_EMAIL and IN_PASSWORD variables with your primary account. This will take care of the initial account setup. You can later remove these .env variables. > ⚠️ **Warning** > If `IN_USER_EMAIL` and `IN_PASSWORD` are not set the default user email and password is "admin@example.com" and "changeme!" respectively. After the container has completed the first startup you can delete these two environment variables. ### Generate a APP_KEY The `APP_KEY` can be generated by running: ```bash # If you haven't started the containers yet: docker run --rm -it invoiceninja/invoiceninja-debian php artisan key:generate --show # Or if your containers are already running: docker compose exec app php artisan key:generate --show ``` Copy the entire string and insert in the .env file at `APP_KEY=base64....` **Note: For PDF generation using localhost, your domain name MUST end in .test for PDFs to generate correctly due to Chrome's DNS resolver. Start the container with: ```bash docker compose up -d ``` **Note: When performing the setup, the Database host is ```mysql``` ### Updating the Image To upgrade to a newer release image, update your docker-compose.yml first by running: ```bash docker compose pull docker compose up -d ``` It is recommended to perform a backup before updating. ### Support If you discover a bug, please create an issue. For general queries, visit our [Forum](https://forum.invoiceninja.com/) ### Todo This is a new image which should provide much better support for all users, however there are some items left to complete - [ ] Backup script - [ ] Integrate soketi server - [ ] Add elastic search for site wide search