mirror of
https://github.com/invoiceninja/dockerfiles.git
synced 2026-01-01 20:17:26 +01:00
Compare commits
42 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 | ||
|
|
4b82f750fc | ||
|
|
97d339df4e | ||
|
|
906cfb0c87 | ||
|
|
62a7f6d7cf | ||
|
|
1d97234b51 | ||
|
|
aab280dcc1 | ||
|
|
faffcadc45 | ||
|
|
25b3654a53 | ||
|
|
46cd35bf32 | ||
|
|
53b4e6dafd | ||
|
|
27b6c82fe4 | ||
|
|
64fdd58ba9 | ||
|
|
85519a0038 | ||
|
|
5d5f34b7e7 | ||
|
|
774b8cb6eb | ||
|
|
76a0886278 | ||
|
|
2bac5707ae | ||
|
|
c17e37c4b8 |
10
.github/workflows/release-chart.yaml
vendored
10
.github/workflows/release-chart.yaml
vendored
@@ -12,21 +12,23 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v1
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Configure Git
|
||||
run: |
|
||||
git config user.name "$GITHUB_ACTOR"
|
||||
git config user.email "$GITHUB_ACTOR@users.noreply.github.com"
|
||||
|
||||
- uses: azure/setup-helm@v1
|
||||
id: install
|
||||
- name: Set up Helm
|
||||
uses: azure/setup-helm@v3
|
||||
|
||||
- name: Add Helm repos
|
||||
run: |
|
||||
helm repo add bitnami https://charts.bitnami.com/bitnami
|
||||
|
||||
- name: Run chart-releaser
|
||||
uses: helm/chart-releaser-action@v1.2.1
|
||||
uses: helm/chart-releaser-action@v1.4.1
|
||||
env:
|
||||
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
|
||||
|
||||
- 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:
|
||||
python-version: 3.7
|
||||
python-version: "3.9"
|
||||
check-latest: true
|
||||
|
||||
- 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)
|
||||
id: list-changed
|
||||
@@ -41,7 +42,7 @@ jobs:
|
||||
- name: Run chart-testing (lint)
|
||||
run: ct lint --config .github/ct-lint.yaml
|
||||
|
||||
kubeval-chart:
|
||||
kubeconform-chart:
|
||||
runs-on: ubuntu-latest
|
||||
needs:
|
||||
- lint-chart
|
||||
@@ -49,39 +50,44 @@ jobs:
|
||||
matrix:
|
||||
chart: ${{ fromJson(needs.lint-chart.outputs.matrix) }}
|
||||
k8s:
|
||||
- v1.19.11
|
||||
- v1.20.7
|
||||
- v1.21.2
|
||||
- "1.25.5"
|
||||
- "1.24.9"
|
||||
- "1.23.15"
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v1
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Update Helm depdendencies
|
||||
env:
|
||||
CHART_DIR: ${{ matrix.chart }}
|
||||
run: |
|
||||
helm dependency update "${CHART_DIR}"
|
||||
mkdir kubeval
|
||||
helm template "${CHART_DIR}" > kubeval/combined.yaml
|
||||
mkdir tmp
|
||||
helm template "${CHART_DIR}" > tmp/combined.yaml
|
||||
|
||||
- name: Run kubeval
|
||||
uses: instrumenta/kubeval-action@master
|
||||
- uses: yokawasa/action-setup-kube-tools@v0.9.2
|
||||
with:
|
||||
files: kubeval
|
||||
version: ${{ matrix.k8s }}
|
||||
setup-tools: |
|
||||
kubeconform
|
||||
|
||||
- name: Run kubeconform
|
||||
if: ${{ matrix.k8s }}
|
||||
run: kubeconform -kubernetes-version ${{ matrix.k8s }} tmp/combined.yaml
|
||||
|
||||
install-chart:
|
||||
name: install-chart
|
||||
runs-on: ubuntu-latest
|
||||
needs:
|
||||
- lint-chart
|
||||
- kubeval-chart
|
||||
- kubeconform-chart
|
||||
strategy:
|
||||
matrix:
|
||||
k8s:
|
||||
- v1.19.11
|
||||
- v1.20.7
|
||||
- v1.21.2
|
||||
- v1.25.3
|
||||
- v1.24.7
|
||||
- v1.23.13
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
@@ -89,16 +95,17 @@ jobs:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Create kind ${{ matrix.k8s }} cluster
|
||||
uses: helm/kind-action@v1.2.0
|
||||
uses: helm/kind-action@v1.4.0
|
||||
with:
|
||||
node_image: kindest/node:${{ matrix.k8s }}
|
||||
|
||||
- uses: actions/setup-python@v2
|
||||
- uses: actions/setup-python@v4
|
||||
with:
|
||||
python-version: 3.7
|
||||
python-version: "3.9"
|
||||
check-latest: true
|
||||
|
||||
- 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)
|
||||
run: ct install --config .github/ct-install.yaml
|
||||
|
||||
@@ -4,8 +4,6 @@
|
||||
[](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)
|
||||
|
||||
|
||||
|
||||
# Docker for [Invoice Ninja](https://www.invoiceninja.com/)
|
||||
|
||||
:crown: **Features**
|
||||
@@ -22,7 +20,8 @@ Introducing our very own [Helm Chart](https://github.com/invoiceninja/dockerfile
|
||||
Other resources:
|
||||
|
||||
[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
|
||||
|
||||
@@ -84,7 +83,7 @@ All that is left to do now is bring up the container
|
||||
|
||||
### 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`
|
||||
|
||||
@@ -96,6 +95,7 @@ To upgrade to a newer release image, please make sure to update the `docker-comp
|
||||
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.
|
||||
|
||||
### Thanks
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
ARG PHP_VERSION=7.2
|
||||
ARG PHP_VERSION=7.3
|
||||
ARG BAK_STORAGE_PATH=/var/www/app/docker-backup-storage/
|
||||
ARG BAK_PUBLIC_PATH=/var/www/app/docker-backup-public/
|
||||
|
||||
@@ -70,4 +70,4 @@ ENV SELF_UPDATER_SOURCE ''
|
||||
VOLUME /var/www/app/public
|
||||
|
||||
ENTRYPOINT ["docker-entrypoint"]
|
||||
CMD ["php-fpm"]
|
||||
CMD ["php-fpm"]
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
ARG PHP_VERSION=7.4
|
||||
ARG PHP_VERSION=8.1
|
||||
ARG BAK_STORAGE_PATH=/var/www/app/docker-backup-storage/
|
||||
ARG BAK_PUBLIC_PATH=/var/www/app/docker-backup-public/
|
||||
|
||||
@@ -9,6 +9,8 @@ FROM --platform=$BUILDPLATFORM node:lts-alpine as build
|
||||
ARG INVOICENINJA_VERSION
|
||||
ADD https://github.com/invoiceninja/invoiceninja/tarball/v$INVOICENINJA_VERSION /tmp/ninja.tar.gz
|
||||
|
||||
RUN set -eux; apk add curl unzip
|
||||
|
||||
# Extract Invoice Ninja
|
||||
RUN mkdir -p /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 \
|
||||
&& 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/
|
||||
|
||||
# Install node packages
|
||||
@@ -28,10 +37,14 @@ RUN --mount=target=/var/www/app/node_modules,type=cache \
|
||||
&& mv /var/www/app/public $BAK_PUBLIC_PATH
|
||||
|
||||
# Prepare php image
|
||||
FROM php:${PHP_VERSION}-fpm-alpine3.13 as prod
|
||||
FROM php:${PHP_VERSION}-fpm-alpine3.15 as prod
|
||||
|
||||
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
|
||||
|
||||
# Install PHP extensions
|
||||
@@ -53,6 +66,7 @@ RUN install-php-extensions \
|
||||
# Install chromium
|
||||
RUN set -eux; \
|
||||
apk add --no-cache \
|
||||
font-isas-misc \
|
||||
supervisor \
|
||||
mysql-client \
|
||||
git \
|
||||
|
||||
@@ -12,3 +12,4 @@ if [[ ! -z "${IN_PASSWORD}" ]]; then
|
||||
fi
|
||||
|
||||
php artisan ninja:create-account $email $password
|
||||
php artisan ninja:react
|
||||
@@ -1,15 +1,15 @@
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: https://charts.bitnami.com/bitnami
|
||||
version: 1.7.0
|
||||
version: 2.2.2
|
||||
- name: nginx
|
||||
repository: https://charts.bitnami.com/bitnami
|
||||
version: 9.3.7
|
||||
version: 13.2.20
|
||||
- name: mariadb
|
||||
repository: https://charts.bitnami.com/bitnami
|
||||
version: 9.3.17
|
||||
version: 11.4.2
|
||||
- name: redis
|
||||
repository: https://charts.bitnami.com/bitnami
|
||||
version: 14.7.1
|
||||
digest: sha256:495d7cedf5284501249705101853f33d1bb479b35ce11a518631682cdb38c15f
|
||||
generated: "2021-07-16T00:53:22.586326+08:00"
|
||||
version: 16.13.2
|
||||
digest: sha256:da0dca54f32ca0465f89744d6247421ad13c907f09cd40fb21985c81888aaef1
|
||||
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
|
||||
# to the chart and its templates, including the app version.
|
||||
# Versions are expected to follow Semantic Versioning (https://semver.org/)
|
||||
version: 0.8.0
|
||||
version: 0.10.1
|
||||
# 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
|
||||
# follow Semantic Versioning. They should reflect the version the application is using.
|
||||
appVersion: 5.2.12
|
||||
appVersion: 5.5.49
|
||||
keywords:
|
||||
- invoiceninja
|
||||
home: https://invoiceninja.github.io/dockerfiles
|
||||
@@ -29,19 +29,19 @@ dependencies:
|
||||
repository: https://charts.bitnami.com/bitnami
|
||||
tags:
|
||||
- bitnami-common
|
||||
version: 1.x.x
|
||||
version: 2.x.x
|
||||
- condition: nginx.enabled
|
||||
name: nginx
|
||||
repository: https://charts.bitnami.com/bitnami
|
||||
version: 9.x.x
|
||||
version: 13.x.x
|
||||
- condition: mariadb.enabled
|
||||
name: mariadb
|
||||
repository: https://charts.bitnami.com/bitnami
|
||||
version: 9.3.x
|
||||
version: 11.4.x
|
||||
- condition: redis.enabled
|
||||
name: redis
|
||||
repository: https://charts.bitnami.com/bitnami
|
||||
version: 14.x.x
|
||||
version: 16.x.x
|
||||
maintainers:
|
||||
- email: lwj5@hotmail.com
|
||||
name: lwj5
|
||||
|
||||
@@ -360,6 +360,16 @@ If you have the ability to use `ReadWriteMany` persistent volume, you can choose
|
||||
|
||||
## 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 improve the accessibility of this chart to regular users. Some of the defaults have been changed. This include:
|
||||
|
||||
@@ -66,7 +66,7 @@ spec:
|
||||
[[ -z "${DB_HOST1}" ]] || DB_HOST="${DB_HOST1}";
|
||||
[[ -z "${DB_PORT1}" ]] || DB_PORT="${DB_PORT1}";
|
||||
while [ $COUNTER -lt 120 ]; do
|
||||
if mysqladmin ping -h "$DB_HOST" -P $DB_PORT --silent; then
|
||||
if mysqladmin ping -h "$DB_HOST" -P $DB_PORT --connect-timeout=15 --silent; then
|
||||
exit 0;
|
||||
fi;
|
||||
let COUNTER=COUNTER+1;
|
||||
|
||||
@@ -15,6 +15,7 @@ data:
|
||||
server-block.conf: |-
|
||||
server {
|
||||
listen 8080 default_server;
|
||||
listen [::]:8080 default_server;
|
||||
server_name _;
|
||||
|
||||
root /app;
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
image:
|
||||
registry: docker.io
|
||||
repository: invoiceninja/invoiceninja
|
||||
tag: 5.2.12
|
||||
tag: 5.5.49
|
||||
## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
|
||||
## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images
|
||||
##
|
||||
@@ -298,7 +298,7 @@ http:
|
||||
image:
|
||||
registry: docker.io
|
||||
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'
|
||||
## 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
|
||||
#FROM mariadb:10.4
|
||||
ENV force_color_prompt yes
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
server {
|
||||
listen 80 default_server;
|
||||
server_name _;
|
||||
|
||||
|
||||
server_tokens off;
|
||||
|
||||
client_max_body_size 100M;
|
||||
|
||||
root /var/www/app/public/;
|
||||
|
||||
@@ -38,7 +38,7 @@ services:
|
||||
- "in5.localhost:192.168.0.124 " #host and ip
|
||||
|
||||
db:
|
||||
image: mysql:5
|
||||
image: mysql:8
|
||||
# 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
|
||||
|
||||
Reference in New Issue
Block a user