An open API service indexing awesome lists of open source software.

https://github.com/invoiceninja/dockerfiles

Docker files for Invoice Ninja
https://github.com/invoiceninja/dockerfiles

docker docker-compose dockerfile hacktoberfest invoice-ninja invoiceninja

Last synced: 5 days ago
JSON representation

Docker files for Invoice Ninja

Awesome Lists containing this project

README

          

[![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