Skip to content

Commit

Permalink
Repo-sync
Browse files Browse the repository at this point in the history
  • Loading branch information
GitHub Workflow committed Jan 28, 2025
1 parent a9932c3 commit b1fa655
Show file tree
Hide file tree
Showing 61 changed files with 446 additions and 79 deletions.
2 changes: 1 addition & 1 deletion Containers/apache/Caddyfile
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ https://{$ADDITIONAL_TRUSTED_DOMAIN}:443,
route /onlyoffice/* {
uri strip_prefix /onlyoffice
reverse_proxy {$ONLYOFFICE_HOST}:80 {
header_up X-Forwarded-Host {http.request.host}/onlyoffice
header_up X-Forwarded-Host {http.request.hostport}/onlyoffice
header_up X-Forwarded-Proto https
}
}
Expand Down
2 changes: 1 addition & 1 deletion Containers/apache/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
FROM caddy:2.9.1-alpine AS caddy

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

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

Expand Down
2 changes: 1 addition & 1 deletion Containers/borgbackup/backupscript.sh
Original file line number Diff line number Diff line change
Expand Up @@ -521,7 +521,7 @@ if [ "$BORG_MODE" = check ]; then
# Perform the check
if ! borg check -v --verify-data; then
echo "Some errors were found while checking the backup integrity!"
echo "Check the AIO interface for advices on how to proceed now!"
echo "Check the AIO interface for advice on how to proceed now!"
exit 1
fi

Expand Down
2 changes: 1 addition & 1 deletion Containers/clamav/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# syntax=docker/dockerfile:latest
# Probably from this file: https://github.com/Cisco-Talos/clamav-docker/blob/main/clamav/1.3/alpine/Dockerfile
FROM clamav/clamav:1.4.1-21
FROM clamav/clamav:1.4.2-24

COPY clamav.conf /clamav.conf
COPY --chmod=775 start.script /start.script
Expand Down
2 changes: 1 addition & 1 deletion Containers/collabora/Dockerfile
Original file line number Diff line number Diff line change
@@ -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:24.04.11.2.1
FROM collabora/code:24.04.12.1.1

USER root
ARG DEBIAN_FRONTEND=noninteractive
Expand Down
2 changes: 1 addition & 1 deletion Containers/fulltextsearch/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# syntax=docker/dockerfile:latest
# Probably from here https://github.com/elastic/elasticsearch/blob/main/distribution/docker/src/docker/Dockerfile
FROM elasticsearch:8.17.0
FROM elasticsearch:8.17.1

USER root

Expand Down
2 changes: 1 addition & 1 deletion Containers/imaginary/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# syntax=docker/dockerfile:latest
FROM golang:1.23.4-alpine3.21 AS go
FROM golang:1.23.5-alpine3.21 AS go

ENV IMAGINARY_HASH=1d4e251cfcd58ea66f8361f8721d7b8cc85002a3

Expand Down
4 changes: 2 additions & 2 deletions Containers/mastercontainer/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
# syntax=docker/dockerfile:latest
# Docker CLI is a requirement
FROM docker:27.5.0-cli AS docker
FROM docker:27.5.1-cli AS docker

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

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

EXPOSE 80
EXPOSE 8080
Expand Down
2 changes: 1 addition & 1 deletion Containers/mastercontainer/start.sh
Original file line number Diff line number Diff line change
Expand Up @@ -285,7 +285,7 @@ fi

# Check if auth.docker.io is reachable
# Solves issues like https://github.com/nextcloud/all-in-one/discussions/5268
if ! curl https://auth.docker.io/token | grep -q token; then
if ! curl https://auth.docker.io/token 2>&1 | grep -q token; then
print_red "Could not reach https://auth.docker.io."
echo "Most likely is something blocking access to it."
echo "You should be able to fix this by using https://github.com/nextcloud/all-in-one/tree/main/manual-install"
Expand Down
2 changes: 1 addition & 1 deletion Containers/nextcloud/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# syntax=docker/dockerfile:latest
FROM php:8.3.15-fpm-alpine3.21
FROM php:8.3.16-fpm-alpine3.21

ENV PHP_MEMORY_LIMIT=512M
ENV PHP_UPLOAD_LIMIT=16G
Expand Down
6 changes: 5 additions & 1 deletion Containers/nextcloud/config/s3.config.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@
'bucket' => getenv('OBJECTSTORE_S3_BUCKET'),
'key' => getenv('OBJECTSTORE_S3_KEY') ?: '',
'secret' => getenv('OBJECTSTORE_S3_SECRET') ?: '',
'sse_c_key' => getenv('OBJECTSTORE_S3_SSE_C_KEY') ?: '',
'region' => getenv('OBJECTSTORE_S3_REGION') ?: '',
'hostname' => getenv('OBJECTSTORE_S3_HOST') ?: '',
'port' => getenv('OBJECTSTORE_S3_PORT') ?: '',
Expand All @@ -26,4 +25,9 @@
)
)
);

$sse_c_key = getenv('OBJECTSTORE_S3_SSE_C_KEY');
if ($sse_c_key) {
$CONFIG['objectstore']['arguments']['sse_c_key'] = $sse_c_key;
}
}
4 changes: 2 additions & 2 deletions Containers/talk/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# syntax=docker/dockerfile:latest
FROM nats:2.10.24-scratch AS nats
FROM nats:2.10.25-scratch AS nats
FROM eturnal/eturnal:1.12.1 AS eturnal
FROM strukturag/nextcloud-spreed-signaling:2.0.1 AS signaling
FROM strukturag/nextcloud-spreed-signaling:2.0.2 AS signaling
FROM alpine:3.21.2 AS janus

ARG JANUS_VERSION=v1.3.0
Expand Down
11 changes: 9 additions & 2 deletions Containers/talk/start.sh
Original file line number Diff line number Diff line change
Expand Up @@ -30,14 +30,21 @@ if [ -n "$IPv4_ADDRESS_TALK" ] && [ "$IPv4_ADDRESS_TALK_RELAY" = "$IPv4_ADDRESS_
IPv4_ADDRESS_TALK=""
fi

IP_BINDING="::"
if grep -q "1" /sys/module/ipv6/parameters/disable \
|| grep -q "1" /proc/sys/net/ipv6/conf/all/disable_ipv6 \
|| grep -q "1" /proc/sys/net/ipv6/conf/default/disable_ipv6; then
IP_BINDING="0.0.0.0"
fi

# Turn
cat << TURN_CONF > "/conf/eturnal.yml"
eturnal:
listen:
- ip: "::"
- ip: "$IP_BINDING"
port: $TALK_PORT
transport: udp
- ip: "::"
- ip: "$IP_BINDING"
port: $TALK_PORT
transport: tcp
log_dir: stdout
Expand Down
2 changes: 1 addition & 1 deletion Containers/whiteboard/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# syntax=docker/dockerfile:latest
# Probably from this file: https://github.com/nextcloud/whiteboard/blob/main/Dockerfile
FROM ghcr.io/nextcloud-releases/whiteboard:v1.0.4
FROM ghcr.io/nextcloud-releases/whiteboard:v1.0.5

USER root
RUN set -ex; \
Expand Down
71 changes: 71 additions & 0 deletions community-containers/borgbackup-viewer/borgbackup-viewer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
{
"aio_services_v1": [
{
"container_name": "nextcloud-aio-borgbackup-viewer",
"image_tag": "v1",
"display_name": "Borg Backup Viewer",
"documentation": "https://github.com/nextcloud/all-in-one/tree/main/community-containers/borgbackup-viewer",
"image": "szaimen/aio-borgbackup-viewer",
"internal_port": "5801",
"ports": [
{
"ip_binding": "",
"port_number": "5801",
"protocol": "tcp"
}
],
"environment": [
"BORG_HOST_ID=nextcloud-aio-borgbackup-viewer",
"WEB_AUTHENTICATION_USERNAME=nextcloud",
"WEB_AUTHENTICATION_PASSWORD=%BORGBACKUP_VIEWER_PASSWORD%",
"WEB_LISTENING_PORT=5801",
"BORG_PASSPHRASE=%BORGBACKUP_PASSWORD%",
"BORG_REPO=/mnt/borgbackup/borg"
],
"secrets": [
"BORGBACKUP_VIEWER_PASSWORD",
"BORGBACKUP_PASSWORD"
],
"ui_secret": "BORGBACKUP_VIEWER_PASSWORD",
"volumes": [
{
"source": "nextcloud_aio_backup_cache",
"destination": "/root",
"writeable": true
},
{
"source": "%NEXTCLOUD_DATADIR%",
"destination": "/nextcloud_aio_volumes/nextcloud_aio_nextcloud_data",
"writeable": true
},
{
"source": "nextcloud_aio_mastercontainer",
"destination": "/nextcloud_aio_volumes/nextcloud_aio_mastercontainer",
"writeable": true
},
{
"source": "%BORGBACKUP_HOST_LOCATION%",
"destination": "/mnt/borgbackup",
"writeable": true
},
{
"source": "nextcloud_aio_elasticsearch",
"destination": "/nextcloud_aio_volumes/nextcloud_aio_elasticsearch",
"writeable": true
},
{
"source": "nextcloud_aio_redis",
"destination": "/mnt/redis",
"writeable": true
}
],
"devices": [
"/dev/fuse"
],
"cap_add": [
"SYS_ADMIN"
],
"apparmor_unconfined": true
}
]
}
17 changes: 17 additions & 0 deletions community-containers/borgbackup-viewer/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
## Borgbackup Viewer
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.

### Notes
- 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).
- 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!
- 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.
- 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.
- ⚠️ 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
- See 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/szaimen/aio-borgbackup-viewer

### Maintainer
https://github.com/szaimen

1 change: 1 addition & 0 deletions community-containers/caddy/readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,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/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.
- 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.
- 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.
- 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.
- 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
Expand Down
5 changes: 5 additions & 0 deletions community-containers/fail2ban/fail2ban.json
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,11 @@
"source": "nextcloud_aio_jellyfin",
"destination": "/jellyfin",
"writeable": false
},
{
"source": "nextcloud_aio_jellyseerr",
"destination": "/jellyseerr",
"writeable": false
}
]
}
Expand Down
2 changes: 1 addition & 1 deletion community-containers/fail2ban/readme.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
## Fail2ban
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.
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.

### Notes
- 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`.
Expand Down
34 changes: 34 additions & 0 deletions community-containers/jellyseerr/jellyseerr.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
{
"aio_services_v1": [
{
"container_name": "nextcloud-aio-jellyseerr",
"display_name": "Jellyseerr",
"documentation": "https://github.com/nextcloud/all-in-one/tree/main/community-containers/jellyseerr",
"image": "fallenbagel/jellyseerr",
"image_tag": "latest",
"internal_port": "5055",
"restart": "unless-stopped",
"ports": [
{
"ip_binding": "%APACHE_IP_BINDING%",
"port_number": "5055",
"protocol": "tcp"
}
],
"environment": [
"PORT=5055",
"TZ=%TIMEZONE%"
],
"volumes": [
{
"source": "nextcloud_aio_jellyseerr",
"destination": "/app/config",
"writeable": true
}
],
"backup_volumes": [
"nextcloud_aio_jellyseerr"
]
}
]
}
16 changes: 16 additions & 0 deletions community-containers/jellyseerr/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
## Jellyseerr
This container bundles Jellyseerr and auto-configures it for you.

### Notes
- This container is only intended to be used inside home networks as it uses http for its management page by default.
- 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.
- 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.
- 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
- The config of Jellyseerr 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/Fallenbagel/jellyseerr

### Maintainer
https://github.com/Anvil5465
1 change: 1 addition & 0 deletions community-containers/lldap/lldap.json
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
"LLDAP_JWT_SECRET",
"LLDAP_LDAP_USER_PASS"
],
"ui_secret": "LLDAP_JWT_SECRET",
"volumes": [
{
"source": "nextcloud_aio_lldap",
Expand Down
2 changes: 1 addition & 1 deletion community-containers/lldap/readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ This container bundles LLDAP server and auto-configures your Nextcloud instance

### Notes
- 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.
- 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`.
- 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.
- To configure Nextcloud, you can use the generic configuration proposed below.
- For advanced configurations, see how to configure a client with lldap https://github.com/lldap/lldap#client-configuration
- Also, see how Nextcloud's LDAP application works https://docs.nextcloud.com/server/latest/admin_manual/configuration_user/user_auth_ldap.html
Expand Down
59 changes: 59 additions & 0 deletions community-containers/makemkv/makemkv.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
{
"aio_services_v1": [
{
"container_name": "nextcloud-aio-makekv",
"display_name": "MakeMKV",
"documentation": "https://github.com/nextcloud/all-in-one/tree/main/community-containers/makemkv",
"image": "jlesage/makemkv",
"image_tag": "latest",
"internal_port": "5802",
"restart": "unless-stopped",
"ports": [
{
"ip_binding": "",
"port_number": "5802",
"protocol": "tcp"
}
],
"volumes": [
{
"source": "nextcloud_aio_makemkv",
"destination": "/config",
"writeable": true
},
{
"source": "%NEXTCLOUD_DATADIR%",
"destination": "/storage",
"writeable": false
},
{
"source": "%NEXTCLOUD_MOUNT%",
"destination": "/output",
"writeable": true
},
{
"source": "/dev",
"destination": "/dev",
"writeable": false
}
],
"environment": [
"TZ=%TIMEZONE%",
"SECURE_CONNECTION=1",
"WEB_AUTHENTICATION=1",
"USER_ID=33",
"GROUP_ID=33",
"WEB_AUTHENTICATION_USERNAME=makemkv",
"WEB_AUTHENTICATION_PASSWORD=%MAKEMKV_PASSWORD%",
"WEB_LISTENING_PORT=5802"
],
"secrets": [
"MAKEMKV_PASSWORD"
],
"ui_secret": "MAKEMKV_PASSWORD",
"backup_volumes": [
"nextcloud_aio_makemkv"
]
}
]
}
Loading

0 comments on commit b1fa655

Please sign in to comment.