June 5, 20242 yr Anyone got Perforce - Helix Core Server (version control) installed? Playing with my first unreal engine project & I need version control. GIT(hub) is not the best as 100MB limit & additional costs for LFS storage. Perforce - Helix Core Server is industry standard and free for up to 5 users. Can't quite work out how to install it onto unraid. Here's instructions for a normal linux build - https://help.perforce.com/helix-core/quickstart/Content/quickstart/admin-install-linux.html I've found these instructions for a DIY docker install - https://github.com/sourcegraph/helix-docker Just wondered if anyone here has got it working and what setup they went with? Another option could be a VM but it would be better to have data directly on shares than in a VM drive file.
January 5, 20251 yr Hey, did you ever get yours working on unraid? I'm also thinking of using perforce on unraid but not sure how to. I was also thinking of using syncthing with version control which might also be a good alternative?
April 30, 20251 yr I'm starting to look into this myself. I'm surprised there is no information available for it. Has anyone had any luck?
June 26, 20251 yr there's a ambakshi/perforce-server docker made, which I have had deployed on my QNAP NAS box and works flawlessly, however there doesn't seem to be unraid template for it in community applications. I will try to implement it on unraid, since that's what I'm migrating to.
June 26, 20251 yr update: I have made it work, and have succeeded in migrating old database to unraid. Here's how I did it.Let's create that sweet Perforce-Server templateGo to docker tab, click Add Container.Click "advanced view" in top right.Fill in values:Name: Perforce-ServerRepository: ambakshi/perforce-serverIcon URL: https://www.perforce.com/themes/custom/p4base/assets/favicons/favicon.icoLeave Registry URL, WebUI, Extra Parameters, Post Arguments empty.Console Shell Command I have it as "Shell", but I don't think it'd make a difference.Now we're gonna create a few variables, port bindings, and a path binding, so scroll down and you're gonna click "Add another Path, Port, Variable, Label or Device"First, We're gonna add a volume. I have used the "cache" mount point, because I was lazy and set up only single storage pool. You can change that to something else.Leave config type set as "Path"Fill in values as follows:Name: VolumeContainer Path: /dataHost Path: /mnt/cache/appdata/Perforce-Server/Default Value: /mnt/cache/appdata/Perforce-Server/Access Mode: Read/WriteDisplay: AlwaysRequired: YesPassword Mask: NoClick AddNext, We're gonna add a port binding. Click "Add another Path[...]" again.Set Config type as "Port"Fill with values:Name: Port BindingContainer Port: 1666Host Port: 1666Default Value: 1666Connection Type: TCPDisplay: AdvancedRequired: YesClick AddNext, We're gonna add some environment values. Click "Add another Path[...]"First, Setting a perforce superuser account:Set Config type as "Value"Fill with values:Name: Perforce superuser nameKey: P4USERValue: superuserDefault Value: superuserDisplay: AlwaysRequired: YesClick AddThen, Setting a perforce superuser account password (This technically is not secure way to do it, I take no responsibility for your repository, if you share unraid server with other people):Click "Add another Path[...]"Set Config type as "Value"Fill with values:Name: Perforce superuser passwordKey: P4PASSWDValue: [for obvious reasons, I don't post what I've got, invent your own password]Default Value: superuserDisplay: AlwaysRequired: YesPassword Mask: YesClick AddThen, Setting a perforce port binding (this is purely for p4 to know what to post the service on):Click "Add another Path[...]"Set Config type as "Value"Fill with values:Name: Perforce PortKey: P4PORTValue: 1666Default Value: 1666Display: AdvancedRequired: YesPassword Mask: NoClick AddThen, Setting a perforce port binding (this is purely for p4 to know what to post the service on):Click "Add another Path[...]"Set Config type as "Value"Fill with values:Name: Perforce PortKey: P4PORTValue: 1666Default Value: 1666Display: AdvancedRequired: YesPassword Mask: NoClick AddThen, Setting a perforce depot name:Click "Add another Path[...]"Set Config type as "Value"Fill with values:Name: Perforce Depot NameKey: NAMEValue: p4depotDefault Value: p4depotDisplay: AdvancedRequired: YesClick AddThen, Setting the "path" env variable:Click "Add another Path[...]"Set Config type as "Value"Fill with values:Name: PathKey: PATHValue: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/binDefault Value: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/binDisplay: AdvancedRequired: YesClick AddThen, Setting the data volume path, so the perforce would actually use the volume we provide it with:Click "Add another Path[...]"Set Config type as "Value"Fill with values:Name: Data volume pathKey: DATAVOLUMEValue: /dataDefault Value: /dataDisplay: AdvancedRequired: YesClick AddFinally, Setting the p4 config:Click "Add another Path[...]"Set Config type as "Value"Fill with values:Name: perforce configKey: P4CONFIGValue: .p4configDefault Value: .p4configDisplay: AdvancedRequired: YesClick AddNow that we have all of the template filled out and configured, you can click "Apply", watch log for any errors, but it should finish without errors.Launch a p4v on a client, that's on the same LAN as your unraid server, try to connect to "[yourservername].local:1666" with username "superuser", or username that you have provided with P4USER variable. You should be prompted for password, and be able to log in to an empty depot. There could be an error "Empty identifier not allowed.", which you can ignore.Now, that you have validated the container, you can toggle the "autostart" switch inside "docker" tab.Admin your perforce server before use, or migrate the files from previous perforce server into the "Host Path" from step 6.1. You should have folders "etc" and "p4depot" already there, and you might have to fiddle around with permissions, but that's beyond the scope.Now there is a glaring issue of not using ssl, which is not something you want to deploy with, and I haven't really done that yet. Depending on your use case, you might want to have a Unicode server, and that is also something I haven't done yet. Might be something I'll try in the future. Edited June 26, 20251 yr by botwinka
June 26, 20251 yr @botwinka I was able to get his working from docker hub as well, but it's pulling a very old version of the software.I'm starting to play around with Docker Compose Manager on Unraid to see if I can set something up for the latest version of perforce. Not quite sure how to use it yet. I have to figure out how to get the setup files in there.
June 28, 20251 yr I have a docker compose repo up that I forked from HaberkornJonas, which based off of ambakshi and Froyok's work.https://github.com/Snipe3000/Perforce-Server-On-Docker-For-UnrealThis has the latest version of the perforce server. I also swapped out centOS for Ubuntu. CentOS seems to be going away.I'm still working on it. The plan is to get swarm setup as well.
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.