nfprojects / nfengine

Game engine
GNU General Public License v2.0
55 stars 4 forks source link

Migrate nfEngineDemoData to our server #102

Open lookeypl opened 9 years ago

lookeypl commented 9 years ago

Google Drive sometimes performs minor fails when trying to pack and send entire archive with deps. This makes using it much more difficult - we need our own solution to keep nfEngineDemoData.

UPDATE 2015.09.25: It looks like Git LFS is still in very early development stage, plus LFS server probably will clutter our storage space on VPS. After discussion, here is new, proposed way of keeping the files on nfprojects.org (Advanced features does not have to be developed right away, however might prove useful in the future - these are marked with [Adv] tag):

lookeypl commented 9 years ago

GitHub is nice enough to provide a new Git extension, which might help us in this issue.

Use the extension. Check what is needed to host our files on nfprojects.org and make them compatible with Git LFS.

mkulagowski commented 9 years ago

I tried to get it to work and was close to success.

  1. Downloaded, configured (a lil' bit) and started it on our VPS.
  2. Made temp repo locally, installed git-lfs and tried to upload one file
  3. Didn't manage to upload file, but server got POST queries made by my git-lfs.

All questions I'll shoot straight at the lfs-test-server creators: https://github.com/github/lfs-test-server/issues/23

mkulagowski commented 9 years ago

SETTING UP SERVER:

  1. Download test-server binary from: https://github.com/github/lfs-test-server/releases
  2. Change LFS_HOST to nfprojects.org:8080
  3. Change LFS_ADMINUSER and LFS_ADMINPASS to known values
  4. Enter http://nfprojects.org:8080/mgmt and add a user - these credential You'll use when prompter for credentials during push
  5. Change LFS_CONTENTPATH to destination folder (else it will be held in lfs-content subdirectory)
  6. start lfs-test-server and nevaaah stop, oh noooee!

SETTING UP LOCAL MACHINE:

  1. Download git-lfs installator from: https://github.com/github/git-lfs/releases
  2. Unpack it into your local git repo, install
  3. Open git bash in your local git repo and write git lfs init
  4. Make it track files by e.x. git lfs track "*.zip" or edit .gitattributes file manually
  5. Change .git/config file so that it have: [lfs] url = "http://nfprojects.org:8080/some_path"

Should work. Writing git lfs ls-files will list files managed by git-lfs. While pushing and asked for credentials use those acquired in p.4 of SETTING UP SERVER.

If you have any questions don't hesitate to ask.

lookeypl commented 9 years ago

Nice job!

Can you create a nice-and-neat Wiki page in our project? This is very important info and it will be easily accessible there for future references.

lookeypl commented 9 years ago

I'm taking over the issue and will try to make this work for our future tasks.

lookeypl commented 9 years ago

Minor notes from my side:

LFS Test Server service has known bugs/issues:

Moving on to uploading test data to LFS

lookeypl commented 9 years ago

After some hiatus from this task I finally did some more research about it and here is what follows:

Right now there are more important tasks to do, so I'm unassigning myself. Maybe, if not me, then someone else will take care of it in the future.

lookeypl commented 9 years ago

Another set of updates after discussion. It looks like the issue is finally coming to an end.

mkulagowski commented 8 years ago

It would be nice to actually write here a comment, concerning what is done and how:

First version of python script is currently close to being merged - it contains initialization. As for the rest of modes: all apart from push can be made using guest acc, PUSH will be made using created account for FTP (so user will be automatically prompted for password, while script is trying to establish connection with server).

Next commit will contain STATUS option, as it is basis for the others, along with some clean-ups for the script and arguments management.

Witek902 commented 8 years ago

:+1:

mkulagowski commented 8 years ago

FTP synchronisation script was merged here and here. Right now script has INIT, PUSH and UPDATE modes. Instead of keeping everything in a file, the script just compare listings of files along with their modification date. PUSH mode will ask for credentials with proper rights in order to store/delete files.

FTP server works (mostly) - there is only one group, that should be allowed (by proftpd) to write - ftpers. Anonymous/guest virtual read-only accounts are created, also any other user can log in, but no root-login is allowed. TLS is supported.

What should be done next? STATUS mode and?