xrforge/manyfold
Leon van Kammen 3b6afc90ec milestone 4h: remove x day old files over X MB (temporary sharingservice for big files)
added 'cleanup_big_files' function to manyfold.sh.

Demo:

```
$ docker run xrforge
...
````

create a 10MB dummy_file.txt (and rewind date some years):

```
$ docker exec xrforge 'dd if=/dev/zero of=/mnt/models/dummy_file.txt bs=1M count=10'
10+0 records in
10+0 records out
10485760 bytes (10.0MB) copied, 0.005670 seconds, 1.7GB/s

$ touch -d "2021-01-01" /mnt/models/dummy_file.txt
$
```

Now when setting maxmb's to `5` and maxdays to `5`, we can see in the logs
that it gets deleted:

```
[/bin/infinite cleanup_big_files /mnt/models 5 5] Fri Aug  1 14:19:08 UTC 2025 executing
deleting: /mnt/models/dummy_file.txt
```

This behaviour is default, and can be disabled by docker environment-flag `NO_DISABLEBIGFILES`
2025-08-01 16:20:48 +02:00
..
cli milestone 4h: remove x day old files over X MB (temporary sharingservice for big files) 2025-08-01 16:20:48 +02:00
usr/src/app/app/views/models 1st commit 2025-07-22 13:16:53 +02:00
manyfold.sql docker env $UPLOAD_PATH allows specifying default [upload] lib 2025-07-30 15:09:03 +02:00
README.md docker env $UPLOAD_PATH allows specifying default [upload] lib 2025-07-30 15:09:03 +02:00

Manyfold container

The XRForge-serverimage is a pre-configured Manyfold container (reproducably via nix dockertools). It also contains some extra's, to better fit an XR audience.

To run the container, see the sysadmin documentation of the manyfold project.

Build the container-image

$ docker load < $(nix-build nix/docker.nix)

Extra environment-variables

environment variable default info
APPNAME manyfold manyfold instance name
THEME default bootstrap theme
NO_OVERLAYFS `` disable the filesystem overlay mechanism
NO_DEFAULTDB `` disable the default db (activates manyfold installer)
RCLONE_REMOTE `` specify single rclone remote name (without semicolon) to mount
UPLOAD_PATH /mnt/models specify default library where user-files are uploaded (regular dir or mounted rclone path)

Default database / admin login

  • email: xrforge@localhost
  • login: xrforge
  • password: xrforge!1

please modify the password in the settings screen of the webinterface.

Filesystem overlay-mechanism

The server-image will boot manyfold/cli/manyfold.sh boot and check for directory /manyfold (in the container). When found, it uses the files in there instead (/manyfold/usr/src/app/public/404.html instead of /usr/src/app/public/404.html e.g.).

Remote network-drives (with models)

Thanks to rclone network-drives automatically show up as manyfold libraries.

To enable rclone to mount network drives, the container must be run with FUSE-device support. The quickest way is:

  • add -v ./manyfold/root/.config:/root/.config --cap-add SYS_ADMIN --security-opt apparmor:unconfined --device /dev/fuse to the docker cmd
  • add network drives by running docker exec -it rclone config in a running container
  • profit!

Your drives will get automagically mounted and added to the database automagically (by manyfold.sh rclone_automount-cmd) during container boot.

NOTE: by default all rclone remotes automagically show up as separate manyfold libraries, however use RCLONE_REMOTE this to specify a combined or union rclone remote.

TIP: use alphanumeric names for rclone remotes (manyfold libraries choke on dot- or other special-characters)