Jump to content


Perforce / Docker / Synology


  • Please log in to reply
5 replies to this topic

#1 moltenCrazy

moltenCrazy

    Newbie

  • Members
  • Pip
  • 6 posts

Posted 30 September 2018 - 03:51 AM

I'm following the steps in this recent tutorial:

http://www.froyok.fr...unreal-engine-4

Initially, I was able to get through most of the steps up to setting up users, but now I've got a Docker container that keeps failing on the same P4 permissions issue:

grep -q p4depot
Service p4depot not found. Creating...
/opt/perforce/sbin/configure-helix-p4d.sh: line 543: netstat: command not found

Perforce server error:
Root directory (set with $P4ROOT or -r flag) invalid.
chdir: /data/p4depot: permission denied

This is strange since it's P4 that created the p4depot directory and assigned ownership to root.

Anyone else out there using Docker on a Synology NAS to run a P4 server? Thoughts on this issue?

Thanks!

--
mC

#2 p4rfong

p4rfong

    Advanced Member

  • Staff Moderators
  • 292 posts

Posted 02 October 2018 - 01:54 AM

See if netstat is installed:

/bin/netstat -an

See if /data/p4depot has proper permissions:

cd  /data/p4depot
echo hello.txt > hello.txt
rm hello.txt

#3 moltenCrazy

moltenCrazy

    Newbie

  • Members
  • Pip
  • 6 posts

Posted 02 October 2018 - 04:46 AM

Hey, p4rfong...thanks for responding! I really appreciate the help!

Netstat is definitely installed; used ipkg to get it on the Synology as soon as the error appeared. Here are some lines from it to confirm

Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address		 State	
tcp	 0	 0 0.0.0.0:443	 0.0.0.0:*			 LISTEN
tcp	 0	 0 127.0.0.1:4700	 0.0.0.0:*			 LISTEN
...
unix 2	 [ ACC ]	 STREAM	 LISTENING	 40089 /tmp/sfsock
unix 2	 [ ACC ]	 STREAM	 LISTENING	 40091 /tmp/cloud-service
unix 2	 [ ACC ]	 STREAM	 LISTENING	 3578524 /var/run/docker.sock


As for the /data/p4depot, is is that location absolute or relative? I thought that the /data directory lived below the P4 server location.

Regardless, I added the /data/p4depot directories and ran chmod -R 777 on them to give everyone full privileges. I'm able to write the test file both as root and under an admin account, and it's an admin account currently running Docker and launching the containers.

Unfortunately, still getting the same errors.

--
mC

#4 Sambwise

Sambwise

    Advanced Member

  • Members
  • PipPipPip
  • 664 posts

Posted 02 October 2018 - 05:16 PM

P4ROOT is the server location (to which everything else is relative -- hence "root") and is usually specified as an absolute path (/data/p4depot in this case).  Just to check, you set the permissions inside the Docker container, right?

#5 moltenCrazy

moltenCrazy

    Newbie

  • Members
  • Pip
  • 6 posts

Posted 02 October 2018 - 06:18 PM

View PostSambwise, on 02 October 2018 - 05:16 PM, said:

P4ROOT is the server location (to which everything else is relative -- hence "root") and is usually specified as an absolute path (/data/p4depot in this case).

Thanks, Sambwise.

Quote

Just to check, you set the permissions inside the Docker container, right?

I haven't set it explicitly in Docker because I don't see anywhere in either the Image or Container settings to do it. Am I missing something? Can it be done in the Environment variables?

--
mC

#6 Sambwise

Sambwise

    Advanced Member

  • Members
  • PipPipPip
  • 664 posts

Posted 02 October 2018 - 06:29 PM

I'm not a Docker expert, but my understanding is that the permissions inside a container aren't necessarily the same as the permissions outside of it, so that could be why you're still hitting permission errors inside the container.  Not sure in the context of this setup exactly how you'd fix that...




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users