Cloudbox / autoscan

Autoscan replaces the default Plex and Emby behaviour for picking up changes on the file system.
MIT License
594 stars 49 forks source link

Failure to start for users with no home directory #223

Open Kreeblah opened 8 months ago

Kreeblah commented 8 months ago

When autoscan 1.4.0 runs under a user with no home directory, it fails with the following error:

panic: mkdirall: mkdir /nonexistent: permission denied

goroutine 1 [running]:
main.defaultConfigDirectory({0xace36e, 0x8}, {0xacf1e7, 0xa})
    github.com/cloudbox/autoscan/cmd/autoscan/config.go:27 +0x1d9
main.main()
    github.com/cloudbox/autoscan/cmd/autoscan/main.go:120 +0x2f4

This is even true when passing the --config, --database, and --log flags, so it seems to be hitting https://github.com/Cloudbox/autoscan/blob/master/cmd/autoscan/config.go#L26 and attempting to create directories before checking to see whether it's even relevant that the user has a home directory (which, obviously, is going to fail in this situation). This then causes it to fail to start when running on a system where it has its own user to run as a service, but without login permissions or a home directory, as is the case on FreeBSD.

m-rots commented 8 months ago

This definitely sounds like a mistake on our end! I’ll look into this over the weekend.