{"id":15286575,"url":"https://github.com/innogames/deb-drop","last_synced_at":"2025-05-07T03:47:25.446Z","repository":{"id":54904565,"uuid":"82291125","full_name":"innogames/deb-drop","owner":"innogames","description":"Http fastCGI web server for provide simple and secure access for managing Debian packages  in repositories","archived":false,"fork":false,"pushed_at":"2024-08-09T10:22:23.000Z","size":2336,"stargazers_count":6,"open_issues_count":1,"forks_count":1,"subscribers_count":17,"default_branch":"master","last_synced_at":"2025-05-07T03:47:19.230Z","etag":null,"topics":["debian","http","http-server","package","package-manager"],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/innogames.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"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":"2017-02-17T11:31:48.000Z","updated_at":"2024-08-09T10:22:28.000Z","dependencies_parsed_at":"2024-06-21T17:42:11.097Z","dependency_job_id":"c1ec53b4-7c4f-494c-a6a0-3ba43df761f6","html_url":"https://github.com/innogames/deb-drop","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/innogames%2Fdeb-drop","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/innogames%2Fdeb-drop/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/innogames%2Fdeb-drop/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/innogames%2Fdeb-drop/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/innogames","download_url":"https://codeload.github.com/innogames/deb-drop/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252810275,"owners_count":21807759,"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":["debian","http","http-server","package","package-manager"],"created_at":"2024-09-30T15:17:15.774Z","updated_at":"2025-05-07T03:47:25.426Z","avatar_url":"https://github.com/innogames.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Build Status](https://travis-ci.org/innogames/deb-drop.svg?branch=master)](https://travis-ci.org/innogames/deb-drop)\n\n# Description\n\nHttp fastCGI web server for provide simple and secure access for managing Debian packages in repositories Edit\n\n## Restrictions\nThere are certain rules for package and config which need to be respected:\n\n* Nginx/Other web server must support FastCGI interface to interact with daemon. I highly recommend you to use https in front\n* Name of package-file must satisfy next schema: \\\u003cname_of_package\\\u003e\\_\\\u003cversion\\\u003e\\_\\\u003carchitecture\\\u003e.deb. For example grafsy_1.3_amd64.deb\n* Name of repository must satisfy next schema: \\\u003cname_of_repository\\\u003e-\\\u003csection\\\u003e-\\\u003carchitecture\\\u003e. For example oleg-stable-amd64\n\n## Parameters\n* token: secret token to authenticate on server. If you perform actions on multiple repositories - token must work for all of them\n* package: may mean package name for `Get` and `Copy` functions or file location for `Deploy`\n* repos: one or multiple comma-separated repositories, on which you want to perform actions\n* versions: in case of usage `Get` means how many package entries to return. In case of `Copy` and `Deploy` - how many packages to keep. Default is 5  \n\n## Usage\n\nThere are 3 main use cases right now:  \n\n### Get\nGet one or multiple entries of latest versions of given package (names with version)  \n```bash\ncurl \"https://\u003cserver\u003e/?token=someToken\u0026repos=someRepo-stable-amd64\u0026package=test\u0026versions=2\"\ntest_0.100_all.deb\ntest_0.68_all.deb\n```\n\n### Copy\nCopy package from one repository to another  \nThis might be useful for testing package on staging and then copy in to stable (here is from stable to jessie)  \n```bash\ncurl https://\u003cserver\u003e -F \"token=someToken\" -F \"repos=someRepo-stable-amd64,someRepo-jessie-amd64\" -F \"package=test_0.100_all.deb\"\n```\n\n### Deploy\nDeploy package to repository  \n```bash\ncurl https://\u003cserver\u003e -F \"token=someToken\" -F \"repos=someRepo-stable-amd64,someRepo-jessie-amd64\" -F \"package=@/root/test_0.100_all.deb\"\n```\n\n## Config\nThe server reads `deb-drop.toml` during every request so no need to restart the server after a change here\nStructure:\n```toml\n# Listen on\nhost = \"localhost\"\nport = 9000\n# Amount of MB which will be allocated for caching purposes\nrequestCacheSize = 10\nlogfile = \"/var/log/deb-drop/deb-drop.log\"\n# Root of repository structure. Files will be copied by deb-drop to \u003crepoLocation\u003e/\u003crepo\u003e/\u003cpackage\u003e\nrepoLocation = \"/ftp/pool\"\n# Directory for temporary saved packages\ntmpDir = \"/tmp/deb-drop\"\n# Command to regenerate apt cache. We assume user of deb-drop knows how to regenerate Release files\n# after the command \" \" repository + \" \" will be appended. For example \"regenerate_repo.sh -r someRepo-stable-amd64\"\nrepoRebuildCommand = \"regenerate_repo.sh -r\"\n\n[[token]]\nvalue = \"someToken\"\nowner = \"somebody\"\n[[token.repo]]\nname = \"someRepo-stable-amd64\"\n[[token.repo]]\nname = \"someRepo-jessie-amd64\"\n\n[[token]]\ntoken = \"anotherToken\"\nowner = \"someoneElse\"\n[[token.repo]]\nname = \"someRepo-stable-amd64\"\n[[token.repo]]\nname = \"someRepo-jessie-amd64\"\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finnogames%2Fdeb-drop","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Finnogames%2Fdeb-drop","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finnogames%2Fdeb-drop/lists"}