Giter Club home page Giter Club logo

ninja_docker_public's Introduction

Docker images Docker image, latest Docker image, alpine Artifact HUB Pusblish Image Cache v5 Image

Docker for Invoice Ninja

๐Ÿ‘‘ Features

๐Ÿ”’ Automatic HTTPS (โค๏ธ Caddy)
๐Ÿ”ฅ NGINX webserver support NGINX
๐Ÿ”จ Fully production-ready through Helm Chart
๐Ÿ“ Adjustable to your needs via environment variable

Get some Kubernetes + Helm with that!

Introducing our very own Helm Chart that helps you launch a simple standalone app to a production-ready, highly available Invoice Ninja setup. All you need to do is initialise Kubernetes (available with Docker Desktop), install Helm, and spin up Invoice Ninja using the steps provided here.

Other resources:

Helm Chart by @Saddamus
K8s Manifest by @spacepluk

Alternatively get started with Docker Compose

The dockerfile has been revamped to make it easier to get started, by default the base image selected is 5 which will pull in the latest v5 stable image.

git clone https://github.com/invoiceninja/dockerfiles.git
cd dockerfiles

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=<insert your generated key in here>
APP_DEBUG=true
REQUIRE_HTTPS=false
IN_USER_EMAIL=
IN_PASSWORD=

If IN_USER_EMAIL and IN_PASSWORD is not set the default user email and password is "[email protected]" and "changeme!" respectively. You will use this for the initial login, thereafter, you can delete this two environment variables.

The APP_KEY can be generated by running

docker run --rm -it invoiceninja/invoiceninja php artisan key:generate --show

Copy the entire string and insert in the env file at APP_KEY=base64....

To ensure folder permissions are correct when the container comes up for the first time it is important that you set the correct folder permissions on the docker folder.

From the terminal run

chmod 755 docker/app/public
sudo chown -R 1500:1500 docker/app

Note for people running the container locally on their PC

If you are running the container locally, then the container will need to resolve the host, to support this you will want to insert your LAN IP address and the host name in the hosts file located in config/hosts

For example, lets say your APP_URL is http://in5.test:8000 and your LAN IP is 192.168.0.124 the hosts file will have an entry looking like this:

192.168.0.124 in5.test

**Please note that for PDF generation using local host, your domain name MUST end in .test for your PDFs to generate correctly, this is a DNS resolver issue with chromium.

All that is left to do now is bring up the container

docker-compose up -d

**Note: When performing the setup, the Database host is db

Running on ARM64 (Raspberry Pi 4)

When deploying on an ARM64 system, you need to comment out the image: mysql:5 line and uncomment image: mariadb:10.4 in the docker-compose.yml file.

Updating the Image when using docker-compose

As docker-compose does not support any form of version control, this git provide updates to docker-compose.yml directly.

To upgrade to a newer release image, please make sure to update the docker-compose.yml first by running

git pull

You may need to manually merge any changes that cannot be merged automatically by git.

Thanks

Massive thank you to lwj5 for the tireless work to continually improve the dockerfile and its associated tooling.

Support

If you discover a bug, please create and issue, if you query is general in nature please visit us on our Forum

ninja_docker_public's People

Contributors

anojht avatar arubacao avatar aurelienlavorel avatar ax2bboud avatar beganovich avatar beremaran avatar berti92 avatar cinemast avatar codedge avatar danielgroen avatar djmaze avatar ffaen avatar fwdit avatar hashdot avatar hillelcoren avatar jaimeaq7 avatar justintime50 avatar lalop avatar lwj5 avatar patski123 avatar pierreozoux avatar robingchan avatar s-gerber avatar schroedt avatar sleeyax avatar tacticz avatar tms0 avatar turbo124 avatar veselahouba avatar yinshanyang avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.