SenexCrenshaw / StreamMaster

MIT License
159 stars 20 forks source link

Failed to create directory: /config/Settings System.IO.IOException #231

Open ruiribeiro2020 opened 1 month ago

ruiribeiro2020 commented 1 month ago

Describe the Bug When I installed the app on unraid, I open the logo and receive an error saying that it failed to create the directory, and the log above also says 2024-05-09 22:07:20.445 BST [65] FATAL: role "root" does not exist Unhandled exception. System.UnauthorizedAccessException: Access to the path '/config/Settings' is denied.

Stream Master Info

Link to logs (required)

at Program.
$(String[] args) in /src/StreamMaster.API/Program.cs:line 75 at Program.
(String[] args) 2024-05-09 22:07:15.469 BST [35] LOG: starting PostgreSQL 15.6 (Debian 15.6-0+deb12u1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 12.2.0-14) 12.2.0, 64-bit 2024-05-09 22:07:15.469 BST [35] LOG: listening on IPv4 address "0.0.0.0", port 5432 2024-05-09 22:07:15.469 BST [35] LOG: listening on IPv6 address "::", port 5432 2024-05-09 22:07:15.472 BST [35] LOG: listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432" 2024-05-09 22:07:15.477 BST [60] LOG: database system was interrupted; last known up at 2024-05-09 22:07:07 BST 2024-05-09 22:07:17.170 BST [60] LOG: database system was not properly shut down; automatic recovery in progress 2024-05-09 22:07:17.174 BST [60] LOG: invalid record length at 0/19212F0: wanted 24, got 0 2024-05-09 22:07:17.174 BST [60] LOG: redo is not required 2024-05-09 22:07:17.180 BST [58] LOG: checkpoint starting: end-of-recovery immediate wait 2024-05-09 22:07:17.191 BST [58] LOG: checkpoint complete: wrote 3 buffers (0.0%); 0 WAL file(s) added, 0 removed, 0 recycled; write=0.001 s, sync=0.003 s, total=0.013 s; sync files=2, longest=0.002 s, average=0.002 s; distance=0 kB, estimate=0 kB 2024-05-09 22:07:17.194 BST [35] LOG: database system is ready to accept connections 2024-05-09 22:07:20.445 BST [65] FATAL: role "root" does not exist Unhandled exception. System.UnauthorizedAccessException: Access to the path '/config/Settings' is denied. ---> System.IO.IOException: Permission denied --- End of inner exception stack trace --- at System.IO.FileSystem.CreateDirectory(String fullPath, UnixFileMode unixCreateMode) at System.IO.Directory.CreateDirectory(String path) at StreamMaster.Domain.Helpers.SettingsHelper.UpdateSetting(Object setting) in /src/StreamMaster.Domain/Helpers/SettingsHelper.cs:line 71 at Program.
$(String[] args) in /src/StreamMaster.API/Program.cs:line 75 at Program.
(String[] args) Changing ownership of /app to 99:100 Changing ownership of /config to 99:100 Configuration:

PGADMIN: Platform Type: debian Setup Email: admin@sm.com Setup Password: **** POSTGRES: User: postgres Password: **** DB Name: StreamMaster Host: 127.0.0.1 Is DB Local: 1 Data Directory: /config/DB Set Perms: 1 OS: User: 99 Group: 100 User: postgres Group: postgres UID: 100 GID: 102 No backup files found in /config/Restore. No files ready for restoration. Attempt 1: PostgreSQL is not yet ready on 127.0.0.1:5432. Retrying in 5 seconds...

PostgreSQL Database directory appears to contain a database; Skipping initialization

PostgreSQL is ready on 127.0.0.1:5432 Postgres is up User nonRootUser added to group postgres successfully. Running as nonRootUser:users Using settings file /config/settings.json Checking Directories: Directory: /config/DB Directory: /config/Cache Directory: /config/Logs Directory: /config/PlayLists Directory: /config/tv-logos Directory: /config/Cache/Icons Directory: /config/Cache/ChannelIcons Directory: /config/Cache/ProgrammeIcons Directory: /config/Cache/SDJson Directory: /config/Cache/SDStationLogos Directory: /config/Cache/SDStationLogosCache Directory: /config/Cache/SDImages Directory: /config/PlayLists/EPG Directory: /config/PlayLists/M3U Directory: /config/HLS Directory: /config/Backups Directory: /config/Settings Failed to create directory: /config/Settings System.IO.IOException: Permission denied Directory: /config/Restore Directory: /config/ Directory: /config/Cache/SDImages/0 Directory: /config/Cache/SDImages/1 Directory: /config/Cache/SDImages/2 Directory: /config/Cache/SDImages/3 Directory: /config/Cache/SDImages/4 Directory: /config/Cache/SDImages/5 Directory: /config/Cache/SDImages/6 Directory: /config/Cache/SDImages/7 Directory: /config/Cache/SDImages/8 Directory: /config/Cache/SDImages/9 Directory: /config/Cache/SDImages/a Directory: /config/Cache/SDImages/b Directory: /config/Cache/SDImages/c Directory: /config/Cache/SDImages/d Directory: /config/Cache/SDImages/e Directory: /config/Cache/SDImages/f

joshelboy commented 1 month ago

I did the following on unraid:

  1. set the POSTGRES_USER=sm as mentioned in #230
  2. cd via webgui/ssh into the StreamMaster Config Host Volume

then run:

# /mnt/user/appdata/StreamMaster
chown . nobody:users

You can check permissions via ls -hal and see if it worked for you

ruiribeiro2020 commented 1 month ago

Hello, thanks

But I still don't know very well how to do this, I still have little experience with Linux.

but when I had my previous server, with streammaster version 0.14.2, I think it was that, I installed it and it worked fine, I didn't need to change anything, when I installed version 0.14.4 it started to create these problems, it will be the version 0.14.4? is there any problem?

ruiribeiro2020 commented 1 month ago

Hello again, I was investigating, and the error could be because I don't have the settings.json file, he didn't create it.

jmanuelmoreno commented 1 month ago

Hello, I had the same error and I solved it by manually creating the 'Settings' folder on the volume. I hope it helps. Luck!

ruiribeiro2020 commented 1 month ago

hello, Thank you very much, I will try