mirror of
https://github.com/invoiceninja/dockerfiles.git
synced 2026-01-04 13:37:25 +01:00
Compare commits
25 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8db5c792a8 | ||
|
|
b3768cbed3 | ||
|
|
25d2d1d271 | ||
|
|
abfb5d1338 | ||
|
|
300c2d236d | ||
|
|
56e451ea8b | ||
|
|
ad3ffc227d | ||
|
|
e64db79c75 | ||
|
|
5fcad81fc2 | ||
|
|
2e383ef879 | ||
|
|
bb6b3dc1e8 | ||
|
|
4a7b28f1d0 | ||
|
|
1699ddde65 | ||
|
|
63431878b8 | ||
|
|
03cc1ff548 | ||
|
|
4aa7a7032c | ||
|
|
4fa02c2785 | ||
|
|
d25210c8b9 | ||
|
|
f97fdda827 | ||
|
|
5188c45b41 | ||
|
|
e3873bcac2 | ||
|
|
24ef742ce1 | ||
|
|
886dfe7832 | ||
|
|
0054620e55 | ||
|
|
faffcadc45 |
10
.github/workflows/release-chart.yaml
vendored
10
.github/workflows/release-chart.yaml
vendored
@@ -12,21 +12,23 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v1
|
uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
|
||||||
- name: Configure Git
|
- name: Configure Git
|
||||||
run: |
|
run: |
|
||||||
git config user.name "$GITHUB_ACTOR"
|
git config user.name "$GITHUB_ACTOR"
|
||||||
git config user.email "$GITHUB_ACTOR@users.noreply.github.com"
|
git config user.email "$GITHUB_ACTOR@users.noreply.github.com"
|
||||||
|
|
||||||
- uses: azure/setup-helm@v1
|
- name: Set up Helm
|
||||||
id: install
|
uses: azure/setup-helm@v3
|
||||||
|
|
||||||
- name: Add Helm repos
|
- name: Add Helm repos
|
||||||
run: |
|
run: |
|
||||||
helm repo add bitnami https://charts.bitnami.com/bitnami
|
helm repo add bitnami https://charts.bitnami.com/bitnami
|
||||||
|
|
||||||
- name: Run chart-releaser
|
- name: Run chart-releaser
|
||||||
uses: helm/chart-releaser-action@v1.2.1
|
uses: helm/chart-releaser-action@v1.4.1
|
||||||
env:
|
env:
|
||||||
CR_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
|
CR_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
|
||||||
|
|||||||
53
.github/workflows/test-charts.yaml
vendored
53
.github/workflows/test-charts.yaml
vendored
@@ -17,14 +17,15 @@ jobs:
|
|||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
|
|
||||||
- name: Set up Helm
|
- name: Set up Helm
|
||||||
uses: azure/setup-helm@v1
|
uses: azure/setup-helm@v3
|
||||||
|
|
||||||
- uses: actions/setup-python@v2
|
- uses: actions/setup-python@v4
|
||||||
with:
|
with:
|
||||||
python-version: 3.7
|
python-version: "3.9"
|
||||||
|
check-latest: true
|
||||||
|
|
||||||
- name: Set up chart-testing
|
- name: Set up chart-testing
|
||||||
uses: helm/chart-testing-action@v2.0.1
|
uses: helm/chart-testing-action@v2.3.1
|
||||||
|
|
||||||
- name: Run chart-testing (list-changed)
|
- name: Run chart-testing (list-changed)
|
||||||
id: list-changed
|
id: list-changed
|
||||||
@@ -41,7 +42,7 @@ jobs:
|
|||||||
- name: Run chart-testing (lint)
|
- name: Run chart-testing (lint)
|
||||||
run: ct lint --config .github/ct-lint.yaml
|
run: ct lint --config .github/ct-lint.yaml
|
||||||
|
|
||||||
kubeval-chart:
|
kubeconform-chart:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
needs:
|
needs:
|
||||||
- lint-chart
|
- lint-chart
|
||||||
@@ -49,39 +50,44 @@ jobs:
|
|||||||
matrix:
|
matrix:
|
||||||
chart: ${{ fromJson(needs.lint-chart.outputs.matrix) }}
|
chart: ${{ fromJson(needs.lint-chart.outputs.matrix) }}
|
||||||
k8s:
|
k8s:
|
||||||
- v1.19.11
|
- "1.25.5"
|
||||||
- v1.20.7
|
- "1.24.9"
|
||||||
- v1.21.2
|
- "1.23.15"
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v1
|
uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
|
||||||
- name: Update Helm depdendencies
|
- name: Update Helm depdendencies
|
||||||
env:
|
env:
|
||||||
CHART_DIR: ${{ matrix.chart }}
|
CHART_DIR: ${{ matrix.chart }}
|
||||||
run: |
|
run: |
|
||||||
helm dependency update "${CHART_DIR}"
|
helm dependency update "${CHART_DIR}"
|
||||||
mkdir kubeval
|
mkdir tmp
|
||||||
helm template "${CHART_DIR}" > kubeval/combined.yaml
|
helm template "${CHART_DIR}" > tmp/combined.yaml
|
||||||
|
|
||||||
- name: Run kubeval
|
- uses: yokawasa/action-setup-kube-tools@v0.9.2
|
||||||
uses: instrumenta/kubeval-action@master
|
|
||||||
with:
|
with:
|
||||||
files: kubeval
|
setup-tools: |
|
||||||
version: ${{ matrix.k8s }}
|
kubeconform
|
||||||
|
|
||||||
|
- name: Run kubeconform
|
||||||
|
if: ${{ matrix.k8s }}
|
||||||
|
run: kubeconform -kubernetes-version ${{ matrix.k8s }} tmp/combined.yaml
|
||||||
|
|
||||||
install-chart:
|
install-chart:
|
||||||
name: install-chart
|
name: install-chart
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
needs:
|
needs:
|
||||||
- lint-chart
|
- lint-chart
|
||||||
- kubeval-chart
|
- kubeconform-chart
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
k8s:
|
k8s:
|
||||||
- v1.19.11
|
- v1.25.3
|
||||||
- v1.20.7
|
- v1.24.7
|
||||||
- v1.21.2
|
- v1.23.13
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v2
|
||||||
@@ -89,16 +95,17 @@ jobs:
|
|||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
|
|
||||||
- name: Create kind ${{ matrix.k8s }} cluster
|
- name: Create kind ${{ matrix.k8s }} cluster
|
||||||
uses: helm/kind-action@v1.2.0
|
uses: helm/kind-action@v1.4.0
|
||||||
with:
|
with:
|
||||||
node_image: kindest/node:${{ matrix.k8s }}
|
node_image: kindest/node:${{ matrix.k8s }}
|
||||||
|
|
||||||
- uses: actions/setup-python@v2
|
- uses: actions/setup-python@v4
|
||||||
with:
|
with:
|
||||||
python-version: 3.7
|
python-version: "3.9"
|
||||||
|
check-latest: true
|
||||||
|
|
||||||
- name: Set up chart-testing
|
- name: Set up chart-testing
|
||||||
uses: helm/chart-testing-action@v2.0.1
|
uses: helm/chart-testing-action@v2.3.1
|
||||||
|
|
||||||
- name: Run chart-testing (install)
|
- name: Run chart-testing (install)
|
||||||
run: ct install --config .github/ct-install.yaml
|
run: ct install --config .github/ct-install.yaml
|
||||||
|
|||||||
@@ -4,8 +4,6 @@
|
|||||||
[](https://artifacthub.io/packages/search?repo=invoiceninja)
|
[](https://artifacthub.io/packages/search?repo=invoiceninja)
|
||||||
[](https://github.com/invoiceninja/dockerfiles/actions/workflows/publish-image.yaml) [](https://github.com/invoiceninja/dockerfiles/actions/workflows/build-image-v5.yaml)
|
[](https://github.com/invoiceninja/dockerfiles/actions/workflows/publish-image.yaml) [](https://github.com/invoiceninja/dockerfiles/actions/workflows/build-image-v5.yaml)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Docker for [Invoice Ninja](https://www.invoiceninja.com/)
|
# Docker for [Invoice Ninja](https://www.invoiceninja.com/)
|
||||||
|
|
||||||
:crown: **Features**
|
:crown: **Features**
|
||||||
@@ -22,7 +20,8 @@ Introducing our very own [Helm Chart](https://github.com/invoiceninja/dockerfile
|
|||||||
Other resources:
|
Other resources:
|
||||||
|
|
||||||
[Helm Chart](https://github.com/Saddamus/invoiceninja-helm) by @Saddamus
|
[Helm Chart](https://github.com/Saddamus/invoiceninja-helm) by @Saddamus
|
||||||
[K8s Manifest](https://github.com/invoiceninja/dockerfiles/issues/94) by @spacepluk
|
[K8s Manifest](https://github.com/invoiceninja/dockerfiles/issues/94) by @spacepluk
|
||||||
|
[You Tube installation video by DBTech](https://www.youtube.com/watch?v=xo6a3KtLC2g&ab_channel=DBTech)
|
||||||
|
|
||||||
## Alternatively get started with Docker Compose
|
## Alternatively get started with Docker Compose
|
||||||
|
|
||||||
@@ -84,7 +83,7 @@ All that is left to do now is bring up the container
|
|||||||
|
|
||||||
### Running on ARM64 (Raspberry Pi 4)
|
### 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.
|
When deploying on an ARM64 system, you need to comment out the `image: mysql:8` line and uncomment `image: mariadb:10.4` in the `docker-compose.yml` file.
|
||||||
|
|
||||||
### Updating the Image when using `docker-compose`
|
### Updating the Image when using `docker-compose`
|
||||||
|
|
||||||
@@ -96,6 +95,7 @@ To upgrade to a newer release image, please make sure to update the `docker-comp
|
|||||||
git pull
|
git pull
|
||||||
```
|
```
|
||||||
|
|
||||||
|
It is recommended to perform a backup before.
|
||||||
You may need to manually merge any changes that cannot be merged automatically by git.
|
You may need to manually merge any changes that cannot be merged automatically by git.
|
||||||
|
|
||||||
### Thanks
|
### Thanks
|
||||||
|
|||||||
@@ -9,6 +9,8 @@ FROM --platform=$BUILDPLATFORM node:lts-alpine as build
|
|||||||
ARG INVOICENINJA_VERSION
|
ARG INVOICENINJA_VERSION
|
||||||
ADD https://github.com/invoiceninja/invoiceninja/tarball/v$INVOICENINJA_VERSION /tmp/ninja.tar.gz
|
ADD https://github.com/invoiceninja/invoiceninja/tarball/v$INVOICENINJA_VERSION /tmp/ninja.tar.gz
|
||||||
|
|
||||||
|
RUN set -eux; apk add curl unzip
|
||||||
|
|
||||||
# Extract Invoice Ninja
|
# Extract Invoice Ninja
|
||||||
RUN mkdir -p /var/www/app \
|
RUN mkdir -p /var/www/app \
|
||||||
&& tar --strip-components=1 -xf /tmp/ninja.tar.gz -C /var/www/app/ \
|
&& tar --strip-components=1 -xf /tmp/ninja.tar.gz -C /var/www/app/ \
|
||||||
@@ -16,6 +18,13 @@ RUN mkdir -p /var/www/app \
|
|||||||
&& mv /var/www/app/.env.example /var/www/app/.env \
|
&& mv /var/www/app/.env.example /var/www/app/.env \
|
||||||
&& rm -rf /var/www/app/docs /var/www/app/tests
|
&& rm -rf /var/www/app/docs /var/www/app/tests
|
||||||
|
|
||||||
|
# Download and extract the latest react application
|
||||||
|
RUN curl -LGO $(curl https://api.github.com/repos/turbo124/ui-1/releases/latest | grep "browser_download_url" | awk '{ print $2 }' | sed 's/,$//' | sed 's/"//g');
|
||||||
|
RUN cp invoiceninja-react.zip /tmp/invoiceninja-react.zip
|
||||||
|
RUN unzip /tmp/invoiceninja-react.zip
|
||||||
|
RUN cp -r dist/react/* /var/www/app/public/react/
|
||||||
|
# Download and extract the latest react application
|
||||||
|
#
|
||||||
WORKDIR /var/www/app/
|
WORKDIR /var/www/app/
|
||||||
|
|
||||||
# Install node packages
|
# Install node packages
|
||||||
@@ -32,6 +41,10 @@ FROM php:${PHP_VERSION}-fpm-alpine3.15 as prod
|
|||||||
|
|
||||||
LABEL maintainer="David Bomba <turbo124@gmail.com>"
|
LABEL maintainer="David Bomba <turbo124@gmail.com>"
|
||||||
|
|
||||||
|
# Adding caching_sha2_password.so
|
||||||
|
# With this we get native support for caching_sha2_password
|
||||||
|
RUN apk add --no-cache mariadb-connector-c
|
||||||
|
|
||||||
RUN mv /usr/local/etc/php/php.ini-production /usr/local/etc/php/php.ini
|
RUN mv /usr/local/etc/php/php.ini-production /usr/local/etc/php/php.ini
|
||||||
|
|
||||||
# Install PHP extensions
|
# Install PHP extensions
|
||||||
@@ -53,6 +66,7 @@ RUN install-php-extensions \
|
|||||||
# Install chromium
|
# Install chromium
|
||||||
RUN set -eux; \
|
RUN set -eux; \
|
||||||
apk add --no-cache \
|
apk add --no-cache \
|
||||||
|
font-isas-misc \
|
||||||
supervisor \
|
supervisor \
|
||||||
mysql-client \
|
mysql-client \
|
||||||
git \
|
git \
|
||||||
|
|||||||
@@ -12,3 +12,4 @@ if [[ ! -z "${IN_PASSWORD}" ]]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
php artisan ninja:create-account $email $password
|
php artisan ninja:create-account $email $password
|
||||||
|
php artisan ninja:react
|
||||||
@@ -1,15 +1,15 @@
|
|||||||
dependencies:
|
dependencies:
|
||||||
- name: common
|
- name: common
|
||||||
repository: https://charts.bitnami.com/bitnami
|
repository: https://charts.bitnami.com/bitnami
|
||||||
version: 1.7.0
|
version: 2.2.2
|
||||||
- name: nginx
|
- name: nginx
|
||||||
repository: https://charts.bitnami.com/bitnami
|
repository: https://charts.bitnami.com/bitnami
|
||||||
version: 9.3.7
|
version: 13.2.20
|
||||||
- name: mariadb
|
- name: mariadb
|
||||||
repository: https://charts.bitnami.com/bitnami
|
repository: https://charts.bitnami.com/bitnami
|
||||||
version: 9.3.17
|
version: 11.4.2
|
||||||
- name: redis
|
- name: redis
|
||||||
repository: https://charts.bitnami.com/bitnami
|
repository: https://charts.bitnami.com/bitnami
|
||||||
version: 14.7.1
|
version: 16.13.2
|
||||||
digest: sha256:495d7cedf5284501249705101853f33d1bb479b35ce11a518631682cdb38c15f
|
digest: sha256:da0dca54f32ca0465f89744d6247421ad13c907f09cd40fb21985c81888aaef1
|
||||||
generated: "2021-07-16T00:53:22.586326+08:00"
|
generated: "2022-12-23T12:54:52.476889+08:00"
|
||||||
|
|||||||
@@ -13,11 +13,11 @@ type: application
|
|||||||
# This is the chart version. This version number should be incremented each time you make changes
|
# This is the chart version. This version number should be incremented each time you make changes
|
||||||
# to the chart and its templates, including the app version.
|
# to the chart and its templates, including the app version.
|
||||||
# Versions are expected to follow Semantic Versioning (https://semver.org/)
|
# Versions are expected to follow Semantic Versioning (https://semver.org/)
|
||||||
version: 0.9.2
|
version: 0.10.1
|
||||||
# This is the version number of the application being deployed. This version number should be
|
# This is the version number of the application being deployed. This version number should be
|
||||||
# incremented each time you make changes to the application. Versions are not expected to
|
# incremented each time you make changes to the application. Versions are not expected to
|
||||||
# follow Semantic Versioning. They should reflect the version the application is using.
|
# follow Semantic Versioning. They should reflect the version the application is using.
|
||||||
appVersion: 5.3.80
|
appVersion: 5.5.49
|
||||||
keywords:
|
keywords:
|
||||||
- invoiceninja
|
- invoiceninja
|
||||||
home: https://invoiceninja.github.io/dockerfiles
|
home: https://invoiceninja.github.io/dockerfiles
|
||||||
@@ -29,19 +29,19 @@ dependencies:
|
|||||||
repository: https://charts.bitnami.com/bitnami
|
repository: https://charts.bitnami.com/bitnami
|
||||||
tags:
|
tags:
|
||||||
- bitnami-common
|
- bitnami-common
|
||||||
version: 1.x.x
|
version: 2.x.x
|
||||||
- condition: nginx.enabled
|
- condition: nginx.enabled
|
||||||
name: nginx
|
name: nginx
|
||||||
repository: https://charts.bitnami.com/bitnami
|
repository: https://charts.bitnami.com/bitnami
|
||||||
version: 9.x.x
|
version: 13.x.x
|
||||||
- condition: mariadb.enabled
|
- condition: mariadb.enabled
|
||||||
name: mariadb
|
name: mariadb
|
||||||
repository: https://charts.bitnami.com/bitnami
|
repository: https://charts.bitnami.com/bitnami
|
||||||
version: 9.3.x
|
version: 11.4.x
|
||||||
- condition: redis.enabled
|
- condition: redis.enabled
|
||||||
name: redis
|
name: redis
|
||||||
repository: https://charts.bitnami.com/bitnami
|
repository: https://charts.bitnami.com/bitnami
|
||||||
version: 14.x.x
|
version: 16.x.x
|
||||||
maintainers:
|
maintainers:
|
||||||
- email: lwj5@hotmail.com
|
- email: lwj5@hotmail.com
|
||||||
name: lwj5
|
name: lwj5
|
||||||
|
|||||||
@@ -360,6 +360,16 @@ If you have the ability to use `ReadWriteMany` persistent volume, you can choose
|
|||||||
|
|
||||||
## Upgrading
|
## Upgrading
|
||||||
|
|
||||||
|
### To 0.10.0
|
||||||
|
|
||||||
|
The following chart dependencies have been upgraded.
|
||||||
|
- MariaDB
|
||||||
|
- Redis
|
||||||
|
- Nginx
|
||||||
|
- Bitnami common
|
||||||
|
|
||||||
|
Please take note that this upgrade MariaDB from 10.5 to 10.6. Please backup your database before proceeding.
|
||||||
|
|
||||||
### To 0.8.0
|
### To 0.8.0
|
||||||
|
|
||||||
To improve the accessibility of this chart to regular users. Some of the defaults have been changed. This include:
|
To improve the accessibility of this chart to regular users. Some of the defaults have been changed. This include:
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ data:
|
|||||||
server-block.conf: |-
|
server-block.conf: |-
|
||||||
server {
|
server {
|
||||||
listen 8080 default_server;
|
listen 8080 default_server;
|
||||||
|
listen [::]:8080 default_server;
|
||||||
server_name _;
|
server_name _;
|
||||||
|
|
||||||
root /app;
|
root /app;
|
||||||
|
|||||||
@@ -18,7 +18,7 @@
|
|||||||
image:
|
image:
|
||||||
registry: docker.io
|
registry: docker.io
|
||||||
repository: invoiceninja/invoiceninja
|
repository: invoiceninja/invoiceninja
|
||||||
tag: 5.3.80
|
tag: 5.5.49
|
||||||
## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
|
## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
|
||||||
## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images
|
## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images
|
||||||
##
|
##
|
||||||
@@ -298,7 +298,7 @@ http:
|
|||||||
image:
|
image:
|
||||||
registry: docker.io
|
registry: docker.io
|
||||||
repository: bitnami/nginx
|
repository: bitnami/nginx
|
||||||
tag: 1.21.1-debian-10-r0
|
tag: 1.22.1-debian-11-r21
|
||||||
## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
|
## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
|
||||||
## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images
|
## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images
|
||||||
##
|
##
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
FROM mysql:5
|
FROM mysql:8
|
||||||
# When running on ARM64 use MariaDB instead of MySQL
|
# When running on ARM64 use MariaDB instead of MySQL
|
||||||
#FROM mariadb:10.4
|
#FROM mariadb:10.4
|
||||||
ENV force_color_prompt yes
|
ENV force_color_prompt yes
|
||||||
|
|||||||
@@ -1,7 +1,9 @@
|
|||||||
server {
|
server {
|
||||||
listen 80 default_server;
|
listen 80 default_server;
|
||||||
server_name _;
|
server_name _;
|
||||||
|
|
||||||
|
server_tokens off;
|
||||||
|
|
||||||
client_max_body_size 100M;
|
client_max_body_size 100M;
|
||||||
|
|
||||||
root /var/www/app/public/;
|
root /var/www/app/public/;
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ services:
|
|||||||
- "in5.localhost:192.168.0.124 " #host and ip
|
- "in5.localhost:192.168.0.124 " #host and ip
|
||||||
|
|
||||||
db:
|
db:
|
||||||
image: mysql:5
|
image: mysql:8
|
||||||
# When running on ARM64 use MariaDB instead of MySQL
|
# When running on ARM64 use MariaDB instead of MySQL
|
||||||
# image: mariadb:10.4
|
# image: mariadb:10.4
|
||||||
# For auto DB backups comment out image and use the build block below
|
# For auto DB backups comment out image and use the build block below
|
||||||
|
|||||||
Reference in New Issue
Block a user