From 62b1d8cb9426f7c530f938a9249b251c8b769620 Mon Sep 17 00:00:00 2001 From: Thibaut De Muynck <494734+tacticz@users.noreply.github.com> Date: Tue, 6 Apr 2021 03:29:04 +0200 Subject: [PATCH] Added MariaDB to Docker compose for ARM64 (#315) * Added option to use MariaDB instead of MySQL * Moved MYSQL environment variables to env file --- README.md | 14 +++++++++----- config/mysql/Dockerfile | 4 +++- docker-compose.yml | 18 ++++++++---------- env | 4 ++++ 4 files changed, 24 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index 9ba863e..0d51305 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ [![Docker image, latest](https://img.shields.io/docker/image-size/invoiceninja/invoiceninja/latest?label=latest)](https://hub.docker.com/r/invoiceninja/invoiceninja) [![Docker image, alpine](https://img.shields.io/docker/image-size/invoiceninja/invoiceninja/alpine?label=alpine)](https://hub.docker.com/r/invoiceninja/invoiceninja) -# Docker for [Invoice Ninja](https://www.invoiceninja.com/) +# Docker for [Invoice Ninja](https://www.invoiceninja.com/) :crown: **Features** @@ -13,11 +13,11 @@ ## You want some Kubernetes + Helm with that? [Helm Chat](https://github.com/Saddamus/invoiceninja-helm) by @Saddamus -[Kubernetes](https://github.com/invoiceninja/dockerfiles/issues/94) by @spacepluk +[Kubernetes](https://github.com/invoiceninja/dockerfiles/issues/94) by @spacepluk ## Quickstart V5 Launch -The dockerfile has been revamped to make is easier to get started, by default the base image selected in 5 which will pull in the latest v5 stable image. +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. ```bash git clone https://github.com/invoiceninja/dockerfiles.git @@ -65,7 +65,7 @@ For example, lets say your APP_URL is ```http://in5.test:8000``` and your LAN IP ```192.168.0.124 in5.test``` -**Please note that 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. +**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 @@ -75,9 +75,13 @@ All that is left to do now is bring up the container **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. +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 diff --git a/config/mysql/Dockerfile b/config/mysql/Dockerfile index 762bafa..c9271fd 100644 --- a/config/mysql/Dockerfile +++ b/config/mysql/Dockerfile @@ -1,4 +1,6 @@ FROM mysql:5 +# When running on ARM64 use MariaDB instead of MySQL +#FROM mariadb:10.4 ENV force_color_prompt yes RUN apt-get update; @@ -7,4 +9,4 @@ RUN apt-get install -y cron; ENTRYPOINT \ service cron start; \ printenv | grep -v "no_proxy" >> /etc/environment; \ - docker-entrypoint.sh mysqld \ No newline at end of file + docker-entrypoint.sh mysqld diff --git a/docker-compose.yml b/docker-compose.yml index 1412bef..fdd5760 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -14,7 +14,7 @@ services: - app # Run webserver nginx on port 80 # Feel free to modify depending what port is already occupied - ports: + ports: - "80:80" #- "443:443" networks: @@ -32,24 +32,22 @@ services: - ./docker/app/storage:/var/www/app/storage:rw,delegated depends_on: - db - networks: - - invoiceninja + networks: + - invoiceninja extra_hosts: - "in5.localhost:192.168.0.124 " #host and ip db: image: mysql:5 +# When running on ARM64 use MariaDB instead of MySQL +# image: mariadb:10.4 # For auto DB backups comment out image and use the build block below # build: # context: ./config/mysql ports: - "3305:3306" restart: always - environment: - - MYSQL_ROOT_PASSWORD=ninjaAdm1nPassword - - MYSQL_USER=ninja - - MYSQL_PASSWORD=ninja - - MYSQL_DATABASE=ninja + env_file: env volumes: - ./docker/mysql/data:/var/lib/mysql:rw,delegated @@ -82,7 +80,7 @@ services: # EOF' # networks: # - invoiceninja - # + # networks: - invoiceninja: \ No newline at end of file + invoiceninja: diff --git a/env b/env index 713d261..1c7f740 100644 --- a/env +++ b/env @@ -7,6 +7,10 @@ DB_PORT1=3306 DB_USERNAME1=ninja DB_PASSWORD1=ninja DB_DATABASE1=ninja +MYSQL_ROOT_PASSWORD=ninjaAdm1nPassword +MYSQL_USER=ninja +MYSQL_PASSWORD=ninja +MYSQL_DATABASE=ninja #this is a system variable please do not remove IS_DOCKER=true