mirror of
https://github.com/invoiceninja/dockerfiles.git
synced 2025-12-31 19:47:25 +01:00
Compare commits
160 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ff3b7263f5 | ||
|
|
ba896fcc03 | ||
|
|
b53ed7c914 | ||
|
|
e3fd4afb7d | ||
|
|
afceccfaf6 | ||
|
|
320cdc961d | ||
|
|
7e466b38a3 | ||
|
|
c5bb7960c3 | ||
|
|
3bf4174cbf | ||
|
|
18550bcf3e | ||
|
|
83bfb1b22f | ||
|
|
e4b3e0f0f1 | ||
|
|
a060c70d3f | ||
|
|
d8749fa049 | ||
|
|
febb70263c | ||
|
|
4b6b287906 | ||
|
|
e0bb394346 | ||
|
|
914bebebf6 | ||
|
|
e617f2d808 | ||
|
|
3a4f138f6a | ||
|
|
ce9ce4fd26 | ||
|
|
d01706a734 | ||
|
|
00e54c9c23 | ||
|
|
4ea7218cd8 | ||
|
|
e161a85133 | ||
|
|
d27c1a22d8 | ||
|
|
83dbf94c2b | ||
|
|
c0ee1a5521 | ||
|
|
018e0e7b2a | ||
|
|
07a211bc13 | ||
|
|
4c9ae7e92f | ||
|
|
fe1ff5c496 | ||
|
|
3a0d184fb2 | ||
|
|
42c62adf1a | ||
|
|
7a72c2ef16 | ||
|
|
974df2fa20 | ||
|
|
7629f51492 | ||
|
|
977e2001f0 | ||
|
|
a520f32385 | ||
|
|
9b63fc3fbc | ||
|
|
cbaf961012 | ||
|
|
797aa6bdf8 | ||
|
|
103b912467 | ||
|
|
7a171b96c7 | ||
|
|
c69093a265 | ||
|
|
8863ed9e38 | ||
|
|
76b5e10318 | ||
|
|
9941847af7 | ||
|
|
edf21b5d4f | ||
|
|
7acd479cfd | ||
|
|
bed751ce18 | ||
|
|
303bc81d3d | ||
|
|
47e5c41a19 | ||
|
|
89a994b12f | ||
|
|
5984339118 | ||
|
|
47dba02b27 | ||
|
|
1aca36878c | ||
|
|
cf324703a8 | ||
|
|
df2ea66cda | ||
|
|
02eed022ac | ||
|
|
738546d7b1 | ||
|
|
e31a2b77bc | ||
|
|
50debff2da | ||
|
|
492d895d06 | ||
|
|
51294f6b76 | ||
|
|
81617a3dec | ||
|
|
a874ceb7c2 | ||
|
|
4a3d8783d4 | ||
|
|
84a6637f80 | ||
|
|
821f3f5ec7 | ||
|
|
dafd4051d3 | ||
|
|
c6b44487f3 | ||
|
|
b2e03ce544 | ||
|
|
78fd70118a | ||
|
|
59616eada8 | ||
|
|
0fab60378a | ||
|
|
47db01612d | ||
|
|
1a1cea632b | ||
|
|
5609b988f3 | ||
|
|
0f9d39998f | ||
|
|
fd01abb0a0 | ||
|
|
6887e2b30a | ||
|
|
6faf1dc135 | ||
|
|
d7cd59c80f | ||
|
|
8206377870 | ||
|
|
93214291c9 | ||
|
|
f3477e6e80 | ||
|
|
d766e8284c | ||
|
|
08e24b4b01 | ||
|
|
43cc7417ba | ||
|
|
150abf1d6e | ||
|
|
31b3d309b3 | ||
|
|
cb74a1f93b | ||
|
|
f566ec5715 | ||
|
|
91cc86af6d | ||
|
|
7bac478538 | ||
|
|
f93fa6b874 | ||
|
|
d9a40ebb43 | ||
|
|
db5d0ebf50 | ||
|
|
926b3d618b | ||
|
|
85d256a435 | ||
|
|
acf9c22ff7 | ||
|
|
b0ebac9719 | ||
|
|
65c5ceb69b | ||
|
|
6aa39b4b57 | ||
|
|
c4ac430d1b | ||
|
|
87066953d3 | ||
|
|
3969a37852 | ||
|
|
bec60de1e7 | ||
|
|
c0150debbf | ||
|
|
f45261617f | ||
|
|
21b6cf1f26 | ||
|
|
d3a4948641 | ||
|
|
a9a6b72c7a | ||
|
|
4fd6ca33c8 | ||
|
|
bca8404f5f | ||
|
|
3cf7c28875 | ||
|
|
96dee55e7f | ||
|
|
ae592a8407 | ||
|
|
b72757ead0 | ||
|
|
a20fc14683 | ||
|
|
0e2934d1e3 | ||
|
|
fefc51ccf1 | ||
|
|
acdd6851ff | ||
|
|
6ff8e04aa7 | ||
|
|
86f1dd43cf | ||
|
|
cc1f569324 | ||
|
|
c78f7a7bdf | ||
|
|
7198222787 | ||
|
|
4ef4531a4e | ||
|
|
c51d113abe | ||
|
|
dddd558873 | ||
|
|
5727550983 | ||
|
|
03536efb6a | ||
|
|
6a05bdbbd5 | ||
|
|
e5debf03d4 | ||
|
|
33a55e362b | ||
|
|
70e1de9a95 | ||
|
|
e1b113bba1 | ||
|
|
c967aaccf4 | ||
|
|
15aefa698b | ||
|
|
c9beedc84b | ||
|
|
d409d9696a | ||
|
|
7d977a41e3 | ||
|
|
8db5c792a8 | ||
|
|
b3768cbed3 | ||
|
|
25d2d1d271 | ||
|
|
abfb5d1338 | ||
|
|
300c2d236d | ||
|
|
56e451ea8b | ||
|
|
ad3ffc227d | ||
|
|
e64db79c75 | ||
|
|
5fcad81fc2 | ||
|
|
2e383ef879 | ||
|
|
bb6b3dc1e8 | ||
|
|
4a7b28f1d0 | ||
|
|
1699ddde65 | ||
|
|
63431878b8 | ||
|
|
03cc1ff548 | ||
|
|
4aa7a7032c |
2
.github/workflows/build-image-v4.yaml
vendored
2
.github/workflows/build-image-v4.yaml
vendored
@@ -31,7 +31,7 @@ jobs:
|
||||
uses: docker/setup-buildx-action@v1
|
||||
|
||||
- name: Cache Docker layers
|
||||
uses: actions/cache@v2
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: /tmp/.buildx-cache
|
||||
key: ${{ runner.os }}-buildx-4-${{ hashFiles('alpine/5/cache_buster') }}-${{ github.sha }}
|
||||
|
||||
8
.github/workflows/build-image-v5.yaml
vendored
8
.github/workflows/build-image-v5.yaml
vendored
@@ -16,7 +16,7 @@ on:
|
||||
|
||||
jobs:
|
||||
docker:
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
@@ -31,7 +31,7 @@ jobs:
|
||||
uses: docker/setup-buildx-action@v1
|
||||
|
||||
- name: Cache Docker layers
|
||||
uses: actions/cache@v2
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: /tmp/.buildx-cache
|
||||
key: ${{ runner.os }}-buildx-5-${{ hashFiles('alpine/5/cache_buster') }}-${{ github.sha }}
|
||||
@@ -44,7 +44,7 @@ jobs:
|
||||
with:
|
||||
builder: ${{ steps.buildx.outputs.name }}
|
||||
context: ./alpine/5/
|
||||
build-args: INVOICENINJA_VERSION=5-stable
|
||||
build-args: INVOICENINJA_VERSION=5-develop
|
||||
target: prod
|
||||
platforms: linux/amd64,linux/arm64
|
||||
tags: invoiceninja/invoiceninja:cache
|
||||
@@ -54,4 +54,4 @@ jobs:
|
||||
- name: Move cache
|
||||
run: |
|
||||
rm -rf /tmp/.buildx-cache
|
||||
mv /tmp/.buildx-cache-new /tmp/.buildx-cache
|
||||
mv /tmp/.buildx-cache-new /tmp/.buildx-cache
|
||||
16
.github/workflows/publish-image.yaml
vendored
16
.github/workflows/publish-image.yaml
vendored
@@ -11,7 +11,7 @@ on:
|
||||
|
||||
jobs:
|
||||
docker:
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
@@ -31,9 +31,9 @@ jobs:
|
||||
if [[ $VERSION =~ ^5\.[0-9]{1,3}\.[0-9]{1,3}$ ]]; then
|
||||
TAGS="$TAGS,${DOCKER_IMAGE}:latest"
|
||||
fi
|
||||
echo ::set-output name=tags::${TAGS}
|
||||
echo ::set-output name=version::${VERSION}
|
||||
echo ::set-output name=major::${MAJOR}
|
||||
echo "tags=${TAGS}" >> $GITHUB_OUTPUT
|
||||
echo "version=${VERSION}" >> $GITHUB_OUTPUT
|
||||
echo "major=${MAJOR}" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v1
|
||||
@@ -45,12 +45,12 @@ jobs:
|
||||
uses: docker/setup-buildx-action@v1
|
||||
|
||||
- name: Cache Docker layers
|
||||
uses: actions/cache@v2
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: /tmp/.buildx-cache
|
||||
key: ${{ runner.os }}-buildx-${{ steps.prep.outputs.major }}-${{ hashFiles('alpine/${{ steps.prep.outputs.major }}/cache_buster') }}-${{ github.sha }}
|
||||
key: ${{ runner.os }}-buildx-5-${{ hashFiles('alpine/5/cache_buster') }}-${{ github.sha }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-buildx-${{ steps.prep.outputs.major }}-${{ hashFiles('alpine/${{ steps.prep.outputs.major }}/cache_buster') }}-
|
||||
${{ runner.os }}-buildx-5-${{ hashFiles('alpine/5/cache_buster') }}-
|
||||
|
||||
- name: Login to DockerHub
|
||||
if: github.event_name != 'pull_request'
|
||||
@@ -79,4 +79,4 @@ jobs:
|
||||
mv /tmp/.buildx-cache-new /tmp/.buildx-cache
|
||||
|
||||
- name: Image digest
|
||||
run: echo ${{ steps.docker_build.outputs.digest }}
|
||||
run: echo ${{ steps.docker_build.outputs.digest }}
|
||||
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 }}"
|
||||
|
||||
55
.github/workflows/test-charts.yaml
vendored
55
.github/workflows/test-charts.yaml
vendored
@@ -12,19 +12,20 @@ jobs:
|
||||
matrix: ${{ steps.set-matrix.outputs.matrix }}
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
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@v4
|
||||
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
|
||||
|
||||
13
README.md
13
README.md
@@ -1,8 +1,14 @@
|
||||

|
||||
[](https://hub.docker.com/r/invoiceninja/invoiceninja)
|
||||
[](https://hub.docker.com/r/invoiceninja/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)
|
||||
|
||||
# Deprecation Notice
|
||||
|
||||
The master branch is not longer receiving active updates. We will continue to tag new releases whilst compatibility with underlying packages remains, however we will not be updating this image going forward.
|
||||
|
||||
Instead, please use the debian branch [here](https://github.com/invoiceninja/dockerfiles/tree/debian) this image is a completely fresh start based on the debian image and allows improved package support.
|
||||
|
||||
# Docker for [Invoice Ninja](https://www.invoiceninja.com/)
|
||||
|
||||
@@ -83,7 +89,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`
|
||||
|
||||
@@ -95,6 +101,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,43 +1,51 @@
|
||||
ARG PHP_VERSION=8.1
|
||||
ARG ALPINE_VERSION=3.20
|
||||
ARG PHP_VERSION=8.2
|
||||
ARG BAK_STORAGE_PATH=/var/www/app/docker-backup-storage/
|
||||
ARG BAK_PUBLIC_PATH=/var/www/app/docker-backup-public/
|
||||
|
||||
# Get Invoice Ninja and install nodejs packages
|
||||
FROM --platform=$BUILDPLATFORM node:lts-alpine as build
|
||||
FROM --platform=$BUILDPLATFORM node:lts-alpine${ALPINE_VERSION} as nodebuild
|
||||
|
||||
# Download Invoice Ninja
|
||||
ARG INVOICENINJA_VERSION
|
||||
ADD https://github.com/invoiceninja/invoiceninja/tarball/v$INVOICENINJA_VERSION /tmp/ninja.tar.gz
|
||||
ARG REPOSITORY=invoiceninja/invoiceninja
|
||||
ARG FILENAME=invoiceninja.tar.gz
|
||||
|
||||
RUN set -eux; apk add curl unzip grep
|
||||
|
||||
# Extract Invoice Ninja
|
||||
RUN mkdir -p /var/www/app \
|
||||
&& tar --strip-components=1 -xf /tmp/ninja.tar.gz -C /var/www/app/ \
|
||||
&& mkdir -p /var/www/app/public/logo /var/www/app/storage \
|
||||
&& mv /var/www/app/.env.example /var/www/app/.env \
|
||||
&& rm -rf /var/www/app/docs /var/www/app/tests
|
||||
|
||||
WORKDIR /var/www/app/
|
||||
|
||||
# Install node packages
|
||||
ARG BAK_STORAGE_PATH
|
||||
ARG BAK_PUBLIC_PATH
|
||||
RUN --mount=target=/var/www/app/node_modules,type=cache \
|
||||
npm install --production \
|
||||
&& npm run production \
|
||||
&& mv /var/www/app/storage $BAK_STORAGE_PATH \
|
||||
&& mv /var/www/app/public $BAK_PUBLIC_PATH
|
||||
RUN mkdir -p /var/www/app
|
||||
RUN curl -sL "https://github.com/invoiceninja/invoiceninja/releases/latest/download/invoiceninja.tar.gz" | \
|
||||
tar -xz -C /var/www/app/
|
||||
RUN mkdir -p /var/www/app/public/logo /var/www/app/storage
|
||||
|
||||
WORKDIR /var/www/app
|
||||
|
||||
# Prepare php image
|
||||
FROM php:${PHP_VERSION}-fpm-alpine3.15 as prod
|
||||
FROM php:${PHP_VERSION}-fpm-alpine${ALPINE_VERSION} as phpbuild
|
||||
|
||||
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
|
||||
# https://hub.docker.com/r/mlocati/php-extension-installer/tags
|
||||
COPY --from=mlocati/php-extension-installer /usr/bin/install-php-extensions /usr/local/bin/
|
||||
|
||||
# Install chromium
|
||||
RUN set -eux; \
|
||||
apk add --no-cache \
|
||||
font-isas-misc \
|
||||
supervisor \
|
||||
mysql-client \
|
||||
chromium \
|
||||
ttf-freefont \
|
||||
ttf-dejavu
|
||||
|
||||
RUN install-php-extensions \
|
||||
bcmath \
|
||||
exif \
|
||||
@@ -47,19 +55,10 @@ RUN install-php-extensions \
|
||||
opcache \
|
||||
pdo_mysql \
|
||||
zip \
|
||||
intl \
|
||||
@composer \
|
||||
&& rm /usr/local/bin/install-php-extensions
|
||||
|
||||
# Install chromium
|
||||
RUN set -eux; \
|
||||
apk add --no-cache \
|
||||
font-isas-misc \
|
||||
supervisor \
|
||||
mysql-client \
|
||||
git \
|
||||
chromium \
|
||||
ttf-freefont
|
||||
|
||||
# Copy files
|
||||
COPY rootfs /
|
||||
|
||||
@@ -75,6 +74,8 @@ RUN addgroup --gid=$UID -S "$INVOICENINJA_USER" \
|
||||
--ingroup "$INVOICENINJA_USER" \
|
||||
"$INVOICENINJA_USER"
|
||||
|
||||
WORKDIR /var/www/app
|
||||
|
||||
# Set up app
|
||||
ARG INVOICENINJA_VERSION
|
||||
ARG BAK_STORAGE_PATH
|
||||
@@ -82,14 +83,30 @@ ARG BAK_PUBLIC_PATH
|
||||
ENV INVOICENINJA_VERSION $INVOICENINJA_VERSION
|
||||
ENV BAK_STORAGE_PATH $BAK_STORAGE_PATH
|
||||
ENV BAK_PUBLIC_PATH $BAK_PUBLIC_PATH
|
||||
COPY --from=build --chown=$INVOICENINJA_USER:$INVOICENINJA_USER /var/www/app /var/www/app
|
||||
COPY --from=nodebuild --chown=$INVOICENINJA_USER:$INVOICENINJA_USER /var/www/app /var/www/app
|
||||
|
||||
RUN rm -rf /var/www/app/ui
|
||||
|
||||
USER $UID
|
||||
WORKDIR /var/www/app
|
||||
|
||||
# Do not remove this ENV
|
||||
ENV IS_DOCKER true
|
||||
RUN /usr/local/bin/composer install --no-dev --quiet
|
||||
FROM --platform=$BUILDPLATFORM nodebuild AS dependencybuild
|
||||
|
||||
WORKDIR /var/www/app
|
||||
COPY --from=phpbuild /var/www/app /var/www/app
|
||||
|
||||
# # Install node packages
|
||||
ARG BAK_STORAGE_PATH
|
||||
ARG BAK_PUBLIC_PATH
|
||||
|
||||
RUN mv /var/www/app/storage $BAK_STORAGE_PATH \
|
||||
&& mv /var/www/app/public $BAK_PUBLIC_PATH
|
||||
|
||||
FROM phpbuild as prod
|
||||
|
||||
COPY --from=dependencybuild --chown=$INVOICENINJA_USER:$INVOICENINJA_USER /var/www/app /var/www/app
|
||||
|
||||
# Override the environment settings from projects .env file
|
||||
ENV APP_ENV production
|
||||
|
||||
@@ -1 +1 @@
|
||||
Fri Jul 2 7:33:22 +00 2021
|
||||
Fri Jul 4 7:33:22 +00 2023
|
||||
@@ -1,6 +1,7 @@
|
||||
#!/bin/sh
|
||||
|
||||
php artisan db:seed --force
|
||||
php artisan cache:clear
|
||||
|
||||
# Build up array of arguments...
|
||||
if [[ ! -z "${IN_USER_EMAIL}" ]]; then
|
||||
@@ -11,4 +12,4 @@ if [[ ! -z "${IN_PASSWORD}" ]]; then
|
||||
password="--password ${IN_PASSWORD}"
|
||||
fi
|
||||
|
||||
php artisan ninja:create-account $email $password
|
||||
php artisan ninja:create-account $email $password
|
||||
@@ -27,6 +27,7 @@ docker_process_init_files() {
|
||||
|
||||
php artisan config:cache
|
||||
php artisan optimize
|
||||
php artisan package:discover
|
||||
|
||||
# Check if DB works, if not crash the app.
|
||||
DB_READY=$(php artisan tinker --execute='echo app()->call("App\Utils\SystemHealth@dbCheck")["success"];')
|
||||
|
||||
@@ -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.9.2
|
||||
version: 0.10.2
|
||||
# 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.3.80
|
||||
appVersion: 5.6.24
|
||||
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:
|
||||
|
||||
@@ -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.3.80
|
||||
tag: 5.6.24
|
||||
## 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/;
|
||||
@@ -14,6 +16,11 @@ server {
|
||||
location = /favicon.ico { access_log off; log_not_found off; }
|
||||
location = /robots.txt { access_log off; log_not_found off; }
|
||||
|
||||
|
||||
location ~* /storage/.*\.php$ {
|
||||
return 503;
|
||||
}
|
||||
|
||||
location ~ \.php$ {
|
||||
fastcgi_split_path_info ^(.+\.php)(/.+)$;
|
||||
fastcgi_pass app:9000;
|
||||
|
||||
18
config/php/php-cli.ini
Normal file
18
config/php/php-cli.ini
Normal file
@@ -0,0 +1,18 @@
|
||||
session.auto_start = Off
|
||||
short_open_tag = Off
|
||||
|
||||
error_reporting = E_ALL & ~E_NOTICE & ~E_WARNING & ~E_STRICT & ~E_DEPRECATED
|
||||
|
||||
; opcache.enable_cli=1
|
||||
; opcache.fast_shutdown=1
|
||||
; opcache.memory_consumption=256
|
||||
; opcache.interned_strings_buffer=8
|
||||
; opcache.max_accelerated_files=4000
|
||||
; opcache.revalidate_freq=60
|
||||
; # http://symfony.com/doc/current/performance.html
|
||||
; realpath_cache_size = 4096K
|
||||
; realpath_cache_ttl = 600
|
||||
|
||||
memory_limit = 2G
|
||||
post_max_size = 60M
|
||||
upload_max_filesize = 50M
|
||||
21
config/php/php.ini
Normal file
21
config/php/php.ini
Normal file
@@ -0,0 +1,21 @@
|
||||
session.auto_start = Off
|
||||
short_open_tag = Off
|
||||
|
||||
error_reporting = E_ALL & ~E_NOTICE & ~E_WARNING & ~E_STRICT & ~E_DEPRECATED
|
||||
|
||||
; opcache.enable=1
|
||||
; opcache.preload=/var/www/app/preload.php
|
||||
; opcache.preload_user=www-data
|
||||
|
||||
; ; The OPcache shared memory storage size.
|
||||
; opcache.max_accelerated_files=300000
|
||||
; opcache.validate_timestamps=1
|
||||
; opcache.revalidate_freq=30
|
||||
; opcache.jit_buffer_size=256M
|
||||
; opcache.jit=1205
|
||||
; opcache.memory_consumption=1024M
|
||||
|
||||
|
||||
post_max_size = 60M
|
||||
upload_max_filesize = 50M
|
||||
memory_limit=512M
|
||||
@@ -30,6 +30,9 @@ services:
|
||||
- ./config/hosts:/etc/hosts:ro
|
||||
- ./docker/app/public:/var/www/app/public:rw,delegated
|
||||
- ./docker/app/storage:/var/www/app/storage:rw,delegated
|
||||
- ./config/php/php.ini:/usr/local/etc/php/php.ini
|
||||
- ./config/php/php-cli.ini:/usr/local/etc/php/php-cli.ini
|
||||
|
||||
depends_on:
|
||||
- db
|
||||
networks:
|
||||
@@ -38,14 +41,12 @@ 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
|
||||
# build:
|
||||
# context: ./config/mysql
|
||||
ports:
|
||||
- "3305:3306"
|
||||
restart: always
|
||||
env_file: env
|
||||
volumes:
|
||||
|
||||
Reference in New Issue
Block a user