Compare commits

..

52 Commits

Author SHA1 Message Date
Simon L
d55723dbea add missing indices on new installation
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-03-08 11:47:05 +01:00
Simon L
97b3f8465a increase to 8.0.0
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-03-08 10:50:24 +01:00
Simon L
f14a271bbc Merge pull request #4343 from p1gp1g/flushpackets
Disable Apache proxy buffering
2024-03-08 10:42:00 +01:00
Simon L
0eda1f9e9c Merge pull request #4344 from nextcloud/aio-helm-update
Helm Chart updates
2024-03-08 10:36:08 +01:00
szaimen
224feef3e3 Helm Chart updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-03-08 09:34:27 +00:00
S1m
1acdfe05e1 Disable Apache proxy buffering 2024-03-08 08:47:06 +01:00
Simon L
a915227029 add fpt configure
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-03-06 15:05:14 +01:00
Simon L
8f670a2939 Merge pull request #4337 from nextcloud/dependabot/docker/Containers/imaginary/golang-1.22.1-alpine3.18
Bump golang from 1.22.0-alpine3.18 to 1.22.1-alpine3.18 in /Containers/imaginary
2024-03-06 14:27:41 +01:00
Simon L
d1e5e3e28f Merge pull request #4336 from nextcloud/dependabot/docker/Containers/collabora/collabora/code-23.05.9.3.1
Bump collabora/code from 23.05.9.2.1 to 23.05.9.3.1 in /Containers/collabora
2024-03-06 14:27:20 +01:00
dependabot[bot]
e13d6d73e5 Bump golang in /Containers/imaginary
Bumps golang from 1.22.0-alpine3.18 to 1.22.1-alpine3.18.

---
updated-dependencies:
- dependency-name: golang
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-06 12:38:23 +00:00
dependabot[bot]
78c1a63dfe Bump collabora/code in /Containers/collabora
Bumps collabora/code from 23.05.9.2.1 to 23.05.9.3.1.

---
updated-dependencies:
- dependency-name: collabora/code
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-06 12:15:37 +00:00
Simon L
17a19f0bae Merge pull request #4334 from robeatoz/add-comment-to-temporary-psql-user-ncadmin
Add note ncadmin is a temporary PostgreSQL user
2024-03-05 16:56:44 +01:00
Simon L
2978ba98c5 add one log to imaginary container so that one know that it has started
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-03-05 15:57:04 +01:00
Robert Zilke
0ee7928181 Add note ncadmin is a temporary PostgreSQL user 2024-03-05 15:17:24 +01:00
Simon L
27c783da9c Merge pull request #4332 from AiroPi/patch-1
Add informations about custom caddy rules.
2024-03-05 11:47:33 +01:00
Pıεяяε
48c0b74c4f add sudo to the docker command
Co-authored-by: Simon L. <szaimen@e.mail.de>
Signed-off-by: Pıεяяε <47398145+AiroPi@users.noreply.github.com>
2024-03-05 11:15:23 +01:00
Pıεяяε
faff549b53 Add informations about custom caddy rules.
Add some "documentation" on how to add custom caddy rules with the caddy community container.

Signed-off-by: Pıεяяε <47398145+AiroPi@users.noreply.github.com>
2024-03-04 20:02:30 +01:00
Simon L
8380ee5262 Merge pull request #4330 from nextcloud/imaginary-container-update
Imaginary update
2024-03-04 14:22:16 +01:00
Simon L
d750d7cfd5 Merge pull request #4329 from nextcloud/dependabot/docker/Containers/clamav/clamav/clamav-1.3.0-41
Bump clamav/clamav from 1.3.0-40 to 1.3.0-41 in /Containers/clamav
2024-03-04 14:21:57 +01:00
szaimen
05facb91a1 imaginary-update automated change
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-03-04 13:04:33 +00:00
dependabot[bot]
6a0432177a Bump clamav/clamav from 1.3.0-40 to 1.3.0-41 in /Containers/clamav
Bumps clamav/clamav from 1.3.0-40 to 1.3.0-41.

---
updated-dependencies:
- dependency-name: clamav/clamav
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-04 12:29:52 +00:00
Simon L
e945d5b58b Merge pull request #3906 from nextcloud/enh/noid/update-local-ai
[breaking] - update aio-local-ai to v2
2024-03-04 12:54:25 +01:00
Simon L
e7f98c0957 Merge pull request #4267 from AiroPi/main
Add a jellyfin community-container
2024-03-04 12:47:04 +01:00
Simon L
cc6486ae2f Merge pull request #4326 from nextcloud/enh/4267/caddy-host-network
caddy community container - allow to access host.docker.internal
2024-03-04 12:43:05 +01:00
Simon L
64b1951f4f Merge pull request #4314 from nextcloud/enh/4298/namespace-improvement
helm - only add namespace if it is not default
2024-03-04 12:20:36 +01:00
Simon L
78b0e0042b Merge pull request #4325 from nextcloud/enh/2591/add-imaginary-key
secure imaginary with imaginary_key
2024-03-04 12:05:35 +01:00
Simon L
2416b85f9d caddy community container - allow to access host.docker.internal
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-03-04 12:04:05 +01:00
Simon L
fd3f6d9018 secure imaginary with imaginary_key
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-03-04 11:48:21 +01:00
Simon L
6bc2d1d6ae Merge pull request #4324 from nextcloud/enh/noid/set-maintenance-window
nextcloud - set maintenance_window_start
2024-03-04 11:27:09 +01:00
Simon L
75eb2fd7aa nextcloud - set maintenance_window_start
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-03-04 11:25:30 +01:00
Simon L
edb70a1471 Merge pull request #4323 from nextcloud/enh/4123/drop-proxy-sendcl
apache - drop SetEnv proxy-sendcl 1
2024-03-04 11:19:37 +01:00
Simon L
c844b4dbef apache - drop SetEnv proxy-sendcl 1
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-03-04 11:18:29 +01:00
Simon L
b866fe25db address review
Signed-off-by: Simon L <szaimen@e.mail.de>

Co-authored-by: Richard Steinmetz <richard@steinmetz.cloud>
Signed-off-by: Simon L. <szaimen@e.mail.de>
2024-03-04 11:16:23 +01:00
Simon L
973d503212 Merge pull request #4322 from nextcloud/enh/3888/remove-upgrade-hint
remove 28 upgrade hint from AIO interface
2024-03-04 11:10:31 +01:00
Simon L
fea71433c8 remove upgrade hint from AIO interface
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-03-04 11:08:08 +01:00
Simon L
45e87ca05a Merge pull request #4320 from nextcloud/enh/2534/update-to-php8.2
update nextcloud container to php8.2
2024-03-04 11:06:36 +01:00
Simon L
15e69ec433 Merge pull request #4321 from nextcloud/enh/3888/update-nc
update Nextcloud to 28.0.3
2024-03-04 11:05:36 +01:00
Simon L
b54ff9503a update Nextcloud to 28.0.3
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-03-04 11:04:22 +01:00
Simon L
995fca1ba6 update nextcloud container to php8.2
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-03-04 11:01:11 +01:00
Simon L
4c7f842cb2 Merge pull request #4318 from nextcloud/enh/4265/update-mastercontainer
update mastercontainer to php8.3
2024-03-04 10:56:14 +01:00
Simon L
f7eaa74768 Merge pull request #4316 from nextcloud/enh/3888/increase-aio-version
increase version of aio app
2024-03-04 10:55:59 +01:00
Simon L
b5469ad372 update mastercontainer to php8.3
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-03-04 10:49:42 +01:00
Simon L
48f6d8317a increase version of aio app
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-03-04 10:40:23 +01:00
Simon L
f0bf35e57c helm - only add namespace if it is not default
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-03-04 10:36:52 +01:00
Simon L
d8e3c83afc Merge pull request #4312 from nextcloud/enh/4297/adjust-strategy
helm chart - adjust strategy to recreate
2024-03-04 10:12:34 +01:00
Simon L
1f2920633d helm chart - adjust strategy to recreate
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-03-04 10:11:37 +01:00
Simon L
7254120e6c Merge pull request #4302 from FaySmash/patch-1
Fixed replace statement
2024-03-02 00:51:40 +01:00
FaySmash
0808ab7dca Fixed replace statement
Signed-off-by: FaySmash <30392780+FaySmash@users.noreply.github.com>
2024-03-01 19:46:59 +01:00
Pıεяяε
99a0069460 Updated README for Jellyfin, Plex, and Caddy
- Added incompatibilities between Jellyfin and Plex.
- Included note about Caddy handling `media.$NC_DOMAIN`.
- Added information about setting up a reverse proxy.
- Included security notice for Jellyfin initial setup.

Signed-off-by: Pıεяяε <47398145+AiroPi@users.noreply.github.com>
2024-02-23 16:39:34 +00:00
Pıεяяε
187d86619a Change Plex to Jellyfin in the readme
Oops, my copy/paste is spotted

Co-authored-by: Simon L. <szaimen@e.mail.de>
Signed-off-by: Pıεяяε <47398145+AiroPi@users.noreply.github.com>
2024-02-23 16:39:34 +00:00
AiroPi
9ac868f636 Add jellyfin community-container
Signed-off-by: AiroPi <47398145+AiroPi@users.noreply.github.com>
Signed-off-by: Pıεяяε <47398145+AiroPi@users.noreply.github.com>
2024-02-23 16:39:34 +00:00
Simon L
c603b17625 [breaking] - update aio-local-ai to v2
Breaking because they no longer ship Arm64 images and thus it can no longer run on arm64 and would fail to start in that case.
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-12-08 14:43:46 +01:00
42 changed files with 215 additions and 66 deletions

View File

@@ -13,7 +13,7 @@ jobs:
- uses: actions/checkout@v4
- uses: shivammathur/setup-php@v2
with:
php-version: 8.2
php-version: 8.3
extensions: apcu
- name: Run dependency update script
run: |

View File

@@ -27,7 +27,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
php-versions: [ "8.2" ]
php-versions: [ "8.3" ]
name: php-lint

View File

@@ -17,10 +17,10 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up php8.2
- name: Set up php
uses: shivammathur/setup-php@v2
with:
php-version: 8.2
php-version: 8.3
extensions: apcu
coverage: none

View File

@@ -12,10 +12,10 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Set up php8.2
- name: Set up php
uses: shivammathur/setup-php@v2
with:
php-version: 8.2
php-version: 8.3
extensions: apcu
coverage: none

View File

@@ -31,7 +31,7 @@ jobs:
- name: Set up php
uses: shivammathur/setup-php@c5fc0d8281aba02c7fda07d3a70cc5371548067d # v2
with:
php-version: 8.2
php-version: 8.3
extensions: apcu
coverage: none
ini-file: development

View File

@@ -29,7 +29,7 @@ jobs:
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@v2
with:
php-version: 8.2
php-version: 8.3
extensions: apcu
coverage: none

View File

@@ -14,6 +14,9 @@ Listen 8000
SetHandler "proxy:fcgi://${NEXTCLOUD_HOST}:9000"
</FilesMatch>
<Proxy "fcgi://${NEXTCLOUD_HOST}:9000" flushpackets=on>
</Proxy>
# Enable Brotli compression for js, css and svg files - other plain files are compressed by Nextcloud by default
<IfModule mod_brotli.c>
AddOutputFilterByType BROTLI_COMPRESS text/javascript application/javascript application/x-javascript text/css image/svg+xml
@@ -37,10 +40,6 @@ Listen 8000
Require all denied
</Files>
# Fix zero file sizes
# See https://github.com/nextcloud/server/issues/3056#issuecomment-954209565
SetEnv proxy-sendcl 1
# See https://httpd.apache.org/docs/current/en/mod/core.html#limitrequestbody
LimitRequestBody ${APACHE_MAX_SIZE}

View File

@@ -1,6 +1,6 @@
# syntax=docker/dockerfile:latest
# Probably from this file: https://github.com/Cisco-Talos/clamav-docker/blob/main/clamav/1.1/alpine/Dockerfile
FROM clamav/clamav:1.3.0-40
FROM clamav/clamav:1.3.0-41
COPY clamav.conf /tmp/clamav.conf

View File

@@ -1,6 +1,6 @@
# syntax=docker/dockerfile:latest
# From a file located probably somewhere here: https://github.com/CollaboraOnline/online/tree/master/docker
FROM collabora/code:23.05.9.2.1
FROM collabora/code:23.05.9.3.1
USER root

View File

@@ -1,5 +1,5 @@
# syntax=docker/dockerfile:latest
FROM golang:1.22.0-alpine3.18 as go
FROM golang:1.22.1-alpine3.18 as go
ENV IMAGINARY_HASH 6cd9edd1d3fb151eb773c14552886e4fc8e50138
@@ -23,9 +23,11 @@ RUN set -ex; \
vips-magick \
vips-heif \
vips-jxl \
vips-poppler
vips-poppler \
bash
COPY --from=go /go/bin/imaginary /usr/local/bin/imaginary
COPY --chmod=775 start.sh /start.sh
ENV PORT 9000
@@ -33,7 +35,7 @@ USER nobody
# https://github.com/h2non/imaginary#memory-issues
ENV MALLOC_ARENA_MAX=2
ENTRYPOINT ["imaginary", "-return-size", "-max-allowed-resolution", "222.2"]
ENTRYPOINT ["/start.sh"]
HEALTHCHECK CMD nc -z localhost "$PORT" || exit 1
LABEL com.centurylinklabs.watchtower.enable="false"

View File

@@ -0,0 +1,8 @@
#!/bin/bash
echo "Imaginary has started"
if [ -z "$IMAGINARY_SECRET" ]; then
imaginary -return-size -max-allowed-resolution 222.2 "$@"
else
imaginary -return-size -max-allowed-resolution 222.2 -key "$IMAGINARY_SECRET" "$@"
fi

View File

@@ -5,8 +5,8 @@ FROM docker:25.0.3-cli as docker
# Caddy is a requirement
FROM caddy:2.7.6-alpine as caddy
# From https://github.com/docker-library/php/blob/master/8.2/alpine3.19/fpm/Dockerfile
FROM php:8.2.16-fpm-alpine3.19
# From https://github.com/docker-library/php/blob/master/8.3/alpine3.19/fpm/Dockerfile
FROM php:8.3.3-fpm-alpine3.19
EXPOSE 80
EXPOSE 8080

View File

@@ -1,5 +1,5 @@
# syntax=docker/dockerfile:latest
FROM php:8.1.27-fpm-alpine3.19
FROM php:8.2.16-fpm-alpine3.19
ENV PHP_MEMORY_LIMIT 512M
ENV PHP_UPLOAD_LIMIT 10G
@@ -7,7 +7,7 @@ ENV PHP_MAX_TIME 3600
ENV SOURCE_LOCATION /usr/src/nextcloud
# AIO settings start # Do not remove or change this line!
ENV NEXTCLOUD_VERSION 27.1.7
ENV NEXTCLOUD_VERSION 28.0.3
ENV AIO_TOKEN 123456
ENV AIO_URL localhost
COPY supervisord.conf /supervisord.conf
@@ -58,6 +58,7 @@ RUN set -ex; \
; \
\
docker-php-ext-configure gd --with-freetype --with-jpeg --with-webp; \
docker-php-ext-configure ftp --with-openssl-dir=/usr; \
docker-php-ext-configure ldap; \
docker-php-ext-install -j "$(nproc)" \
bcmath \
@@ -169,6 +170,7 @@ RUN set -ex; \
bz2 \
imap \
pgsql \
ftp \
; \
pecl install smbclient; \
docker-php-ext-enable smbclient; \

View File

@@ -327,6 +327,8 @@ DATADIR_PERMISSION_CONF
# Apply other settings
echo "Applying other settings..."
# Add missing indices after new installation because they seem to be missing on new installation
php /var/www/html/occ db:add-missing-indices
php /var/www/html/occ config:system:set upgrade.disable-web --type=bool --value=true
php /var/www/html/occ config:system:set mail_smtpmode --value="smtp"
php /var/www/html/occ config:system:set trashbin_retention_obligation --value="auto, 30"
@@ -490,6 +492,10 @@ php /var/www/html/occ config:system:set updatedirectory --value="/nc-updater"
if [ -n "$SERVERINFO_TOKEN" ] && [ -z "$(php /var/www/html/occ config:app:get serverinfo token)" ]; then
php /var/www/html/occ config:app:set serverinfo token --value="$SERVERINFO_TOKEN"
fi
# Set maintenance window so that no warning is shown in the admin overview
if [ -z "$(php /var/www/html/occ config:system:get maintenance_window_start)" ]; then
php /var/www/html/occ config:system:set maintenance_window_start --type=int --value=100
fi
# Apply network settings
echo "Applying network settings..."
@@ -699,6 +705,7 @@ fi
if [ "$IMAGINARY_ENABLED" = 'yes' ]; then
php /var/www/html/occ config:system:set enabledPreviewProviders 0 --value="OC\\Preview\\Imaginary"
php /var/www/html/occ config:system:set preview_imaginary_url --value="http://$IMAGINARY_HOST:9000"
php /var/www/html/occ config:system:set preview_imaginary_key --value="$IMAGINARY_SECRET"
else
if [ -n "$(php /var/www/html/occ config:system:get preview_imaginary_url)" ]; then
php /var/www/html/occ config:system:delete enabledPreviewProviders 0

View File

@@ -5,7 +5,7 @@
<name>Nextcloud All-in-One</name>
<summary>Provides a login link for admins.</summary>
<description>Add a link to the admin settings that gives access to the Nextcloud All-in-One admin interface</description>
<version>0.4.0</version>
<version>0.5.0</version>
<licence>agpl</licence>
<author>Azul</author>
<namespace>AllInOne</namespace>
@@ -13,7 +13,7 @@
<category>monitoring</category>
<bugs>https://github.com/nextcloud/all-in-one/issues</bugs>
<dependencies>
<nextcloud min-version="26" max-version="27"/>
<nextcloud min-version="27" max-version="28"/>
</dependencies>
<settings>

View File

@@ -1,5 +1,5 @@
## Caddy with geoblocking
This container bundles caddy and auto-configures it for you. It also covers https://github.com/nextcloud/all-in-one/tree/main/community-containers/vaultwarden by listening on `bw.$NC_DOMAIN`, if installed. It also covers https://github.com/nextcloud/all-in-one/tree/main/community-containers/stalwart by listening on `mail.$NC_DOMAIN`, if installed.
This container bundles caddy and auto-configures it for you. It also covers https://github.com/nextcloud/all-in-one/tree/main/community-containers/vaultwarden by listening on `bw.$NC_DOMAIN`, if installed. It also covers https://github.com/nextcloud/all-in-one/tree/main/community-containers/stalwart by listening on `mail.$NC_DOMAIN`, if installed. It also covers https://github.com/nextcloud/all-in-one/tree/main/community-containers/jellyfin by listening on `media.$NC_DOMAIN`, if installed.
### Notes
- This container is incompatible with the [npmplus](https://github.com/nextcloud/all-in-one/tree/main/community-containers/npmplus) community container. So make sure that you do not enable both at the same time!
@@ -7,6 +7,7 @@ This container bundles caddy and auto-configures it for you. It also covers http
- If you want to use this with https://github.com/nextcloud/all-in-one/tree/main/community-containers/vaultwarden, make sure that you point `bw.your-nc-domain.com` to your server using a cname record so that caddy can get a certificate automatically for vaultwarden.
- If you want to use this with https://github.com/nextcloud/all-in-one/tree/main/community-containers/stalwart, make sure that you point `mail.your-nc-domain.com` to your server using a cname record so that caddy can get a certificate automatically for stalwart.
- After the container was started the first time, you should see a new `nextcloud-aio-caddy` folder and inside there an `allowed-countries.txt` file when you open the files app with the default `admin` user. In there you can adjust the allowed country codes for caddy by adding them to the first line, e.g. `IT FR` would allow access from italy and france. Private ip-ranges are always allowed. Additionally, in order to activate this config, you need to get an account at https://dev.maxmind.com/geoip/geolite2-free-geolocation-data and download the `GeoLite2-Country.mmdb` and upload it with this exact name into the `nextcloud-aio-caddy` folder. Afterwards restart all containers from the AIO interface and your new config should be active!
- You can add your own Caddy configurations in `/data/caddy-imports/` inside the Caddy container (`sudo docker exec -it nextcloud-aio-caddy bash`). These will be imported on container startup.
- See https://github.com/nextcloud/all-in-one/tree/main/community-containers#community-containers how to add it to the AIO stack
### Repository

View File

@@ -0,0 +1,39 @@
{
"aio_services_v1": [
{
"container_name": "nextcloud-aio-jellyfin",
"display_name": "Jellyfin",
"documentation": "https://github.com/nextcloud/all-in-one/tree/main/community-containers/jellyfin",
"image": "jellyfin/jellyfin",
"image_tag": "latest",
"internal_port": "host",
"restart": "unless-stopped",
"environment": [
"TZ=%TIMEZONE%"
],
"volumes": [
{
"source": "nextcloud_aio_jellyfin",
"destination": "/config",
"writeable": true
},
{
"source": "%NEXTCLOUD_DATADIR%",
"destination": "/media",
"writeable": false
},
{
"source": "%NEXTCLOUD_MOUNT%",
"destination": "%NEXTCLOUD_MOUNT%",
"writeable": false
}
],
"devices": [
"/dev/dri"
],
"backup_volumes": [
"nextcloud_aio_jellyfin"
]
}
]
}

View File

@@ -0,0 +1,18 @@
## Jellyfin
This container bundles Jellyfin and auto-configures it for you.
### Notes
- This container is incompatible with the [Plex](https://github.com/nextcloud/all-in-one/tree/main/community-containers/plex) community container. So make sure that you do not enable both at the same time!
- This container does not work on Docker Desktop since it needs `network_mode: host` in order to work correctly.
- After adding and starting the container, you can directly visit http://ip.address.of.server:8096/ and access your new Jellyfin instance!
- In order to access your Jellyfin outside the local network, you have to set up your own reverse proxy. You can set up a reverse proxy following [these instructions](https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md) and [Jellyfin's networking documentation](https://jellyfin.org/docs/general/networking/#running-jellyfin-behind-a-reverse-proxy), OR use the [Caddy](https://github.com/nextcloud/all-in-one/tree/main/community-containers/caddy) community container that will automatically configure `media.$NC_DOMAIN` to redirect to your Jellyfin.
- ⚠️ After the initial start, Jellyfin shows a configuration page to set up the root password, etc. **Be careful to initialize your Jellyfin before adding the DNS record.**
- The data of Jellyfin will be automatically included in AIO's backup solution!
- See [here](https://github.com/nextcloud/all-in-one/tree/main/community-containers#community-containers) how to add it to the AIO stack.
### Repository
https://github.com/jellyfin/jellyfin
### Maintainer
https://github.com/airopi

View File

@@ -5,7 +5,7 @@
"display_name": "Local AI",
"documentation": "https://github.com/nextcloud/all-in-one/tree/main/community-containers/local-ai",
"image": "szaimen/aio-local-ai",
"image_tag": "v1",
"image_tag": "v2",
"internal_port": "8080",
"restart": "unless-stopped",
"environment": [

View File

@@ -2,7 +2,8 @@
This container bundles Local AI and auto-configures it for you.
### Notes
- Make sure to have enough storage space available. This container alone needs ~14GB storage on x64, on arm64 only ~4GB. Every model that you add to `models.yaml` will of course use additional space which adds up quite fast.
- This container does not work on arm64! If you add the container on arm64, it will fail to start because no image for arm64 is available!
- Make sure to have enough storage space available. This container alone needs ~14GB storage. Every model that you add to `models.yaml` will of course use additional space which adds up quite fast.
- After the container was started the first time, you should see a new `nextcloud-aio-local-ai` folder when you open the files app with the default `admin` user. In there you should see a `models.yaml` config file. You can now add models in there. Please refer [here](https://github.com/go-skynet/model-gallery/blob/main/index.yaml) where you can get further urls that you can put in there. Afterwards restart all containers from the AIO interface and the models should automatically get downloaded by the local-ai container and activated.
- Example for content of `models.yaml` (if you add all of them, it takes around 10GB additional space):
```yaml

View File

@@ -2,6 +2,7 @@
This container bundles Plex and auto-configures it for you.
### Notes
- This container is incompatible with the [Jellyfin](https://github.com/nextcloud/all-in-one/tree/main/community-containers/jellyfin) community container. So make sure that you do not enable both at the same time!
- This is not working on arm64 since Plex does only provide x64 docker images.
- This is not working on Docker Desktop since it needs `network_mode: host` in order to work correctly.
- If you have a firewall like ufw configured, you might need to open all Plex ports in there first in order to make it work. Especially port 32400 is important!

View File

@@ -33,7 +33,7 @@ The procedure for migrating the files and the database works like this:
```
1. Create a new database by running:
```
export PG_USER="ncadmin"
export PG_USER="ncadmin" # This is a temporary user that gets created for the dump but is then overwritten by the correct one later on
export PG_PASSWORD="my-temporary-password"
export PG_DATABASE="nextcloud_db"
sudo -u postgres psql <<END
@@ -69,7 +69,7 @@ The procedure for migrating the files and the database works like this:
1. Now save the file by pressing `[CTRL] + [o]` then `[ENTER]` and close nano by pressing `[CTRL] + [x]`
1. In order to make sure that everything is good, you can now run `grep "/your/old/datadir" database-dump.sql` which should not bring up further results.<br>
1. **Please note:** Unfortunately it is not possible to import a database dump from a former database owner with the name `nextcloud`. You can check if that is the case with this command: `grep "Name: oc_appconfig; Type: TABLE; Schema: public; Owner:" database-dump.sql | grep -oP 'Owner:.*$' | sed 's|Owner:||;s| ||g'`. If it returns `nextcloud`, you need to rename the owner in the dump file manually. A command like the following should work, however please note that it is possible that it will overwrite wrong lines. You can thus first check which lines it will change with `grep "Owner: nextcloud$" database-dump.sql`. If only correct looking lines get returned, feel free to change them with `sed -i 's|Owner: nextcloud$|Owner: ncadmin|' database-dump.sql`.
The same applies for the second statement, check with `grep " OWNER TO nextcloud;$" database-dump.sql` and replace with `sed -i 's| OWNER TO nextcloud;$| OWNER TO ncadmin;$|' database-dump.sql`.
The same applies for the second statement, check with `grep " OWNER TO nextcloud;$" database-dump.sql` and replace with `sed -i 's| OWNER TO nextcloud;$| OWNER TO ncadmin;|' database-dump.sql`.
1. Next, copy the database dump into the correct place and prepare the database container which will import from the database dump automatically the next container start:
```
sudo docker run --rm --volume nextcloud_aio_database_dump:/mnt/data:rw alpine rm /mnt/data/database-dump.sql

View File

@@ -1,6 +1,6 @@
name: nextcloud-aio-helm-chart
description: A generated Helm Chart for Nextcloud AIO from Skippbox Kompose
version: 7.13.0
version: 7.13.1
apiVersion: v2
keywords:
- latest

View File

@@ -13,6 +13,8 @@ spec:
selector:
matchLabels:
io.kompose.service: nextcloud-aio-apache
strategy:
type: Recreate
template:
metadata:
annotations:
@@ -59,13 +61,17 @@ spec:
value: nextcloud-aio-talk
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: nextcloud/aio-apache:20240228_172209-latest
image: nextcloud/aio-apache:20240308_092935-latest
name: nextcloud-aio-apache
ports:
- containerPort: {{ .Values.APACHE_PORT }}
protocol: TCP
- containerPort: {{ .Values.APACHE_PORT }}
protocol: UDP
securityContext:
capabilities:
drop:
- NET_RAW
volumeMounts:
- mountPath: /var/www/html
name: nextcloud-aio-nextcloud

View File

@@ -14,6 +14,8 @@ spec:
selector:
matchLabels:
io.kompose.service: nextcloud-aio-clamav
strategy:
type: Recreate
template:
metadata:
annotations:
@@ -50,11 +52,15 @@ spec:
value: "90"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: nextcloud/aio-clamav:20240228_172209-latest
image: nextcloud/aio-clamav:20240308_092935-latest
name: nextcloud-aio-clamav
ports:
- containerPort: 3310
protocol: TCP
securityContext:
capabilities:
drop:
- NET_RAW
volumeMounts:
- mountPath: /var/lib/clamav
subPath: data

View File

@@ -37,7 +37,7 @@ spec:
value: --o:ssl.enable=false --o:ssl.termination=true --o:mount_jail_tree=false --o:logging.level=warning --o:home_mode.enable=true {{ .Values.COLLABORA_SECCOMP_POLICY }} --o:remote_font_config.url=https://{{ .Values.NC_DOMAIN }}/apps/richdocuments/settings/fonts.json
- name: server_name
value: "{{ .Values.NC_DOMAIN }}"
image: nextcloud/aio-collabora:20240228_172209-latest
image: nextcloud/aio-collabora:20240308_092935-latest
name: nextcloud-aio-collabora
ports:
- containerPort: 9980
@@ -46,4 +46,6 @@ spec:
capabilities:
add:
- MKNOD
drop:
- NET_RAW
{{- end }}

View File

@@ -13,6 +13,8 @@ spec:
selector:
matchLabels:
io.kompose.service: nextcloud-aio-database
strategy:
type: Recreate
template:
metadata:
annotations:
@@ -61,11 +63,15 @@ spec:
value: nextcloud
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: nextcloud/aio-postgresql:20240228_172209-latest
image: nextcloud/aio-postgresql:20240308_092935-latest
name: nextcloud-aio-database
ports:
- containerPort: 5432
protocol: TCP
securityContext:
capabilities:
drop:
- NET_RAW
volumeMounts:
- mountPath: /var/lib/postgresql/data
subPath: data

View File

@@ -14,6 +14,8 @@ spec:
selector:
matchLabels:
io.kompose.service: nextcloud-aio-fulltextsearch
strategy:
type: Recreate
template:
metadata:
annotations:
@@ -55,11 +57,15 @@ spec:
value: basic
- name: xpack.security.enabled
value: "false"
image: nextcloud/aio-fulltextsearch:20240228_172209-latest
image: nextcloud/aio-fulltextsearch:20240308_092935-latest
name: nextcloud-aio-fulltextsearch
ports:
- containerPort: 9200
protocol: TCP
securityContext:
capabilities:
drop:
- NET_RAW
volumeMounts:
- mountPath: /usr/share/elasticsearch/data
name: nextcloud-aio-elasticsearch

View File

@@ -27,7 +27,7 @@ spec:
- env:
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: nextcloud/aio-imaginary:20240228_172209-latest
image: nextcloud/aio-imaginary:20240308_092935-latest
name: nextcloud-aio-imaginary
ports:
- containerPort: 9000
@@ -36,4 +36,6 @@ spec:
capabilities:
add:
- SYS_NICE
drop:
- NET_RAW
{{- end }}

View File

@@ -1,5 +1,7 @@
{{- if ne .Values.NAMESPACE "default" }}
apiVersion: v1
kind: Namespace
metadata:
name: "{{ .Values.NAMESPACE }}"
namespace: "{{ .Values.NAMESPACE }}"
{{- end }}

View File

@@ -13,6 +13,8 @@ spec:
selector:
matchLabels:
io.kompose.service: nextcloud-aio-nextcloud
strategy:
type: Recreate
template:
metadata:
annotations:
@@ -158,13 +160,17 @@ spec:
value: "{{ .Values.TIMEZONE }}"
- name: UPDATE_NEXTCLOUD_APPS
value: "{{ .Values.UPDATE_NEXTCLOUD_APPS }}"
image: nextcloud/aio-nextcloud:20240228_172209-latest
image: nextcloud/aio-nextcloud:20240308_092935-latest
name: nextcloud-aio-nextcloud
ports:
- containerPort: 9000
protocol: TCP
- containerPort: 9001
protocol: TCP
securityContext:
capabilities:
drop:
- NET_RAW
volumeMounts:
- mountPath: /var/www/html
name: nextcloud-aio-nextcloud

View File

@@ -13,6 +13,8 @@ spec:
selector:
matchLabels:
io.kompose.service: nextcloud-aio-notify-push
strategy:
type: Recreate
template:
metadata:
annotations:
@@ -50,11 +52,15 @@ spec:
value: nextcloud-aio-redis
- name: REDIS_HOST_PASSWORD
value: "{{ .Values.REDIS_PASSWORD }}"
image: nextcloud/aio-notify-push:20240228_172209-latest
image: nextcloud/aio-notify-push:20240308_092935-latest
name: nextcloud-aio-notify-push
ports:
- containerPort: 7867
protocol: TCP
securityContext:
capabilities:
drop:
- NET_RAW
volumeMounts:
- mountPath: /nextcloud
name: nextcloud-aio-nextcloud

View File

@@ -14,6 +14,8 @@ spec:
selector:
matchLabels:
io.kompose.service: nextcloud-aio-onlyoffice
strategy:
type: Recreate
template:
metadata:
annotations:
@@ -43,11 +45,15 @@ spec:
value: "{{ .Values.ONLYOFFICE_SECRET }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: nextcloud/aio-onlyoffice:20240228_172209-latest
image: nextcloud/aio-onlyoffice:20240308_092935-latest
name: nextcloud-aio-onlyoffice
ports:
- containerPort: 80
protocol: TCP
securityContext:
capabilities:
drop:
- NET_RAW
volumeMounts:
- mountPath: /var/lib/onlyoffice
name: nextcloud-aio-onlyoffice

View File

@@ -13,6 +13,8 @@ spec:
selector:
matchLabels:
io.kompose.service: nextcloud-aio-redis
strategy:
type: Recreate
template:
metadata:
annotations:
@@ -38,11 +40,15 @@ spec:
value: "{{ .Values.REDIS_PASSWORD }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: nextcloud/aio-redis:20240228_172209-latest
image: nextcloud/aio-redis:20240308_092935-latest
name: nextcloud-aio-redis
ports:
- containerPort: 6379
protocol: TCP
securityContext:
capabilities:
drop:
- NET_RAW
volumeMounts:
- mountPath: /data
name: nextcloud-aio-redis

View File

@@ -37,7 +37,7 @@ spec:
value: "{{ .Values.TURN_SECRET }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: nextcloud/aio-talk:20240228_172209-latest
image: nextcloud/aio-talk:20240308_092935-latest
name: nextcloud-aio-talk
ports:
- containerPort: {{ .Values.TALK_PORT }}
@@ -46,4 +46,8 @@ spec:
protocol: UDP
- containerPort: 8081
protocol: TCP
securityContext:
capabilities:
drop:
- NET_RAW
{{- end }}

View File

@@ -33,9 +33,13 @@ spec:
value: "{{ .Values.RECORDING_SECRET }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: nextcloud/aio-talk-recording:20240228_172209-latest
image: nextcloud/aio-talk-recording:20240308_092935-latest
name: nextcloud-aio-talk-recording
ports:
- containerPort: 1234
protocol: TCP
securityContext:
capabilities:
drop:
- NET_RAW
{{- end }}

View File

@@ -214,14 +214,14 @@ find ./ -name '*service.yaml' -exec sed -i "/^spec:/a\ \ ipFamilyPolicy: PreferD
# shellcheck disable=SC1083
find ./ -name '*.yaml' -exec sed -i "s|'{{|\"{{|g;s|}}'|}}\"|g" \{} \;
# shellcheck disable=SC1083
find ./ -name '*.yaml' -exec sed -i "/type: Recreate/d" \{} \;
# shellcheck disable=SC1083
find ./ -name '*.yaml' -exec sed -i "/strategy:/d" \{} \;
# shellcheck disable=SC1083
find ./ \( -not -name '*service.yaml' -name '*.yaml' \) -exec sed -i "/^status:/d" \{} \;
# shellcheck disable=SC1083
find ./ \( -not -name '*persistentvolumeclaim.yaml' -name '*.yaml' \) -exec sed -i "/resources:/d" \{} \;
# shellcheck disable=SC1083
find ./ -name "*namespace.yaml" -exec sed -i "1i\\{{- if ne .Values.NAMESPACE \"default\" }}" \{} \;
# shellcheck disable=SC1083
find ./ -name "*namespace.yaml" -exec sed -i "$ a {{- end }}" \{} \;
# shellcheck disable=SC1083
find ./ -name '*.yaml' -exec sed -i "/creationTimestamp: null/d" \{} \;
VOLUMES="$(find ./ -name '*persistentvolumeclaim.yaml' | sed 's|-persistentvolumeclaim.yaml||g;s|.*nextcloud-aio-||g' | sort)"
mapfile -t VOLUMES <<< "$VOLUMES"

View File

@@ -5,7 +5,7 @@
}
},
"require": {
"php": "8.2.*",
"php": "8.3.*",
"ext-json": "*",
"ext-sodium": "*",
"ext-curl": "*",
@@ -22,6 +22,6 @@
"psalm": "psalm --threads=1",
"psalm:update-baseline": "psalm --threads=1 --update-baseline",
"lint": "find . -name \\*.php -not -path './vendor/*' -exec php -l {} \\;",
"php-deprecation-detector": "find . -name \\*.php -not -path './vendor/*' -exec phpdd scan {} -n -t 8.2 \\;"
"php-deprecation-detector": "find . -name \\*.php -not -path './vendor/*' -exec phpdd scan {} -n -t 8.3 \\;"
}
}

28
php/composer.lock generated
View File

@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "b0074cfbf6b5cde6d6d2207286ad2e85",
"content-hash": "4dcdd3b6df3f2041895d4db74bd45102",
"packages": [
{
"name": "guzzlehttp/guzzle",
@@ -1148,16 +1148,16 @@
},
{
"name": "slim/slim",
"version": "4.12.0",
"version": "4.13.0",
"source": {
"type": "git",
"url": "https://github.com/slimphp/Slim.git",
"reference": "e9e99c2b24398b967841c6c4c3048622cc7e2b18"
"reference": "038fd5713d5a41636fdff0e8dcceedecdd17fc17"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/slimphp/Slim/zipball/e9e99c2b24398b967841c6c4c3048622cc7e2b18",
"reference": "e9e99c2b24398b967841c6c4c3048622cc7e2b18",
"url": "https://api.github.com/repos/slimphp/Slim/zipball/038fd5713d5a41636fdff0e8dcceedecdd17fc17",
"reference": "038fd5713d5a41636fdff0e8dcceedecdd17fc17",
"shasum": ""
},
"require": {
@@ -1166,7 +1166,7 @@
"php": "^7.4 || ^8.0",
"psr/container": "^1.0 || ^2.0",
"psr/http-factory": "^1.0",
"psr/http-message": "^1.1",
"psr/http-message": "^1.1 || ^2.0",
"psr/http-server-handler": "^1.0",
"psr/http-server-middleware": "^1.0",
"psr/log": "^1.1 || ^2.0 || ^3.0"
@@ -1174,19 +1174,19 @@
"require-dev": {
"adriansuter/php-autoload-override": "^1.4",
"ext-simplexml": "*",
"guzzlehttp/psr7": "^2.5",
"guzzlehttp/psr7": "^2.6",
"httpsoft/http-message": "^1.1",
"httpsoft/http-server-request": "^1.1",
"laminas/laminas-diactoros": "^2.17",
"laminas/laminas-diactoros": "^2.17 || ^3",
"nyholm/psr7": "^1.8",
"nyholm/psr7-server": "^1.0",
"phpspec/prophecy": "^1.17",
"phpspec/prophecy-phpunit": "^2.0",
"nyholm/psr7-server": "^1.1",
"phpspec/prophecy": "^1.19",
"phpspec/prophecy-phpunit": "^2.1",
"phpstan/phpstan": "^1.10",
"phpunit/phpunit": "^9.6",
"slim/http": "^1.3",
"slim/psr7": "^1.6",
"squizlabs/php_codesniffer": "^3.7"
"squizlabs/php_codesniffer": "^3.9"
},
"suggest": {
"ext-simplexml": "Needed to support XML format in BodyParsingMiddleware",
@@ -1259,7 +1259,7 @@
"type": "tidelift"
}
],
"time": "2023-07-23T04:54:29+00:00"
"time": "2024-03-03T21:25:30+00:00"
},
{
"name": "slim/twig-view",
@@ -1788,7 +1788,7 @@
"prefer-stable": false,
"prefer-lowest": false,
"platform": {
"php": "8.2.*",
"php": "8.3.*",
"ext-json": "*",
"ext-sodium": "*",
"ext-curl": "*",

View File

@@ -146,7 +146,8 @@
"NEXTCLOUD_PASSWORD",
"TURN_SECRET",
"SIGNALING_SECRET",
"FULLTEXTSEARCH_PASSWORD"
"FULLTEXTSEARCH_PASSWORD",
"IMAGINARY_SECRET"
],
"volumes": [
{
@@ -220,7 +221,8 @@
"APACHE_PORT=%APACHE_PORT%",
"APACHE_IP_BINDING=%APACHE_IP_BINDING%",
"ADDITIONAL_TRUSTED_PROXY=%CADDY_IP_ADDRESS%",
"THIS_IS_AIO=true"
"THIS_IS_AIO=true",
"IMAGINARY_SECRET=%IMAGINARY_SECRET%"
],
"stop_grace_period": 600,
"restart": "unless-stopped",
@@ -646,7 +648,8 @@
],
"internal_port": "9000",
"environment": [
"TZ=%TIMEZONE%"
"TZ=%TIMEZONE%",
"IMAGINARY_SECRET=%IMAGINARY_SECRET%"
],
"restart": "unless-stopped",
"cap_add": [
@@ -664,6 +667,9 @@
"read_only": true,
"tmpfs": [
"/tmp"
],
"secrets": [
"IMAGINARY_SECRET"
]
},
{

View File

@@ -566,6 +566,9 @@ class DockerActionManager
}
$mounts[] = ["Type" => "bind", "Source" => $volume->name, "Target" => $volume->mountPoint, "ReadOnly" => !$volume->isWritable, "BindOptions" => [ "Propagation" => "rshared"]];
}
// Special things for the caddy community container
} elseif ($container->GetIdentifier() === 'nextcloud-aio-caddy') {
$requestBody['HostConfig']['ExtraHosts'] = ['host.docker.internal:host-gateway'];
}
if (count($mounts) > 0) {

View File

@@ -16,7 +16,7 @@
</header>
<div class="content">
<h1>Nextcloud AIO v7.13.1</h1>
<h1>Nextcloud AIO v8.0.0</h1>
{# Add 2nd tab warning #}
<script type="text/javascript" src="second-tab-warning.js"></script>
@@ -28,7 +28,7 @@
{% set isBackupOrRestoreRunning = false %}
{% set isApacheStarting = false %}
{# Setting newMajorVersion to '' will hide corresponding options/elements, can be set to an integer like 26 in order to show corresponding elements. If set, also increase installLatestMajor in https://github.com/nextcloud/all-in-one/blob/main/php/src/Controller/DockerController.php #}
{% set newMajorVersion = 28 %}
{% set newMajorVersion = '' %}
{% if is_backup_container_running == true %}
{% if borg_backup_mode == 'backup' or borg_backup_mode == 'restore' %}