I think I did figure out how to do this, but Photostructure doesnāt seem to like it.
I got rclone to mount an Amazon S3 bucket containing a few pics and Photostructure launches and shows me the initial Settings and EULA screen, and it even creates a .photostructure dir in the S3 bucket, but then it crashes and kills the mount when I click the āSaveā button on the EULA screen (i.e., the photostructure container shuts down and the rclone mount dies with āTransport endpoint is not connectedā).
FYI, Iām using this to set up Photostructure on a Digital Ocean droplet.
Hereās the Photostructure container log from startup to ācrashā:
Upgrading your library database...
PhotoStructure is ready: <http://localhost:1787/>
2021-01-03T14:40:28.726Z main-13 error Caught error from file write stream Error: EBADF: bad file descriptor, write
2021-01-03T14:40:32.282Z sync-33 error Caught error from file write stream Error: ENOTCONN: socket is not connected, close
WatchedChild.onError() {
ctx: {
src: 'ChildService(sync).onStdout()',
fatal: true,
ignorable: false,
errToS: 'sync-file: internal error: Error: onStderr({"error":"Health checks failed¹","problems":["Cannot write to /ps/library: undefined: _nativeCopyFile(/ps/library/.tmp-swr2ku/write-test.jpg.gz): {\\"src\\":\\"/ps/app/public/images/splashbg02-1024w.jpg.gz\\",\\"destā¦'
},
src: 'ChildService(sync).onStdout()',
error: l [Error]: ChildService(sync).onStdout()sync-file: internal error: Error: onStderr({"error":"Health checks failed","problems":["Cannot write to /ps/library: undefined: _nativeCopyFile(/ps/library/.tmp-swr2ku/write-test.jpg.gz): {\"src\":\"/ps/app/public/images/splashbg02-1024w.jpg.gz\",\"destā¦Ā¹ā¶
at C.onError (/ps/app/bin/main.js:3:133290)
at A.onStdout (/ps/app/bin/main.js:3:130238)
at s.onData (/ps/app/bin/main.js:3:137340)
at /ps/app/bin/main.js:3:203449
at Array.forEach (<anonymous>)
at s.onChunk (/ps/app/bin/main.js:3:203396)
at Socket.<anonymous> (/ps/app/bin/main.js:3:203615)
at Socket.emit (events.js:315:20)
at Socket.EventEmitter.emit (domain.js:486:12)
at addChunk (_stream_readable.js:309:12) {
cause: undefined,
retriable: true,
fatal: false
}
}
2021-01-03T14:40:32.961Z web-27 error Caught error from file write stream Error: ENOTCONN: socket is not connected, close
WatchedChild.onError() {
ctx: {
src: 'ChildService(web).onStdout()',
fatal: true,
ignorable: false,
errToS: 'Cannot write to /ps/library: undefined: Cannot mkdirp /ps/library/.tmp-7rx9wu¹ā¶āµundefined'
},
src: 'ChildService(web).onStdout()',
error: l [Error]: ChildService(web).onStdout()Cannot write to /ps/library: undefined: Cannot mkdirp /ps/library/.tmp-7rx9wuundefined¹ā¶
at C.onError (/ps/app/bin/main.js:3:133290)
at A.onStdout (/ps/app/bin/main.js:3:130238)
at s.onData (/ps/app/bin/main.js:3:137340)
at /ps/app/bin/main.js:3:203449
at Array.forEach (<anonymous>)
at s.onChunk (/ps/app/bin/main.js:3:203396)
at Socket.<anonymous> (/ps/app/bin/main.js:3:203615)
at Socket.emit (events.js:315:20)
at Socket.EventEmitter.emit (domain.js:486:12)
at addChunk (_stream_readable.js:309:12) {
cause: undefined,
retriable: true,
fatal: false
}
}
{"fatal":true,"exit":true,"status":12,"pid":13,"ppid":6,"error":"ChildService(web).onStdout(): Error: ChildService(web).onStdout()Cannot write to /ps/library: undefined: Cannot mkdirp /ps/library/.tmp-7rx9wuundefined¹ā¶"}
Shutting down PhotoStructure...
Verifying & backing up /ps/tmp/local-db/models/db.sqlite3...
Iām not fishing for free tech support here, just letting you know my results. Though if anyone does want to help me figure this out, Iād appreciate it. Iād love to get my asset library on S3. I may check out Danielās suggestion of BuyVM (below), but then Iād have to figure out how to set up everything on BuyVM (āeverythingā = photostructure, traefik, syncthing, sftp server; I had a friend create Psodo for me so Iād have to kind of start from scratch on a non-Digital-Ocean platform - though I think cloud-init is pretty universal).