Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

GameDevs anyone got Perforce - Helix Core Server (version control) installed?

Featured Replies

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.

 

  • 6 months later...

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?

  • 3 months later...

I'm starting to look into this myself. I'm surprised there is no information available for it.
Has anyone had any luck?

  • 1 month later...

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.

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 template

  1. Go to docker tab, click Add Container.

  2. Click "advanced view" in top right.

  3. Fill in values:

    1. Name: Perforce-Server

    2. Repository: ambakshi/perforce-server

    3. Icon URL: https://www.perforce.com/themes/custom/p4base/assets/favicons/favicon.ico

  4. Leave Registry URL, WebUI, Extra Parameters, Post Arguments empty.

  5. Console Shell Command I have it as "Shell", but I don't think it'd make a difference.

  6. 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"

    1. 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.

      1. Leave config type set as "Path"

      2. Fill in values as follows:

        1. Name: Volume

        2. Container Path: /data

        3. Host Path: /mnt/cache/appdata/Perforce-Server/

        4. Default Value: /mnt/cache/appdata/Perforce-Server/

        5. Access Mode: Read/Write

        6. Display: Always

        7. Required: Yes

        8. Password Mask: No

      3. Click Add

    2. Next, We're gonna add a port binding. Click "Add another Path[...]" again.

      1. Set Config type as "Port"

      2. Fill with values:

        1. Name: Port Binding

        2. Container Port: 1666

        3. Host Port: 1666

        4. Default Value: 1666

        5. Connection Type: TCP

        6. Display: Advanced

        7. Required: Yes

      3. Click Add

    3. Next, We're gonna add some environment values. Click "Add another Path[...]"

      1. First, Setting a perforce superuser account:

        1. Set Config type as "Value"

        2. Fill with values:

          1. Name: Perforce superuser name

          2. Key: P4USER

          3. Value: superuser

          4. Default Value: superuser

          5. Display: Always

          6. Required: Yes

        3. Click Add

      2. Then, 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):

        1. Click "Add another Path[...]"

        2. Set Config type as "Value"

        3. Fill with values:

          1. Name: Perforce superuser password

          2. Key: P4PASSWD

          3. Value: [for obvious reasons, I don't post what I've got, invent your own password]

          4. Default Value: superuser

          5. Display: Always

          6. Required: Yes

          7. Password Mask: Yes

        4. Click Add

      3. Then, Setting a perforce port binding (this is purely for p4 to know what to post the service on):

        1. Click "Add another Path[...]"

        2. Set Config type as "Value"

        3. Fill with values:

          1. Name: Perforce Port

          2. Key: P4PORT

          3. Value: 1666

          4. Default Value: 1666

          5. Display: Advanced

          6. Required: Yes

          7. Password Mask: No

        4. Click Add

      4. Then, Setting a perforce port binding (this is purely for p4 to know what to post the service on):

        1. Click "Add another Path[...]"

        2. Set Config type as "Value"

        3. Fill with values:

          1. Name: Perforce Port

          2. Key: P4PORT

          3. Value: 1666

          4. Default Value: 1666

          5. Display: Advanced

          6. Required: Yes

          7. Password Mask: No

        4. Click Add

      5. Then, Setting a perforce depot name:

        1. Click "Add another Path[...]"

        2. Set Config type as "Value"

        3. Fill with values:

          1. Name: Perforce Depot Name

          2. Key: NAME

          3. Value: p4depot

          4. Default Value: p4depot

          5. Display: Advanced

          6. Required: Yes

        4. Click Add

      6. Then, Setting the "path" env variable:

        1. Click "Add another Path[...]"

        2. Set Config type as "Value"

        3. Fill with values:

          1. Name: Path

          2. Key: PATH

          3. Value: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

          4. Default Value: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

          5. Display: Advanced

          6. Required: Yes

        4. Click Add

      7. Then, Setting the data volume path, so the perforce would actually use the volume we provide it with:

        1. Click "Add another Path[...]"

        2. Set Config type as "Value"

        3. Fill with values:

          1. Name: Data volume path

          2. Key: DATAVOLUME

          3. Value: /data

          4. Default Value: /data

          5. Display: Advanced

          6. Required: Yes

        4. Click Add

      8. Finally, Setting the p4 config:

        1. Click "Add another Path[...]"

        2. Set Config type as "Value"

        3. Fill with values:

          1. Name: perforce config

          2. Key: P4CONFIG

          3. Value: .p4config

          4. Default Value: .p4config

          5. Display: Advanced

          6. Required: Yes

        4. Click Add

  7. Now 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.

  8. 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.

  9. Now, that you have validated the container, you can toggle the "autostart" switch inside "docker" tab.

  10. 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 by botwinka

@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.

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-Unreal

This 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.

Guest
Reply to this topic...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.