{"id":13551435,"url":"https://github.com/git-lfs/lfs-test-server","last_synced_at":"2025-12-15T09:36:57.580Z","repository":{"id":25769648,"uuid":"29207899","full_name":"git-lfs/lfs-test-server","owner":"git-lfs","description":"Standalone Git LFS server","archived":false,"fork":false,"pushed_at":"2024-12-24T23:37:01.000Z","size":487,"stargazers_count":747,"open_issues_count":17,"forks_count":170,"subscribers_count":51,"default_branch":"main","last_synced_at":"2025-05-11T12:00:44.672Z","etag":null,"topics":["git-lfs","go","lfs-server"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/git-lfs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-01-13T19:51:31.000Z","updated_at":"2025-05-11T10:56:30.000Z","dependencies_parsed_at":"2025-01-15T07:01:44.918Z","dependency_job_id":"a862dce8-8aaa-4121-b8fc-42e000f14148","html_url":"https://github.com/git-lfs/lfs-test-server","commit_stats":{"total_commits":172,"total_committers":26,"mean_commits":6.615384615384615,"dds":0.2906976744186046,"last_synced_commit":"6125a0c0d3a7c35e2e84d461b3217bfe85a0385e"},"previous_names":["github/lfs-test-server"],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/git-lfs%2Flfs-test-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/git-lfs%2Flfs-test-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/git-lfs%2Flfs-test-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/git-lfs%2Flfs-test-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/git-lfs","download_url":"https://codeload.github.com/git-lfs/lfs-test-server/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254254041,"owners_count":22039792,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["git-lfs","go","lfs-server"],"created_at":"2024-08-01T12:01:48.286Z","updated_at":"2025-12-15T09:36:57.563Z","avatar_url":"https://github.com/git-lfs.png","language":"Go","funding_links":[],"categories":["Go","go"],"sub_categories":[],"readme":"LFS Test Server\n======\n\n[rel]: https://github.com/github/lfs-test-server/releases\n[lfs]: https://github.com/github/git-lfs\n[api]: https://github.com/github/git-lfs/tree/master/docs/api#readme\n\nLFS Test Server is an example server that implements the [Git LFS API][api]. It\nis intended to be used for testing the [Git LFS][lfs] client and is not in a\nproduction ready state.\n\nLFS Test Server is written in Go, with pre-compiled binaries available for Mac,\nWindows, Linux, and FreeBSD.\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md) for info on working on LFS Test Server and\nsending patches.\n\n## Installing\n\nUse the Go installer:\n\n```\n  $ go install github.com/git-lfs/lfs-test-server@latest\n```\n\n\n## Building\n\nTo build from source, use the Go tools:\n\n```\n  $ go get github.com/git-lfs/lfs-test-server\n```\n\n\n## Running\n\nRunning the binary will start an LFS server on `localhost:8080` by default.\nThere are few things that can be configured via environment variables:\n\n    LFS_LISTEN      # The address:port the server listens on, default: \"tcp://:8080\"\n    LFS_HOST        # The host used when the server generates URLs, default: \"localhost:8080\"\n    LFS_METADB      # The database file the server uses to store meta information, default: \"lfs.db\"\n    LFS_CONTENTPATH # The path where LFS files are store, default: \"lfs-content\"\n    LFS_ADMINUSER   # An administrator username, default: not set\n    LFS_ADMINPASS   # An administrator password, default: not set\n    LFS_CERT        # Certificate file for tls\n    LFS_KEY         # tls key\n    LFS_SCHEME      # set to 'https' to override default http\n    LFS_USETUS      # set to 'true' to enable tusd (tus.io) resumable upload server; tusd must be on PATH, installed separately\n    LFS_TUSHOST     # The host used to start the tusd upload server, default \"localhost:1080\"\n\nIf the `LFS_ADMINUSER` and `LFS_ADMINPASS` variables are set, a\nrudimentary admin interface can be accessed via\n`http://$LFS_HOST/mgmt`. Here you can add and remove users, which must\nbe done before you can use the server with the client.  If either of\nthese variables are not set (which is the default), the administrative\ninterface is disabled.\n\nTo use the LFS test server with the Git LFS client, configure it in the repository's `.lfsconfig`:\n\n\n```\n  [lfs]\n    url = \"http://localhost:8080/\"\n\n```\n\nHTTPS:\n\nNOTE: If using https with a self signed cert also disable cert checking in the client repo.\n\n```\n  [lfs]\n    url = \"https://localhost:8080/\"\n\n  [http]\n    sslverify = false\n\n```\n\n\nAn example usage:\n\n\nGenerate a key pair\n```\nopenssl req -x509 -sha256 -nodes -days 2100 -newkey rsa:2048 -keyout mine.key -out mine.crt\n```\n\nMake yourself a run script\n\n```\n#!/bin/bash\n\nset -eu\nset -o pipefail\n\n\nLFS_LISTEN=\"tcp://:9999\"\nLFS_HOST=\"127.0.0.1:9999\"\nLFS_CONTENTPATH=\"content\"\nLFS_ADMINUSER=\"\u003ccool admin user name\u003e\"\nLFS_ADMINPASS=\"\u003cbetter admin password\u003e\"\nLFS_CERT=\"mine.crt\"\nLFS_KEY=\"mine.key\"\nLFS_SCHEME=\"https\"\n\nexport LFS_LISTEN LFS_HOST LFS_CONTENTPATH LFS_ADMINUSER LFS_ADMINPASS LFS_CERT LFS_KEY LFS_SCHEME\n\n./lfs-test-server\n\n```\n\nBuild the server\n\n```\ngo build\n\n```\n\nRun\n\n```\nbash run.sh\n\n```\n\nCheck the management page\n\nbrowser: https://localhost:9999/mgmt\n\n\n## Debugging\n\n`lfs-test-server` supports a basic cmd to lookup `OID's` via the cmdline to help in debugging, eg. investigating client problems with a particular `OID` and it's properties.\nIn this mode `lfs-test-server` expects the same configuration as when running in daemon mode, but will just executing the requested cmd and then exit.\n\nThis is especially helpful in server environments where it's not always possible to get to the web interface easily or where it's just too slow because of DB size.\n\n`lfs-test-server cmd \u003cOID\u003e`\n\nOutputs the full OID record\n\n# Example\n\n```\n% . /etc/default/lfs-instancefoo    # to source server config\n% ./lfs-test-server cmd 7c9414fe21ad7b45ffb6e72da86f9a9e13dbb2971365ae7bcb8cc7fbbba7419c\n\u0026{Oid:7c9414fe21ad7b45ffb6e72da86f9a9e13dbb2971365ae7bcb8cc7fbbba7419c Size:3334144 Existing:false}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgit-lfs%2Flfs-test-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgit-lfs%2Flfs-test-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgit-lfs%2Flfs-test-server/lists"}