Skip to content

Commit b1fa655

Browse files
author
GitHub Workflow
committed
Repo-sync
1 parent a9932c3 commit b1fa655

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

61 files changed

+446
-79
lines changed

Containers/apache/Caddyfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ https://{$ADDITIONAL_TRUSTED_DOMAIN}:443,
4040
route /onlyoffice/* {
4141
uri strip_prefix /onlyoffice
4242
reverse_proxy {$ONLYOFFICE_HOST}:80 {
43-
header_up X-Forwarded-Host {http.request.host}/onlyoffice
43+
header_up X-Forwarded-Host {http.request.hostport}/onlyoffice
4444
header_up X-Forwarded-Proto https
4545
}
4646
}

Containers/apache/Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
FROM caddy:2.9.1-alpine AS caddy
33

44
# From https://github.com/docker-library/httpd/blob/master/2.4/alpine/Dockerfile
5-
FROM httpd:2.4.62-alpine3.21
5+
FROM httpd:2.4.63-alpine3.21
66

77
COPY --from=caddy /usr/bin/caddy /usr/bin/caddy
88

Containers/borgbackup/backupscript.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -521,7 +521,7 @@ if [ "$BORG_MODE" = check ]; then
521521
# Perform the check
522522
if ! borg check -v --verify-data; then
523523
echo "Some errors were found while checking the backup integrity!"
524-
echo "Check the AIO interface for advices on how to proceed now!"
524+
echo "Check the AIO interface for advice on how to proceed now!"
525525
exit 1
526526
fi
527527

Containers/clamav/Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# syntax=docker/dockerfile:latest
22
# Probably from this file: https://github.com/Cisco-Talos/clamav-docker/blob/main/clamav/1.3/alpine/Dockerfile
3-
FROM clamav/clamav:1.4.1-21
3+
FROM clamav/clamav:1.4.2-24
44

55
COPY clamav.conf /clamav.conf
66
COPY --chmod=775 start.script /start.script

Containers/collabora/Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# syntax=docker/dockerfile:latest
22
# From a file located probably somewhere here: https://github.com/CollaboraOnline/online/tree/master/docker
3-
FROM collabora/code:24.04.11.2.1
3+
FROM collabora/code:24.04.12.1.1
44

55
USER root
66
ARG DEBIAN_FRONTEND=noninteractive

Containers/fulltextsearch/Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# syntax=docker/dockerfile:latest
22
# Probably from here https://github.com/elastic/elasticsearch/blob/main/distribution/docker/src/docker/Dockerfile
3-
FROM elasticsearch:8.17.0
3+
FROM elasticsearch:8.17.1
44

55
USER root
66

Containers/imaginary/Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# syntax=docker/dockerfile:latest
2-
FROM golang:1.23.4-alpine3.21 AS go
2+
FROM golang:1.23.5-alpine3.21 AS go
33

44
ENV IMAGINARY_HASH=1d4e251cfcd58ea66f8361f8721d7b8cc85002a3
55

Containers/mastercontainer/Dockerfile

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
# syntax=docker/dockerfile:latest
22
# Docker CLI is a requirement
3-
FROM docker:27.5.0-cli AS docker
3+
FROM docker:27.5.1-cli AS docker
44

55
# Caddy is a requirement
66
FROM caddy:2.9.1-alpine AS caddy
77

88
# From https://github.com/docker-library/php/blob/master/8.3/alpine3.21/fpm/Dockerfile
9-
FROM php:8.3.15-fpm-alpine3.21
9+
FROM php:8.3.16-fpm-alpine3.21
1010

1111
EXPOSE 80
1212
EXPOSE 8080

Containers/mastercontainer/start.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -285,7 +285,7 @@ fi
285285

286286
# Check if auth.docker.io is reachable
287287
# Solves issues like https://github.com/nextcloud/all-in-one/discussions/5268
288-
if ! curl https://auth.docker.io/token | grep -q token; then
288+
if ! curl https://auth.docker.io/token 2>&1 | grep -q token; then
289289
print_red "Could not reach https://auth.docker.io."
290290
echo "Most likely is something blocking access to it."
291291
echo "You should be able to fix this by using https://github.com/nextcloud/all-in-one/tree/main/manual-install"

Containers/nextcloud/Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# syntax=docker/dockerfile:latest
2-
FROM php:8.3.15-fpm-alpine3.21
2+
FROM php:8.3.16-fpm-alpine3.21
33

44
ENV PHP_MEMORY_LIMIT=512M
55
ENV PHP_UPLOAD_LIMIT=16G

Containers/nextcloud/config/s3.config.php

+5-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
'bucket' => getenv('OBJECTSTORE_S3_BUCKET'),
1212
'key' => getenv('OBJECTSTORE_S3_KEY') ?: '',
1313
'secret' => getenv('OBJECTSTORE_S3_SECRET') ?: '',
14-
'sse_c_key' => getenv('OBJECTSTORE_S3_SSE_C_KEY') ?: '',
1514
'region' => getenv('OBJECTSTORE_S3_REGION') ?: '',
1615
'hostname' => getenv('OBJECTSTORE_S3_HOST') ?: '',
1716
'port' => getenv('OBJECTSTORE_S3_PORT') ?: '',
@@ -26,4 +25,9 @@
2625
)
2726
)
2827
);
28+
29+
$sse_c_key = getenv('OBJECTSTORE_S3_SSE_C_KEY');
30+
if ($sse_c_key) {
31+
$CONFIG['objectstore']['arguments']['sse_c_key'] = $sse_c_key;
32+
}
2933
}

Containers/talk/Dockerfile

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# syntax=docker/dockerfile:latest
2-
FROM nats:2.10.24-scratch AS nats
2+
FROM nats:2.10.25-scratch AS nats
33
FROM eturnal/eturnal:1.12.1 AS eturnal
4-
FROM strukturag/nextcloud-spreed-signaling:2.0.1 AS signaling
4+
FROM strukturag/nextcloud-spreed-signaling:2.0.2 AS signaling
55
FROM alpine:3.21.2 AS janus
66

77
ARG JANUS_VERSION=v1.3.0

Containers/talk/start.sh

+9-2
Original file line numberDiff line numberDiff line change
@@ -30,14 +30,21 @@ if [ -n "$IPv4_ADDRESS_TALK" ] && [ "$IPv4_ADDRESS_TALK_RELAY" = "$IPv4_ADDRESS_
3030
IPv4_ADDRESS_TALK=""
3131
fi
3232

33+
IP_BINDING="::"
34+
if grep -q "1" /sys/module/ipv6/parameters/disable \
35+
|| grep -q "1" /proc/sys/net/ipv6/conf/all/disable_ipv6 \
36+
|| grep -q "1" /proc/sys/net/ipv6/conf/default/disable_ipv6; then
37+
IP_BINDING="0.0.0.0"
38+
fi
39+
3340
# Turn
3441
cat << TURN_CONF > "/conf/eturnal.yml"
3542
eturnal:
3643
listen:
37-
- ip: "::"
44+
- ip: "$IP_BINDING"
3845
port: $TALK_PORT
3946
transport: udp
40-
- ip: "::"
47+
- ip: "$IP_BINDING"
4148
port: $TALK_PORT
4249
transport: tcp
4350
log_dir: stdout

Containers/whiteboard/Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# syntax=docker/dockerfile:latest
22
# Probably from this file: https://github.com/nextcloud/whiteboard/blob/main/Dockerfile
3-
FROM ghcr.io/nextcloud-releases/whiteboard:v1.0.4
3+
FROM ghcr.io/nextcloud-releases/whiteboard:v1.0.5
44

55
USER root
66
RUN set -ex; \
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
{
2+
"aio_services_v1": [
3+
{
4+
"container_name": "nextcloud-aio-borgbackup-viewer",
5+
"image_tag": "v1",
6+
"display_name": "Borg Backup Viewer",
7+
"documentation": "https://github.com/nextcloud/all-in-one/tree/main/community-containers/borgbackup-viewer",
8+
"image": "szaimen/aio-borgbackup-viewer",
9+
"internal_port": "5801",
10+
"ports": [
11+
{
12+
"ip_binding": "",
13+
"port_number": "5801",
14+
"protocol": "tcp"
15+
}
16+
],
17+
"environment": [
18+
"BORG_HOST_ID=nextcloud-aio-borgbackup-viewer",
19+
"WEB_AUTHENTICATION_USERNAME=nextcloud",
20+
"WEB_AUTHENTICATION_PASSWORD=%BORGBACKUP_VIEWER_PASSWORD%",
21+
"WEB_LISTENING_PORT=5801",
22+
"BORG_PASSPHRASE=%BORGBACKUP_PASSWORD%",
23+
"BORG_REPO=/mnt/borgbackup/borg"
24+
],
25+
"secrets": [
26+
"BORGBACKUP_VIEWER_PASSWORD",
27+
"BORGBACKUP_PASSWORD"
28+
],
29+
"ui_secret": "BORGBACKUP_VIEWER_PASSWORD",
30+
"volumes": [
31+
{
32+
"source": "nextcloud_aio_backup_cache",
33+
"destination": "/root",
34+
"writeable": true
35+
},
36+
{
37+
"source": "%NEXTCLOUD_DATADIR%",
38+
"destination": "/nextcloud_aio_volumes/nextcloud_aio_nextcloud_data",
39+
"writeable": true
40+
},
41+
{
42+
"source": "nextcloud_aio_mastercontainer",
43+
"destination": "/nextcloud_aio_volumes/nextcloud_aio_mastercontainer",
44+
"writeable": true
45+
},
46+
{
47+
"source": "%BORGBACKUP_HOST_LOCATION%",
48+
"destination": "/mnt/borgbackup",
49+
"writeable": true
50+
},
51+
{
52+
"source": "nextcloud_aio_elasticsearch",
53+
"destination": "/nextcloud_aio_volumes/nextcloud_aio_elasticsearch",
54+
"writeable": true
55+
},
56+
{
57+
"source": "nextcloud_aio_redis",
58+
"destination": "/mnt/redis",
59+
"writeable": true
60+
}
61+
],
62+
"devices": [
63+
"/dev/fuse"
64+
],
65+
"cap_add": [
66+
"SYS_ADMIN"
67+
],
68+
"apparmor_unconfined": true
69+
}
70+
]
71+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
## Borgbackup Viewer
2+
This container allows to view the local borg repository in a web session. It also allows you to restore files and folders from the backup by using desktop programs in a web browser.
3+
4+
### Notes
5+
- After adding and starting the container, you need to visit `https://ip.address.of.this.server:5801` in order to log in with the user `nextcloud` and the password that you can see next to the container in the AIO interface. (The web page uses a self-signed certificate, so you need to accept the warning).
6+
- Then, you should see a terminal. There type in `borg mount /mnt/borgbackup/borg /tmp/borg` to mount the backup archive at `/tmp/borg` inside the container. Afterwards type in `nautilus /tmp/borg` which will show a file explorer and allows you to see all the files. You can then copy files and folders back to their initial mountpoints inside `/nextcloud_aio_volumes/`, `/host_mounts/` and `/docker_volumes/`. ⚠️ Be very carefully while doing that as can break your instance!
7+
- After you are done with the operation, click on the terminal in the background and press `[CTRL]+[c]` multiple times to close any open application. Then run `umount /tmp/borg` to unmount the mountpoint correctly.
8+
- You can also delete specific archives by running `borg list`, delete a specific archive e.g. via `borg delete --stats --progress "::20220223_174237-nextcloud-aio"` and compact the archives via `borg compact`. After doing so, make sure to update the backup archives list in the AIO interface! You can do so by clicking on the `Check backup integrity` button or `Create backup` button.
9+
- ⚠️ After you are done doing your operations, remove the container for better security again from the stack: https://github.com/nextcloud/all-in-one/tree/main/community-containers#how-to-remove-containers-from-aios-stack
10+
- See https://github.com/nextcloud/all-in-one/tree/main/community-containers#community-containers how to add it to the AIO stack
11+
12+
### Repository
13+
https://github.com/szaimen/aio-borgbackup-viewer
14+
15+
### Maintainer
16+
https://github.com/szaimen
17+

community-containers/caddy/readme.md

+1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ This container bundles caddy and auto-configures it for you. It also covers http
99
- If you want to use this with https://github.com/nextcloud/all-in-one/tree/main/community-containers/jellyfin, make sure that you point `media.your-nc-domain.com` to your server using a cname record so that caddy can get a certificate automatically for jellyfin.
1010
- If you want to use this with https://github.com/nextcloud/all-in-one/tree/main/community-containers/lldap, make sure that you point `ldap.your-nc-domain.com` to your server using a cname record so that caddy can get a certificate automatically for lldap.
1111
- If you want to use this with https://github.com/nextcloud/all-in-one/tree/main/community-containers/nocodb, make sure that you point `tables.your-nc-domain.com` to your server using a cname record so that caddy can get a certificate automatically for nocodb.
12+
- If you want to use this with https://github.com/nextcloud/all-in-one/tree/main/community-containers/jellyseerr, make sure that you point `requests.your-nc-domain.com` to your server using a cname record so that caddy can get a certificate automatically for jellyseerr.
1213
- 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!
1314
- 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.
1415
- See https://github.com/nextcloud/all-in-one/tree/main/community-containers#community-containers how to add it to the AIO stack

community-containers/fail2ban/fail2ban.json

+5
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,11 @@
3030
"source": "nextcloud_aio_jellyfin",
3131
"destination": "/jellyfin",
3232
"writeable": false
33+
},
34+
{
35+
"source": "nextcloud_aio_jellyseerr",
36+
"destination": "/jellyseerr",
37+
"writeable": false
3338
}
3439
]
3540
}

community-containers/fail2ban/readme.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
## Fail2ban
2-
This container bundles fail2ban and auto-configures it for you in order to block ip-addresses automatically. It also covers https://github.com/nextcloud/all-in-one/tree/main/community-containers/vaultwarden and https://github.com/nextcloud/all-in-one/tree/main/community-containers/jellyfin, if installed.
2+
This container bundles fail2ban and auto-configures it for you in order to block ip-addresses automatically. It also covers https://github.com/nextcloud/all-in-one/tree/main/community-containers/vaultwarden, https://github.com/nextcloud/all-in-one/tree/main/community-containers/jellyfin, and https://github.com/nextcloud/all-in-one/tree/main/community-containers/jellyseerr, if installed.
33

44
### Notes
55
- If you get an error like `"ip6tables v1.8.9 (legacy): can't initialize ip6tables table filter': Table does not exist (do you need to insmod?)"`, you need to enable ip6tables on your host via `sudo modprobe ip6table_filter`.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
{
2+
"aio_services_v1": [
3+
{
4+
"container_name": "nextcloud-aio-jellyseerr",
5+
"display_name": "Jellyseerr",
6+
"documentation": "https://github.com/nextcloud/all-in-one/tree/main/community-containers/jellyseerr",
7+
"image": "fallenbagel/jellyseerr",
8+
"image_tag": "latest",
9+
"internal_port": "5055",
10+
"restart": "unless-stopped",
11+
"ports": [
12+
{
13+
"ip_binding": "%APACHE_IP_BINDING%",
14+
"port_number": "5055",
15+
"protocol": "tcp"
16+
}
17+
],
18+
"environment": [
19+
"PORT=5055",
20+
"TZ=%TIMEZONE%"
21+
],
22+
"volumes": [
23+
{
24+
"source": "nextcloud_aio_jellyseerr",
25+
"destination": "/app/config",
26+
"writeable": true
27+
}
28+
],
29+
"backup_volumes": [
30+
"nextcloud_aio_jellyseerr"
31+
]
32+
}
33+
]
34+
}
+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
## Jellyseerr
2+
This container bundles Jellyseerr and auto-configures it for you.
3+
4+
### Notes
5+
- This container is only intended to be used inside home networks as it uses http for its management page by default.
6+
- After adding and starting the container, you can directly visit `http://ip.address.of.server:5055` and access your new Jellyseerr instance, which can be used to manage Plex, Jellyfin, and Emby.
7+
- In order to access your Jellyseerr 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 [Jellyseerr's reverse proxy documentation.](https://docs.jellyseerr.dev/extending-jellyseerr/reverse-proxy), OR use the Caddy community container that will automatically configure requests.$NC_DOMAIN to redirect to your Jellyseerr.
8+
- If you want to secure the installation with fail2ban, you might want to check out https://github.com/nextcloud/all-in-one/tree/main/community-containers/fail2ban
9+
- The config of Jellyseerr will be automatically included in AIO's backup solution!
10+
- See [here](https://github.com/nextcloud/all-in-one/tree/main/community-containers#community-containers) how to add it to the AIO stack.
11+
12+
### Repository
13+
https://github.com/Fallenbagel/jellyseerr
14+
15+
### Maintainer
16+
https://github.com/Anvil5465

community-containers/lldap/lldap.json

+1
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
"LLDAP_JWT_SECRET",
2828
"LLDAP_LDAP_USER_PASS"
2929
],
30+
"ui_secret": "LLDAP_JWT_SECRET",
3031
"volumes": [
3132
{
3233
"source": "nextcloud_aio_lldap",

community-containers/lldap/readme.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ This container bundles LLDAP server and auto-configures your Nextcloud instance
33

44
### Notes
55
- In order to access your LLDAP web interface 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) OR use the [Caddy](https://github.com/nextcloud/all-in-one/tree/main/community-containers/caddy) community container that will automatically configure `ldap.$NC_DOMAIN` to redirect to your Lldap. You need to point the reverse proxy at port 17170 of this server.
6-
- After adding and starting the container, you can log in to the lldap web interface by using the username `admin` and the password that you can retrieve via `sudo docker inspect nextcloud-aio-lldap | grep LLDAP_JWT_SECRET`.
6+
- After adding and starting the container, you can log in to the lldap web interface by using the username `admin` and the secret that you can see next to the container in the AIO interface.
77
- To configure Nextcloud, you can use the generic configuration proposed below.
88
- For advanced configurations, see how to configure a client with lldap https://github.com/lldap/lldap#client-configuration
99
- Also, see how Nextcloud's LDAP application works https://docs.nextcloud.com/server/latest/admin_manual/configuration_user/user_auth_ldap.html
+59
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
{
2+
"aio_services_v1": [
3+
{
4+
"container_name": "nextcloud-aio-makekv",
5+
"display_name": "MakeMKV",
6+
"documentation": "https://github.com/nextcloud/all-in-one/tree/main/community-containers/makemkv",
7+
"image": "jlesage/makemkv",
8+
"image_tag": "latest",
9+
"internal_port": "5802",
10+
"restart": "unless-stopped",
11+
"ports": [
12+
{
13+
"ip_binding": "",
14+
"port_number": "5802",
15+
"protocol": "tcp"
16+
}
17+
],
18+
"volumes": [
19+
{
20+
"source": "nextcloud_aio_makemkv",
21+
"destination": "/config",
22+
"writeable": true
23+
},
24+
{
25+
"source": "%NEXTCLOUD_DATADIR%",
26+
"destination": "/storage",
27+
"writeable": false
28+
},
29+
{
30+
"source": "%NEXTCLOUD_MOUNT%",
31+
"destination": "/output",
32+
"writeable": true
33+
},
34+
{
35+
"source": "/dev",
36+
"destination": "/dev",
37+
"writeable": false
38+
}
39+
],
40+
"environment": [
41+
"TZ=%TIMEZONE%",
42+
"SECURE_CONNECTION=1",
43+
"WEB_AUTHENTICATION=1",
44+
"USER_ID=33",
45+
"GROUP_ID=33",
46+
"WEB_AUTHENTICATION_USERNAME=makemkv",
47+
"WEB_AUTHENTICATION_PASSWORD=%MAKEMKV_PASSWORD%",
48+
"WEB_LISTENING_PORT=5802"
49+
],
50+
"secrets": [
51+
"MAKEMKV_PASSWORD"
52+
],
53+
"ui_secret": "MAKEMKV_PASSWORD",
54+
"backup_volumes": [
55+
"nextcloud_aio_makemkv"
56+
]
57+
}
58+
]
59+
}

0 commit comments

Comments
 (0)