-
-
Notifications
You must be signed in to change notification settings - Fork 177
Description
Describe the Bug
I'm able to run my exact same setup minus the NFS mounts but I'm failing to have it working using NFS mounts for the /config and /config/gamefiles folders. I also tried only a single mount for /config with the same results.
The volumes appear to be mounted correctly and permissions seems fine as I see folders and a few files being created in the startup process.
I also tried combinations of ROOTLESS: false + running the container as root and get the same result.
Your Runtime Command or Docker Compose File
helm install satisfactory k8s-at-home/satisfactory -f values.yaml -n satisfactory2
values.yaml
env:
# Environmental variables as below can be passed in this yaml block
AUTOPAUSE: "true"
MAXPLAYERS: 4
TZ: "America/New York"
VMOVERRIDE: "true"
PUID: 1000
PGID: 1000
ROOTLESS: "true"
service:
main: # Example setup for a LoadBalancer with an external IP
type: NodePort
externalTrafficPolicy: Cluster
ports:
game-port:
enabled: true
port: 7777
targetPort: 7777
nodePort: 30105
protocol: UDP
api-port:
enabled: true
port: 7777
targetPort: 7777
nodePort: 30105
protocol: TCP
query:
enabled: false
beacon:
enabled: false
game:
enabled: false
# MetalLB for example could be used if a Loadbalancer is not provided by your provider
#type: LoadBalancer # Setting an external IP for simple port forwarding
#externalTrafficPolicy: Cluster
#loadBalancerIP: "192.168.2.200" # IP of the satisfactory server
securityContext:
runAsUser: 1000
#supplementalGroups: [1000]
persistence:
config: # Config/save data stored here
enabled: true
server-cache: # Game files stored here
# This is seperated to allow for backing up only game/config data
enabled: true
deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
deployment.kubernetes.io/revision: "1"
meta.helm.sh/release-name: satisfactory
meta.helm.sh/release-namespace: satisfactory2
generation: 1
labels:
app.kubernetes.io/instance: satisfactory
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: satisfactory
app.kubernetes.io/version: latest
helm.sh/chart: satisfactory-1.2.2
name: satisfactory
namespace: satisfactory2
spec:
progressDeadlineSeconds: 600
replicas: 1
revisionHistoryLimit: 3
selector:
matchLabels:
app.kubernetes.io/instance: satisfactory
app.kubernetes.io/name: satisfactory
strategy:
type: Recreate
template:
metadata:
creationTimestamp: null
labels:
app.kubernetes.io/instance: satisfactory
app.kubernetes.io/name: satisfactory
spec:
automountServiceAccountToken: true
containers:
- env:
- name: AUTOPAUSE
value: "true"
- name: MAXPLAYERS
value: "4"
- name: PGID
value: "1000"
- name: PUID
value: "1000"
- name: ROOTLESS
value: "true"
- name: TZ
value: America/New York
- name: VMOVERRIDE
value: "true"
image: wolveix/satisfactory-server:latest
imagePullPolicy: IfNotPresent
name: satisfactory
ports:
- containerPort: 7777
name: api-port
protocol: TCP
- containerPort: 7777
name: game-port
protocol: UDP
resources: {}
securityContext:
runAsUser: 1000
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
volumeMounts:
- mountPath: /config
name: config
- mountPath: /config/gamefiles
name: server-cache
dnsPolicy: ClusterFirst
enableServiceLinks: true
restartPolicy: Always
schedulerName: default-scheduler
securityContext: {}
serviceAccount: default
serviceAccountName: default
terminationGracePeriodSeconds: 30
volumes:
- name: config
persistentVolumeClaim:
claimName: satisfactory-config
- name: server-cache
persistentVolumeClaim:
claimName: satisfactory-server-cache
pvc-config.yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
annotations:
meta.helm.sh/release-name: satisfactory
meta.helm.sh/release-namespace: satisfactory2
pv.kubernetes.io/bind-completed: "yes"
pv.kubernetes.io/bound-by-controller: "yes"
volume.beta.kubernetes.io/storage-provisioner: nfs.csi.k8s.io
volume.kubernetes.io/storage-provisioner: nfs.csi.k8s.io
finalizers:
- kubernetes.io/pvc-protection
labels:
app.kubernetes.io/instance: satisfactory
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: satisfactory
app.kubernetes.io/version: latest
helm.sh/chart: satisfactory-1.2.2
name: satisfactory-config
namespace: satisfactory2
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
storageClassName: nfs-csi
volumeMode: Filesystem
volumeName: pvc-1ffe6478-7142-40ef-a267-5d13da0eab8b
pv-config.yaml
apiVersion: v1
kind: PersistentVolume
metadata:
annotations:
pv.kubernetes.io/provisioned-by: nfs.csi.k8s.io
volume.kubernetes.io/provisioner-deletion-secret-name: ""
volume.kubernetes.io/provisioner-deletion-secret-namespace: ""
finalizers:
- kubernetes.io/pv-protection
name: pvc-1ffe6478-7142-40ef-a267-5d13da0eab8b
spec:
accessModes:
- ReadWriteOnce
capacity:
storage: 1Gi
claimRef:
apiVersion: v1
kind: PersistentVolumeClaim
name: satisfactory-config
namespace: satisfactory2
resourceVersion: "83144920"
uid: 1ffe6478-7142-40ef-a267-5d13da0eab8b
csi:
driver: nfs.csi.k8s.io
volumeAttributes:
csi.storage.k8s.io/pv/name: pvc-1ffe6478-7142-40ef-a267-5d13da0eab8b
csi.storage.k8s.io/pvc/name: satisfactory-config
csi.storage.k8s.io/pvc/namespace: satisfactory2
server: <redacted>
share: /var/nfs/general
storage.kubernetes.io/csiProvisionerIdentity: 1732087383690-8253-nfs.csi.k8s.io
subDir: satisfactory2-satisfactory-config-pvc-1ffe6478-7142-40ef-a267-5d13da0eab8b
volumeHandle: <redacted>#var/nfs/general#satisfactory2-satisfactory-config-pvc-1ffe6478-7142-40ef-a267-5d13da0eab8b#pvc-1ffe6478-7142-40ef-a267-5d13da0eab8b#
persistentVolumeReclaimPolicy: Delete
storageClassName: nfs-csi
volumeMode: Filesystem
status:
phase: Bound
pvc-server-cache.yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
annotations:
meta.helm.sh/release-name: satisfactory
meta.helm.sh/release-namespace: satisfactory2
pv.kubernetes.io/bind-completed: "yes"
pv.kubernetes.io/bound-by-controller: "yes"
volume.beta.kubernetes.io/storage-provisioner: nfs.csi.k8s.io
volume.kubernetes.io/storage-provisioner: nfs.csi.k8s.io
finalizers:
- kubernetes.io/pvc-protection
labels:
app.kubernetes.io/instance: satisfactory
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: satisfactory
app.kubernetes.io/version: latest
helm.sh/chart: satisfactory-1.2.2
name: satisfactory-server-cache
namespace: satisfactory2
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 20Gi
storageClassName: nfs-csi
volumeMode: Filesystem
volumeName: pvc-e52b4edd-7504-487b-be5f-717a5ff87d4d
pv-server-cache.yaml
apiVersion: v1
kind: PersistentVolume
metadata:
annotations:
pv.kubernetes.io/provisioned-by: nfs.csi.k8s.io
volume.kubernetes.io/provisioner-deletion-secret-name: ""
volume.kubernetes.io/provisioner-deletion-secret-namespace: ""
finalizers:
- kubernetes.io/pv-protection
name: pvc-e52b4edd-7504-487b-be5f-717a5ff87d4d
spec:
accessModes:
- ReadWriteOnce
capacity:
storage: 20Gi
claimRef:
apiVersion: v1
kind: PersistentVolumeClaim
name: satisfactory-server-cache
namespace: satisfactory2
csi:
driver: nfs.csi.k8s.io
volumeAttributes:
csi.storage.k8s.io/pv/name: pvc-e52b4edd-7504-487b-be5f-717a5ff87d4d
csi.storage.k8s.io/pvc/name: satisfactory-server-cache
csi.storage.k8s.io/pvc/namespace: satisfactory2
server: <REDACTED>
share: /var/nfs/general
storage.kubernetes.io/csiProvisionerIdentity: 1732087383690-8253-nfs.csi.k8s.io
subDir: satisfactory2-satisfactory-server-cache-pvc-e52b4edd-7504-487b-be5f-717a5ff87d4d
volumeHandle: <redacted>#var/nfs/general#satisfactory2-satisfactory-server-cache-pvc-e52b4edd-7504-487b-be5f-717a5ff87d4d#pvc-e52b4edd-7504-487b-be5f-717a5ff87d4d#
persistentVolumeReclaimPolicy: Delete
storageClassName: nfs-csi
volumeMode: Filesystem
status:
phase: Bound
Debug Output
Run the container with DEBUG=true as an environment variable, and it'll print out the system specs requested below, as
well as a bunch of information about your container (version, environment variables, etc.)
===== Satisfactory Server 1.8.9 =====
https://github.com/wolveix/satisfactory-server
Debugging enabled (the container will exit after printing the debug info)
Printing environment variables:
declare -x AUTOPAUSE="true"
declare -x AUTOSAVENUM="5"
declare -x DEBUG="true"
declare -x DISABLESEASONALEVENTS="false"
declare -x GAMECONFIGDIR="/config/gamefiles/FactoryGame/Saved"
declare -x GAMESAVESDIR="/home/steam/.config/Epic/FactoryGame/Saved/SaveGames"
declare -x HOME="/home/steam"
declare -x HOSTNAME="satisfactory-68fc69b894-mzffk"
declare -x KUBERNETES_PORT="tcp://172.30.0.1:443"
declare -x KUBERNETES_PORT_443_TCP="tcp://172.30.0.1:443"
declare -x KUBERNETES_PORT_443_TCP_ADDR="172.30.0.1"
declare -x KUBERNETES_PORT_443_TCP_PORT="443"
declare -x KUBERNETES_PORT_443_TCP_PROTO="tcp"
declare -x KUBERNETES_SERVICE_HOST="172.30.0.1"
declare -x KUBERNETES_SERVICE_PORT="443"
declare -x KUBERNETES_SERVICE_PORT_HTTPS="443"
declare -x LANG="en_US.UTF-8"
declare -x LANGUAGE="en_US:en"
declare -x LOG="false"
declare -x MAXOBJECTS="2162688"
declare -x MAXPLAYERS="4"
declare -x MAXTICKRATE="30"
declare -x NSS_SDB_USE_CACHE="no"
declare -x OLDPWD
declare -x PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
declare -x PGID="1000"
declare -x PUID="1000"
declare -x PWD="/config"
declare -x ROOTLESS="true"
declare -x SATISFACTORY_PORT="tcp://172.30.223.233:7777"
declare -x SATISFACTORY_PORT_7777_TCP="tcp://172.30.223.233:7777"
declare -x SATISFACTORY_PORT_7777_TCP_ADDR="172.30.223.233"
declare -x SATISFACTORY_PORT_7777_TCP_PORT="7777"
declare -x SATISFACTORY_PORT_7777_TCP_PROTO="tcp"
declare -x SATISFACTORY_PORT_7777_UDP="udp://172.30.223.233:7777"
declare -x SATISFACTORY_PORT_7777_UDP_ADDR="172.30.223.233"
declare -x SATISFACTORY_PORT_7777_UDP_PORT="7777"
declare -x SATISFACTORY_PORT_7777_UDP_PROTO="udp"
declare -x SATISFACTORY_SERVICE_HOST="172.30.223.233"
declare -x SATISFACTORY_SERVICE_PORT="7777"
declare -x SATISFACTORY_SERVICE_PORT_API_PORT="7777"
declare -x SATISFACTORY_SERVICE_PORT_GAME_PORT="7777"
declare -x SERVERGAMEPORT="7777"
declare -x SERVERSTREAMING="true"
declare -x SHLVL="1"
declare -x SKIPUPDATE="false"
declare -x STEAMAPPID="1690800"
declare -x STEAMBETA="false"
declare -x TERM="xterm"
declare -x TIMEOUT="30"
declare -x TZ="America/New York"
declare -x USER="steam"
declare -x VERSION="1.8.9"
declare -x VMOVERRIDE="true"
System info:
OS: Linux satisfactory-68fc69b894-mzffk 6.7.4-200.fc39.x86_64 #1 SMP PREEMPT_DYNAMIC Mon Feb 5 22:21:14 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
CPU: QEMU Virtual CPU version 2.5+
RAM: 11GB/15GB
HDD: 40GB/100GB (40% used)
Current version:
1.8.9
Current user:
uid=1000(steam) gid=1000(steam) groups=1000(steam)
Proposed user:
uid=1000(?) gid=1000(?) groups=1000(?)
Exiting...System Specs (please complete the following information):
===== START ISSUE REPORT =====
OS: Linux 6.7.4-200.fc39.x86_64 #1 SMP PREEMPT_DYNAMIC Mon Feb 5 22:21:14 UTC 2024 x86_64 GNU/Linux
CPU: QEMU Virtual CPU version 2.5+
BIOS pc-i440fx-8.1 CPU @ 2.0GHz
RAM: 13GB/15GB
HDD: 27GB/100GB (27% used)
===== END ISSUE REPORT =====
NFS Server Disk Space
Disks are SSD type disks.
root@nfs:/var/nfs/general# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/fedora-nfs 50G 4.3G 46G 9% /var/nfs/general
Logs
===== Satisfactory Server 1.8.9 =====
https://github.com/wolveix/satisfactory-server
WARNING: VMOVERRIDE is enabled, skipping CPU model check. Satisfactory might crash!
Checking available memory: 13GB detected
Clearing old Satisfactory logs (set LOG=true to disable this)
Setting autosave number to 5
Setting max objects to 2162688
Setting max tick rate to 30
Setting server streaming to 1
Setting timeout to 30
Setting max players to 4
Checking available storage: 45GB detected
Downloading the latest version of the game...
Redirecting stderr to '/home/steam/.steam/steam/logs/stderr.txt'
ILocalize::AddFile() failed to load file "public/steambootstrapper_english.txt".
[ 0%] Checking for available update...
[----] Downloading update (0 of 48,188 KB)...
[ 0%] Downloading update (0 of 48,188 KB)...
[ 0%] Downloading update (0 of 48,188 KB)...
[ 0%] Downloading update (1,852 of 48,188 KB)...
[ 3%] Downloading update (5,789 of 48,188 KB)...
[ 12%] Downloading update (9,077 of 48,188 KB)...
[ 18%] Downloading update (11,773 of 48,188 KB)...
[ 24%] Downloading update (14,320 of 48,188 KB)...
[ 29%] Downloading update (16,675 of 48,188 KB)...
[ 34%] Downloading update (19,467 of 48,188 KB)...
[ 40%] Downloading update (21,932 of 48,188 KB)...
[ 45%] Downloading update (24,364 of 48,188 KB)...
[ 50%] Downloading update (26,750 of 48,188 KB)...
[ 55%] Downloading update (29,173 of 48,188 KB)...
[ 60%] Downloading update (31,831 of 48,188 KB)...
[ 66%] Downloading update (34,360 of 48,188 KB)...
[ 71%] Downloading update (36,775 of 48,188 KB)...
[ 76%] Downloading update (39,301 of 48,188 KB)...
[ 81%] Downloading update (40,924 of 48,188 KB)...
[ 84%] Downloading update (42,135 of 48,188 KB)...
[ 87%] Downloading update (43,524 of 48,188 KB)...
[ 90%] Downloading update (44,789 of 48,188 KB)...
[ 92%] Downloading update (46,072 of 48,188 KB)...
[ 95%] Downloading update (47,421 of 48,188 KB)...
[ 98%] Downloading update (48,188 of 48,188 KB)...
[100%] Download Complete.
[----] Applying update...
[----] Extracting package...
[----] Extracting package...
[----] Extracting package...
[----] Extracting package...
[----] Installing update...
[----] Installing update...
[----] Installing update...
[----] Installing update...
[----] Installing update...
[----] Installing update...
[----] Installing update...
[----] Installing update...
[----] Installing update...
[----] Cleaning up...
[----] Update complete, launching...
Redirecting stderr to '/home/steam/.steam/steam/logs/stderr.txt'
Logging directory: '/home/steam/.steam/steam/logs'
[ 0%] Checking for available updates...
[----] Verifying installation...
[ 0%] Downloading update...
[ 0%] Checking for available updates...
[----] Download complete.
[----] Extracting package...
[----] Extracting package...
[----] Extracting package...
[----] Extracting package...
[----] Installing update...
[----] Installing update...
[----] Installing update...
[----] Installing update...
[----] Installing update...
[----] Installing update...
[----] Installing update...
[----] Installing update...
[----] Installing update...
[----] Cleaning up...
[----] Update complete, launching Steamcmd...
UpdateUI: skip show logosteamcmd.sh[11]: Restarting steamcmd by request...
Redirecting stderr to '/home/steam/.steam/steam/logs/stderr.txt'
Logging directory: '/home/steam/.steam/steam/logs'
[ 0%] Checking for available updates...
[----] Verifying installation...
UpdateUI: skip show logoSteam Console Client (c) Valve Corporation - version 1731433425
-- type 'quit' to exit --
Loading Steam API...OK
Connecting anonymously to Steam Public...OK
Waiting for client config...OK
Waiting for user info...OK
Update state (0x3) reconfiguring, progress: 0.00 (0 / 0)
Update state (0x11) preallocating, progress: 12.24 (527065982 / 4305824412)
Update state (0x11) preallocating, progress: 55.14 (2374216283 / 4305824412)
Update state (0x11) preallocating, progress: 74.31 (3199541115 / 4305824412) <-- Always gets stuck around here (% varies)
Mounts content
After starting the container here is the volume content
cat satisfactory2-debug-logs/tree-nfs-satisfactory2-satisfactory-config-pvc-1ffe6478-7142-40ef-a267-5d13da0eab8b.txt
/mnt/satisfactory2-satisfactory-config-pvc-1ffe6478-7142-40ef-a267-5d13da0eab8b
├── backups
├── gamefiles
├── logs
│ ├── satisfactory-path.txt
│ └── steam
└── saved
├── blueprints
└── server
8 directories, 1 file
cat satisfactory2-debug-logs/tree-nfs-satisfactory2-satisfactory-server-cache-pvc-e52b4edd-7504-487b-be5f-717a5ff87d4d.txt
[drwxr-xr-x] /mnt/satisfactory2-satisfactory-server-cache-pvc-e52b4edd-7504-487b-be5f-717a5ff87d4d
├── [drwxr-xr-x] FactoryGame
│ └── [drwxr-xr-x] Saved
│ ├── [drwxr-xr-x] Config
│ │ └── [drwxr-xr-x] LinuxServer
│ └── [drwxr-xr-x] Logs
└── [drwxr-xr-x] steamapps
├── [-rwxr-xr-x] appmanifest_1690800.acf
├── [drwxr-xr-x] downloading
│ ├── [drwxr-xr-x] 1690800
│ │ ├── [drwxr-xr-x] Engine
│ │ │ ├── [drwxr-xr-x] Binaries
│ │ │ │ ├── [drwxr-xr-x] Linux
│ │ │ │ └── [drwxr-xr-x] ThirdParty
│ │ │ │ └── [drwxr-xr-x] MsQuic
│ │ │ │ └── [drwxr-xr-x] v220
│ │ │ │ └── [drwxr-xr-x] linux
│ │ │ ├── [drwxr-xr-x] Content
│ │ │ │ └── [drwxr-xr-x] SlateDebug
│ │ │ │ └── [drwxr-xr-x] Fonts
│ │ │ ├── [drwxr-xr-x] Plugins
│ │ │ │ ├── [drwxr-xr-x] 2D
│ │ │ │ │ └── [drwxr-xr-x] Paper2D
│ │ │ │ │ └── [drwxr-xr-x] Binaries
│ │ │ │ │ └── [drwxr-xr-x] Linux
│ │ │ │ ├── [drwxr-xr-x] AI
│ │ │ │ │ └── [drwxr-xr-x] AISupport
│ │ │ │ │ └── [drwxr-xr-x] Binaries
│ │ │ │ │ └── [drwxr-xr-x] Linux
│ │ │ │ ├── [drwxr-xr-x] Animation
│ │ │ │ │ ├── [drwxr-xr-x] ACLPlugin
│ │ │ │ │ │ └── [drwxr-xr-x] Binaries
│ │ │ │ │ │ └── [drwxr-xr-x] Linux
│ │ │ │ │ ├── [drwxr-xr-x] ControlRig
│ │ │ │ │ │ └── [drwxr-xr-x] Binaries
│ │ │ │ │ │ └── [drwxr-xr-x] Linux
│ │ │ │ │ ├── [drwxr-xr-x] ControlRigSpline
│ │ │ │ │ │ └── [drwxr-xr-x] Binaries
│ │ │ │ │ │ └── [drwxr-xr-x] Linux
│ │ │ │ │ ├── [drwxr-xr-x] DeformerGraph
│ │ │ │ │ │ └── [drwxr-xr-x] Binaries
│ │ │ │ │ │ └── [drwxr-xr-x] Linux
│ │ │ │ │ └── [drwxr-xr-x] IKRig
│ │ │ │ │ └── [drwxr-xr-x] Binaries
│ │ │ │ │ └── [drwxr-xr-x] Linux
│ │ │ │ ├── [drwxr-xr-x] Cameras
│ │ │ │ │ └── [drwxr-xr-x] GameplayCameras
│ │ │ │ │ └── [drwxr-xr-x] Binaries
│ │ │ │ │ └── [drwxr-xr-x] Linux
│ │ │ │ ├── [drwxr-xr-x] Compositing
│ │ │ │ │ └── [drwxr-xr-x] LensDistortion
│ │ │ │ │ └── [drwxr-xr-x] Binaries
│ │ │ │ │ └── [drwxr-xr-x] Linux
│ │ │ │ ├── [drwxr-xr-x] Compression
│ │ │ │ │ └── [drwxr-xr-x] OodleNetwork
│ │ │ │ │ └── [drwxr-xr-x] Binaries
│ │ │ │ │ └── [drwxr-xr-x] Linux
│ │ │ │ ├── [drwxr-xr-x] Developer
│ │ │ │ │ ├── [drwxr-xr-x] AnimationSharing
│ │ │ │ │ │ └── [drwxr-xr-x] Binaries
│ │ │ │ │ │ └── [drwxr-xr-x] Linux
│ │ │ │ │ └── [drwxr-xr-x] UObjectPlugin
│ │ │ │ │ └── [drwxr-xr-x] Binaries
│ │ │ │ │ └── [drwxr-xr-x] Linux
│ │ │ │ ├── [drwxr-xr-x] DSTelemetry
│ │ │ │ │ └── [drwxr-xr-x] Binaries
│ │ │ │ │ └── [drwxr-xr-x] Linux
│ │ │ │ ├── [drwxr-xr-x] Editor
│ │ │ │ │ └── [drwxr-xr-x] FacialAnimation
│ │ │ │ │ └── [drwxr-xr-x] Binaries
│ │ │ │ │ └── [drwxr-xr-x] Linux
│ │ │ │ ├── [drwxr-xr-x] EnhancedInput
│ │ │ │ │ └── [drwxr-xr-x] Binaries
│ │ │ │ │ └── [drwxr-xr-x] Linux
│ │ │ │ ├── [drwxr-xr-x] Enterprise
│ │ │ │ │ ├── [drwxr-xr-x] DatasmithContent
│ │ │ │ │ │ └── [drwxr-xr-x] Binaries
│ │ │ │ │ │ └── [drwxr-xr-x] Linux
│ │ │ │ │ ├── [drwxr-xr-x] GLTFExporter
│ │ │ │ │ │ └── [drwxr-xr-x] Binaries
│ │ │ │ │ │ └── [drwxr-xr-x] Linux
│ │ │ │ │ └── [drwxr-xr-x] VariantManagerContent
│ │ │ │ │ └── [drwxr-xr-x] Binaries
│ │ │ │ │ └── [drwxr-xr-x] Linux
│ │ │ │ ├── [drwxr-xr-x] Experimental
│ │ │ │ │ ├── [drwxr-xr-x] AutomationUtils
│ │ │ │ │ │ └── [drwxr-xr-x] Binaries
│ │ │ │ │ │ └── [drwxr-xr-x] Linux
│ │ │ │ │ ├── [drwxr-xr-x] BackChannel
│ │ │ │ │ │ └── [drwxr-xr-x] Binaries
│ │ │ │ │ │ └── [drwxr-xr-x] Linux
│ │ │ │ │ ├── [drwxr-xr-x] ChaosCaching
│ │ │ │ │ │ └── [drwxr-xr-x] Binaries
│ │ │ │ │ │ └── [drwxr-xr-x] Linux
│ │ │ │ │ ├── [drwxr-xr-x] ChaosCloth
│ │ │ │ │ │ └── [drwxr-xr-x] Binaries
│ │ │ │ │ │ └── [drwxr-xr-x] Linux
│ │ │ │ │ ├── [drwxr-xr-x] ChaosNiagara
│ │ │ │ │ │ └── [drwxr-xr-x] Binaries
│ │ │ │ │ │ └── [drwxr-xr-x] Linux
│ │ │ │ │ ├── [drwxr-xr-x] ChaosUserDataPT
│ │ │ │ │ │ └── [drwxr-xr-x] Binaries
│ │ │ │ │ │ └── [drwxr-xr-x] Linux
│ │ │ │ │ ├── [drwxr-xr-x] ChaosVehiclesPlugin
│ │ │ │ │ │ └── [drwxr-xr-x] Binaries
│ │ │ │ │ │ └── [drwxr-xr-x] Linux
│ │ │ │ │ ├── [drwxr-xr-x] CharacterAI
│ │ │ │ │ │ └── [drwxr-xr-x] Binaries
│ │ │ │ │ │ └── [drwxr-xr-x] Linux
│ │ │ │ │ ├── [drwxr-xr-x] ControlFlows
│ │ │ │ │ │ └── [drwxr-xr-x] Binaries
│ │ │ │ │ │ └── [drwxr-xr-x] Linux
│ │ │ │ │ ├── [drwxr-xr-x] Dataflow
│ │ │ │ │ │ └── [drwxr-xr-x] Binaries
│ │ │ │ │ │ └── [drwxr-xr-x] Linux
│ │ │ │ │ ├── [drwxr-xr-x] Fracture
│ │ │ │ │ │ └── [drwxr-xr-x] Binaries
│ │ │ │ │ │ └── [drwxr-xr-x] Linux
│ │ │ │ │ ├── [drwxr-xr-x] FullBodyIK
│ │ │ │ │ │ └── [drwxr-xr-x] Binaries
│ │ │ │ │ │ └── [drwxr-xr-x] Linux
│ │ │ │ │ ├── [drwxr-xr-x] GeometryCollectionPlugin
│ │ │ │ │ │ └── [drwxr-xr-x] Binaries
│ │ │ │ │ │ └── [drwxr-xr-x] Linux
│ │ │ │ │ ├── [drwxr-xr-x] GeometryScripting
│ │ │ │ │ │ └── [drwxr-xr-x] Binaries
│ │ │ │ │ │ └── [drwxr-xr-x] Linux
│ │ │ │ │ ├── [drwxr-xr-x] Landmass
│ │ │ │ │ │ └── [drwxr-xr-x] Binaries
│ │ │ │ │ │ └── [drwxr-xr-x] Linux
│ │ │ │ │ ├── [drwxr-xr-x] LocalizableMessage
│ │ │ │ │ │ └── [drwxr-xr-x] Binaries
│ │ │ │ │ │ └── [drwxr-xr-x] Linux
│ │ │ │ │ ├── [drwxr-xr-x] ModularGameplay
│ │ │ │ │ │ └── [drwxr-xr-x] Binaries
│ │ │ │ │ │ └── [drwxr-xr-x] Linux
│ │ │ │ │ ├── [drwxr-xr-x] PlanarCutPlugin
│ │ │ │ │ │ └── [drwxr-xr-x] Binaries
│ │ │ │ │ │ └── [drwxr-xr-x] Linux
│ │ │ │ │ ├── [drwxr-xr-x] PlatformCrypto
│ │ │ │ │ │ └── [drwxr-xr-x] Binaries
│ │ │ │ │ │ └── [drwxr-xr-x] Linux
│ │ │ │ │ ├── [drwxr-xr-x] PythonScriptPlugin
│ │ │ │ │ │ └── [drwxr-xr-x] Binaries
│ │ │ │ │ │ └── [drwxr-xr-x] Linux
│ │ │ │ │ └── [drwxr-xr-x] StructUtils
│ │ │ │ │ └── [drwxr-xr-x] Binaries
│ │ │ │ │ └── [drwxr-xr-x] Linux
│ │ │ │ ├── [drwxr-xr-x] FX
│ │ │ │ │ └── [drwxr-xr-x] Niagara
│ │ │ │ │ └── [drwxr-xr-x] Binaries
│ │ │ │ │ └── [drwxr-xr-x] Linux
│ │ │ │ ├── [drwxr-xr-x] Interchange
│ │ │ │ │ └── [drwxr-xr-x] Runtime
│ │ │ │ │ └── [drwxr-xr-x] Binaries
│ │ │ │ │ └── [drwxr-xr-x] Linux
│ │ │ │ ├── [drwxr-xr-x] Media
│ │ │ │ │ ├── [drwxr-xr-x] ImgMedia
│ │ │ │ │ │ └── [drwxr-xr-x] Binaries
│ │ │ │ │ │ └── [drwxr-xr-x] Linux
│ │ │ │ │ ├── [drwxr-xr-x] MediaCompositing
│ │ │ │ │ │ └── [drwxr-xr-x] Binaries
│ │ │ │ │ │ └── [drwxr-xr-x] Linux
│ │ │ │ │ └── [drwxr-xr-x] MediaPlate
│ │ │ │ │ └── [drwxr-xr-x] Binaries
│ │ │ │ │ └── [drwxr-xr-x] Linux
│ │ │ │ ├── [drwxr-xr-x] Messaging
│ │ │ │ │ ├── [drwxr-xr-x] TcpMessaging
│ │ │ │ │ │ └── [drwxr-xr-x] Binaries
│ │ │ │ │ │ └── [drwxr-xr-x] Linux
│ │ │ │ │ └── [drwxr-xr-x] UdpMessaging
│ │ │ │ │ └── [drwxr-xr-x] Binaries
│ │ │ │ │ └── [drwxr-xr-x] Linux
│ │ │ │ ├── [drwxr-xr-x] MovieScene
│ │ │ │ │ ├── [drwxr-xr-x] ActorSequence
│ │ │ │ │ │ └── [drwxr-xr-x] Binaries
│ │ │ │ │ │ └── [drwxr-xr-x] Linux
│ │ │ │ │ ├── [drwxr-xr-x] SequencerScripting
│ │ │ │ │ │ └── [drwxr-xr-x] Binaries
│ │ │ │ │ │ └── [drwxr-xr-x] Linux
│ │ │ │ │ └── [drwxr-xr-x] TemplateSequence
│ │ │ │ │ └── [drwxr-xr-x] Binaries
│ │ │ │ │ └── [drwxr-xr-x] Linux
│ │ │ │ ├── [drwxr-xr-x] Online
│ │ │ │ │ ├── [drwxr-xr-x] OnlineBase
│ │ │ │ │ │ └── [drwxr-xr-x] Binaries
│ │ │ │ │ │ └── [drwxr-xr-x] Linux
│ │ │ │ │ ├── [drwxr-xr-x] OnlineFramework
│ │ │ │ │ │ └── [drwxr-xr-x] Binaries
│ │ │ │ │ │ └── [drwxr-xr-x] Linux
│ │ │ │ │ ├── [drwxr-xr-x] OnlineServices
│ │ │ │ │ │ └── [drwxr-xr-x] Binaries
│ │ │ │ │ │ └── [drwxr-xr-x] Linux
│ │ │ │ │ ├── [drwxr-xr-x] OnlineServicesNull
│ │ │ │ │ │ └── [drwxr-xr-x] Binaries
│ │ │ │ │ │ └── [drwxr-xr-x] Linux
│ │ │ │ │ ├── [drwxr-xr-x] OnlineServicesOSSAdapter
│ │ │ │ │ │ └── [drwxr-xr-x] Binaries
│ │ │ │ │ │ └── [drwxr-xr-x] Linux
│ │ │ │ │ ├── [drwxr-xr-x] OnlineSubsystem
│ │ │ │ │ │ └── [drwxr-xr-x] Binaries
│ │ │ │ │ │ └── [drwxr-xr-x] Linux
│ │ │ │ │ ├── [drwxr-xr-x] OnlineSubsystemNull
│ │ │ │ │ │ └── [drwxr-xr-x] Binaries
│ │ │ │ │ │ └── [drwxr-xr-x] Linux
│ │ │ │ │ └── [drwxr-xr-x] OnlineSubsystemUtils
│ │ │ │ │ └── [drwxr-xr-x] Binaries
│ │ │ │ │ └── [drwxr-xr-x] Linux
│ │ │ │ ├── [drwxr-xr-x] Portal
│ │ │ │ │ └── [drwxr-xr-x] LauncherChunkInstaller
│ │ │ │ │ └── [drwxr-xr-x] Binaries
│ │ │ │ │ └── [drwxr-xr-x] Linux
│ │ │ │ ├── [drwxr-xr-x] Runtime
│ │ │ │ │ ├── [drwxr-xr-x] ActorLayerUtilities
│ │ │ │ │ │ └── [drwxr-xr-x] Binaries
│ │ │ │ │ │ └── [drwxr-xr-x] Linux
│ │ │ │ │ ├── [drwxr-xr-x] AndroidFileServer
│ │ │ │ │ │ └── [drwxr-xr-x] Binaries
│ │ │ │ │ │ └── [drwxr-xr-x] Linux
│ │ │ │ │ ├── [drwxr-xr-x] ApexDestruction
│ │ │ │ │ │ └── [drwxr-xr-x] Binaries
│ │ │ │ │ │ └── [drwxr-xr-x] Linux
│ │ │ │ │ ├── [drwxr-xr-x] AppleImageUtils
│ │ │ │ │ │ └── [drwxr-xr-x] Binaries
│ │ │ │ │ │ └── [drwxr-xr-x] Linux
│ │ │ │ │ ├── [drwxr-xr-x] AssetTags
│ │ │ │ │ │ └── [drwxr-xr-x] Binaries
│ │ │ │ │ │ └── [drwxr-xr-x] Linux
│ │ │ │ │ ├── [drwxr-xr-x] AudioCapture
│ │ │ │ │ │ └── [drwxr-xr-x] Binaries
│ │ │ │ │ │ └── [drwxr-xr-x] Linux
│ │ │ │ │ ├── [drwxr-xr-x] AudioSynesthesia
│ │ │ │ │ │ └── [drwxr-xr-x] Binaries
│ │ │ │ │ │ └── [drwxr-xr-x] Linux
│ │ │ │ │ ├── [drwxr-xr-x] AudioWidgets
│ │ │ │ │ │ └── [drwxr-xr-x] Binaries
│ │ │ │ │ │ └── [drwxr-xr-x] Linux
│ │ │ │ │ ├── [drwxr-xr-x] CableComponent
│ │ │ │ │ │ └── [drwxr-xr-x] Binaries
│ │ │ │ │ │ └── [drwxr-xr-x] Linux
│ │ │ │ │ ├── [drwxr-xr-x] ChunkDownloader
│ │ │ │ │ │ └── [drwxr-xr-x] Binaries
│ │ │ │ │ │ └── [drwxr-xr-x] Linux
│ │ │ │ │ ├── [drwxr-xr-x] ComputeFramework
│ │ │ │ │ │ └── [drwxr-xr-x] Binaries
│ │ │ │ │ │ └── [drwxr-xr-x] Linux
│ │ │ │ │ ├── [drwxr-xr-x] CustomMeshComponent
│ │ │ │ │ │ └── [drwxr-xr-x] Binaries
│ │ │ │ │ │ └── [drwxr-xr-x] Linux
│ │ │ │ │ ├── [drwxr-xr-x] ExampleDeviceProfileSelector
│ │ │ │ │ │ └── [drwxr-xr-x] Binaries
│ │ │ │ │ │ └── [drwxr-xr-x] Linux
│ │ │ │ │ ├── [drwxr-xr-x] GeometryCache
│ │ │ │ │ │ └── [drwxr-xr-x] Binaries
│ │ │ │ │ │ └── [drwxr-xr-x] Linux
│ │ │ │ │ ├── [drwxr-xr-x] GeometryProcessing
│ │ │ │ │ │ └── [drwxr-xr-x] Binaries
│ │ │ │ │ │ └── [drwxr-xr-x] Linux
│ │ │ │ │ ├── [drwxr-xr-x] GooglePAD
│ │ │ │ │ │ └── [drwxr-xr-x] Binaries
│ │ │ │ │ │ └── [drwxr-xr-x] Linux
│ │ │ │ │ ├── [drwxr-xr-x] HairStrands
│ │ │ │ │ │ └── [drwxr-xr-x] Binaries
│ │ │ │ │ │ └── [drwxr-xr-x] Linux
│ │ │ │ │ ├── [drwxr-xr-x] LinuxDeviceProfileSelector
│ │ │ │ │ │ └── [drwxr-xr-x] Binaries
│ │ │ │ │ │ └── [drwxr-xr-x] Linux
│ │ │ │ │ ├── [drwxr-xr-x] MeshModelingToolset
│ │ │ │ │ │ └── [drwxr-xr-x] Binaries
│ │ │ │ │ │ └── [drwxr-xr-x] Linux
│ │ │ │ │ ├── [drwxr-xr-x] Metasound
│ │ │ │ │ │ └── [drwxr-xr-x] Binaries
│ │ │ │ │ │ └── [drwxr-xr-x] Linux
│ │ │ │ │ ├── [drwxr-xr-x] ModelViewViewModel
│ │ │ │ │ │ └── [drwxr-xr-x] Binaries
│ │ │ │ │ │ └── [drwxr-xr-x] Linux
│ │ │ │ │ ├── [drwxr-xr-x] MsQuic
│ │ │ │ │ │ └── [drwxr-xr-x] Binaries
│ │ │ │ │ │ └── [drwxr-xr-x] Linux
│ │ │ │ │ ├── [drwxr-xr-x] PacketHandlers
│ │ │ │ │ │ └── [drwxr-xr-x] DTLSHandlerComponent
│ │ │ │ │ │ └── [drwxr-xr-x] Binaries
│ │ │ │ │ │ └── [drwxr-xr-x] Linux
│ │ │ │ │ ├── [drwxr-xr-x] ProceduralMeshComponent
│ │ │ │ │ │ └── [drwxr-xr-x] Binaries
│ │ │ │ │ │ └── [drwxr-xr-x] Linux
│ │ │ │ │ ├── [drwxr-xr-x] ReplicationGraph
│ │ │ │ │ │ └── [drwxr-xr-x] Binaries
│ │ │ │ │ │ └── [drwxr-xr-x] Linux
│ │ │ │ │ ├── [drwxr-xr-x] ResonanceAudio
│ │ │ │ │ │ └── [drwxr-xr-x] Binaries
│ │ │ │ │ │ └── [drwxr-xr-x] Linux
│ │ │ │ │ ├── [drwxr-xr-x] RigVM
│ │ │ │ │ │ └── [drwxr-xr-x] Binaries
│ │ │ │ │ │ └── [drwxr-xr-x] Linux
│ │ │ │ │ ├── [drwxr-xr-x] SignificanceManager
│ │ │ │ │ │ └── [drwxr-xr-x] Binaries
│ │ │ │ │ │ └── [drwxr-xr-x] Linux
│ │ │ │ │ ├── [drwxr-xr-x] SoundFields
│ │ │ │ │ │ └── [drwxr-xr-x] Binaries
│ │ │ │ │ │ └── [drwxr-xr-x] Linux
│ │ │ │ │ ├── [drwxr-xr-x] Synthesis
│ │ │ │ │ │ └── [drwxr-xr-x] Binaries
│ │ │ │ │ │ └── [drwxr-xr-x] Linux
│ │ │ │ │ └── [drwxr-xr-x] WaveTable
│ │ │ │ │ └── [drwxr-xr-x] Binaries
│ │ │ │ │ └── [drwxr-xr-x] Linux
│ │ │ │ ├── [drwxr-xr-x] TraceUtilities
│ │ │ │ │ └── [drwxr-xr-x] Binaries
│ │ │ │ │ └── [drwxr-xr-x] Linux
│ │ │ │ ├── [drwxr-xr-x] VirtualProduction
│ │ │ │ │ └── [drwxr-xr-x] Takes
│ │ │ │ │ └── [drwxr-xr-x] Binaries
│ │ │ │ │ └── [drwxr-xr-x] Linux
│ │ │ │ ├── [drwxr-xr-x] Wwise
│ │ │ │ │ └── [drwxr-xr-x] Binaries
│ │ │ │ │ └── [drwxr-xr-x] Linux
│ │ │ │ └── [drwxr-xr-x] WwiseNiagara
│ │ │ │ └── [drwxr-xr-x] Binaries
│ │ │ │ └── [drwxr-xr-x] Linux
│ │ │ └── [drwxr-xr-x] Programs
│ │ │ └── [drwxr-xr-x] CrashReportClient
│ │ │ └── [drwxr-xr-x] Content
│ │ │ └── [drwxr-xr-x] Paks
│ │ └── [drwxr-xr-x] FactoryGame
│ │ ├── [drwxr-xr-x] Binaries
│ │ │ └── [drwxr-xr-x] Linux
│ │ ├── [drwxr-xr-x] Content
│ │ │ ├── [drwxr-xr-x] LoadingScreen
│ │ │ ├── [drwxr-xr-x] Paks
│ │ │ └── [drwxr-xr-x] Splash
│ │ └── [drwxr-xr-x] Plugins
│ │ ├── [drwxr-xr-x] AbstractInstance
│ │ │ └── [drwxr-xr-x] Binaries
│ │ │ └── [drwxr-xr-x] Linux
│ │ ├── [drwxr-xr-x] GameplayEvents
│ │ │ └── [drwxr-xr-x] Binaries
│ │ │ └── [drwxr-xr-x] Linux
│ │ ├── [drwxr-xr-x] InstancedSplines
│ │ │ └── [drwxr-xr-x] Binaries
│ │ │ └── [drwxr-xr-x] Linux
│ │ ├── [drwxr-xr-x] Online
│ │ │ └── [drwxr-xr-x] OnlineIntegration
│ │ │ └── [drwxr-xr-x] Binaries
│ │ │ └── [drwxr-xr-x] Linux
│ │ └── [drwxr-xr-x] SignificanceISPC
│ │ └── [drwxr-xr-x] Binaries
│ │ └── [drwxr-xr-x] Linux
│ └── [-rwxr-xr-x] state_1690800_1006.patch
└── [drwxr-xr-x] temp
└── [drwxr-xr-x] 1690800
349 directories, 2 files
Additional context
As previously mentioned, I am able to successfully start this exact setup without the volume mounts. Which means I had to manually create a cron+script to backup/restore saves/blueprints in the meantime.
I'm suspecting an NFS issue here since the setup works without it, but unsure what I'm looking for / if I'm looking at the correct issue.