mirror of
https://github.com/invoiceninja/dockerfiles.git
synced 2026-01-07 15:07:27 +01:00
Compare commits
15 Commits
5.10.54-r5
...
5.10.55-d
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
76ca42bddb | ||
|
|
84194970b3 | ||
|
|
919e15fb40 | ||
|
|
2b8bb21d04 | ||
|
|
8ff82909c8 | ||
|
|
7ce743bd91 | ||
|
|
ffc777d5f1 | ||
|
|
1446bfabfc | ||
|
|
5ae3240677 | ||
|
|
1fc60549c2 | ||
|
|
a5ad84f22b | ||
|
|
e5847a6ff1 | ||
|
|
1c1bc350dc | ||
|
|
e83372d437 | ||
|
|
22b2f5416a |
2
.github/workflows/publish-image.yaml
vendored
2
.github/workflows/publish-image.yaml
vendored
@@ -1,4 +1,4 @@
|
||||
name: Publish Debian and Alpine Container Images
|
||||
name: Publish Debian Container Images
|
||||
|
||||
on:
|
||||
push:
|
||||
|
||||
43
README.md
43
README.md
@@ -1,15 +1,17 @@
|
||||
[](https://hub.docker.com/r/invoiceninja/invoiceninja-debian)
|
||||
[](https://hub.docker.com/r/invoiceninja/invoiceninja-debian)
|
||||
[](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-debian.yaml)
|
||||
[](https://hub.docker.com/r/invoiceninja/invoiceninja-debian)
|
||||
[](https://hub.docker.com/r/invoiceninja/invoiceninja-debian)
|
||||
[](https://github.com/invoiceninja/dockerfiles/actions/workflows/publish-image.yaml)
|
||||
[](https://github.com/invoiceninja/dockerfiles/actions/workflows/build-image-v5.yaml)
|
||||
|
||||
# Debian Docker for [Invoice Ninja](https://www.invoiceninja.com/)
|
||||
|
||||
:crown: **Features**
|
||||
|
||||
:fire: NGINX webserver support [NGINX](https://nginx.org/)
|
||||
:chrome: Built-in Chrome for PDF generation and other features
|
||||
NGINX webserver support [NGINX](https://nginx.org/)
|
||||
Built-in Chrome for PDF generation and other features
|
||||
Saxon XLST 2 engine
|
||||
OPcache
|
||||
Multi language support
|
||||
|
||||
## Get started with Docker Compose
|
||||
|
||||
@@ -31,9 +33,19 @@ IN_USER_EMAIL=
|
||||
IN_PASSWORD=
|
||||
```
|
||||
|
||||
If `IN_USER_EMAIL` and `IN_PASSWORD` is not set the default user email and password is "admin@example.com" and "changeme!" respectively. You will use this for the initial login, thereafter, you can delete these two environment variables.
|
||||
## Initial account setup
|
||||
|
||||
The `APP_KEY` can be generated by running
|
||||
### Primary account setup
|
||||
Prior to starting the container for the first time, open the .env file and update the IN_USER_EMAIL and IN_PASSWORD variables with your primary account.
|
||||
|
||||
This will take care of the initial account setup. You can later remove these .env variables.
|
||||
|
||||
> ⚠️ **Warning**
|
||||
> If `IN_USER_EMAIL` and `IN_PASSWORD` is not set the default user email and password is "admin@example.com" and "changeme!" respectively. You will use this for the initial login, thereafter, you can delete these two environment variables.
|
||||
|
||||
### Generate a APP_KEY
|
||||
|
||||
The `APP_KEY` can be generated by running:
|
||||
|
||||
```bash
|
||||
# If you haven't started the containers yet:
|
||||
@@ -43,7 +55,7 @@ docker run --rm -it invoiceninja/invoiceninja-debian php artisan key:generate --
|
||||
docker-compose exec app php artisan key:generate --show
|
||||
```
|
||||
|
||||
Copy the entire string and insert in the env file at `APP_KEY=base64....`
|
||||
Copy the entire string and insert in the .env file at `APP_KEY=base64....`
|
||||
|
||||
**Note: For PDF generation using localhost, your domain name MUST end in .test for PDFs to generate correctly due to Chrome's DNS resolver.
|
||||
|
||||
@@ -69,4 +81,13 @@ It is recommended to perform a backup before updating.
|
||||
|
||||
### Support
|
||||
|
||||
If you discover a bug, please create an issue. For general queries, visit our [Forum](https://forum.invoiceninja.com/)
|
||||
If you discover a bug, please create an issue. For general queries, visit our [Forum](https://forum.invoiceninja.com/)
|
||||
|
||||
|
||||
### Todo
|
||||
|
||||
This is a new image which should provide much better support for all users, however there are some items left to complete
|
||||
|
||||
- [ ] Backup script
|
||||
- [ ] Integrate soketi server
|
||||
- [ ] Add elastic search for site wide search
|
||||
40
debian/Dockerfile
vendored
40
debian/Dockerfile
vendored
@@ -52,16 +52,20 @@ RUN apt-get update && apt-get install -y \
|
||||
RUN mkdir -p /var/www/.chrome/chrome-profile \
|
||||
&& chown -R www-data:www-data /var/www/.chrome \
|
||||
&& chmod -R 755 /var/www/.chrome \
|
||||
&& chown root:root /usr/bin/google-chrome \
|
||||
&& chmod 4755 /usr/bin/google-chrome \
|
||||
&& chown -R root:root /opt/google/chrome \
|
||||
&& chmod -R 755 /opt/google/chrome \
|
||||
&& if [ "$(dpkg --print-architecture)" = "amd64" ]; then \
|
||||
chown root:root /usr/bin/google-chrome \
|
||||
&& chmod 4755 /usr/bin/google-chrome \
|
||||
&& chown -R root:root /opt/google/chrome \
|
||||
&& chmod -R 755 /opt/google/chrome; \
|
||||
fi \
|
||||
&& chown -R www-data:www-data /var/www
|
||||
|
||||
# Create required directories with proper permissions
|
||||
RUN mkdir -p /tmp/chrome \
|
||||
&& chown -R www-data:www-data /tmp/chrome \
|
||||
&& chmod -R 755 /tmp/chrome
|
||||
&& if [ "$(dpkg --print-architecture)" = "amd64" ]; then \
|
||||
chown -R www-data:www-data /tmp/chrome \
|
||||
&& chmod -R 755 /tmp/chrome; \
|
||||
fi
|
||||
|
||||
# Copy Install PHP extensions installer
|
||||
COPY --from=mlocati/php-extension-installer /usr/bin/install-php-extensions /usr/local/bin/
|
||||
@@ -91,18 +95,18 @@ COPY php/php-fpm.conf /usr/local/etc/php-fpm.d/www.conf
|
||||
# Configure Saxon
|
||||
WORKDIR /opt
|
||||
|
||||
## fetch
|
||||
RUN curl https://downloads.saxonica.com/SaxonC/HE/12/libsaxon-HEC-linux-x86_64-v${saxon}.zip --output saxon.zip
|
||||
RUN unzip saxon.zip -d saxon
|
||||
RUN cp saxon/libsaxon-HEC-linux-amd64-v${saxon}/libs/nix/libsaxon-hec-${saxon}.so /usr/lib/
|
||||
WORKDIR /opt/saxon/libsaxon-HEC-linux-amd64-v${saxon}/Saxon.C.API
|
||||
RUN phpize
|
||||
RUN ./configure --enable-saxon
|
||||
RUN make
|
||||
RUN ls -al
|
||||
RUN make install
|
||||
RUN echo 'extension=saxon.so' > "/usr/local/etc/php/conf.d/app.ini"
|
||||
|
||||
RUN if [ "$(dpkg --print-architecture)" = "amd64" ]; then \
|
||||
curl https://downloads.saxonica.com/SaxonC/HE/12/libsaxon-HEC-linux-x86_64-v${saxon}.zip --output saxon.zip \
|
||||
&& unzip saxon.zip -d saxon \
|
||||
&& cp saxon/libsaxon-HEC-linux-amd64-v${saxon}/libs/nix/libsaxon-hec-${saxon}.so /usr/lib/ \
|
||||
&& cd /opt/saxon/libsaxon-HEC-linux-amd64-v${saxon}/Saxon.C.API \
|
||||
&& phpize \
|
||||
&& ./configure --enable-saxon \
|
||||
&& make \
|
||||
&& make install \
|
||||
&& echo 'extension=saxon.so' > "/usr/local/etc/php/conf.d/app.ini"; \
|
||||
fi
|
||||
|
||||
# Copy scripts
|
||||
COPY rootfs /
|
||||
|
||||
|
||||
5
debian/docker-compose.yml
vendored
5
debian/docker-compose.yml
vendored
@@ -8,8 +8,7 @@ x-logging: &default-logging
|
||||
|
||||
services:
|
||||
app:
|
||||
# image: deb40d:latest
|
||||
image: invoiceninja/invoiceninja-debian:latest
|
||||
image: invoiceninja/invoiceninja-debian:5
|
||||
restart: unless-stopped
|
||||
env_file:
|
||||
- ./.env
|
||||
@@ -36,7 +35,7 @@ services:
|
||||
image: nginx:alpine
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "8013:80"
|
||||
- "80:80"
|
||||
volumes:
|
||||
- ./nginx/conf.d:/etc/nginx/conf.d:ro
|
||||
- ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro
|
||||
|
||||
Reference in New Issue
Block a user