You could use github https://assafmo.github.io/2019/05/02/ppa-repo-hosted-on-github.html
linux4noobs
linux4noobs
Noob Friendly, Expert Enabling
Whether you're a seasoned pro or the noobiest of noobs, you've found the right place for Linux support and information. With a dedication to supporting free and open source software, this community aims to ensure Linux fits your needs and works for you. From troubleshooting to tutorials, practical tips, news and more, all aspects of Linux are warmly welcomed. Join a community of like-minded enthusiasts and professionals driving Linux's ongoing evolution.
Seeking Support?
- Mention your Linux distro and relevant system details.
- Describe what you've tried so far.
- Share your solution even if you found it yourself.
- Do not delete your post. This allows other people to see possible solutions if they have a similar problem.
- Properly format any scripts, code, logs, or error messages.
- Be mindful to omit any sensitive information such as usernames, passwords, IP addresses, etc.
Community Rules
- Keep discussions respectful and amiable. This community is a space where individuals may freely inquire, exchange thoughts, express viewpoints, and extend help without encountering belittlement. We were all a noob at one point. Differing opinions and ideas is a normal part of discourse, but it must remain civil. Offenders will be warned and/or removed.
- Posts must be Linux oriented
- Spam or affiliate links will not be tolerated.
JFrog is probably overkill but what I use. Yes there are lighter weight ways but it's easy.
Use a standard Webserver like nginx and enable access protection with username + password. For that you can use your favorite web hoster.
You can specify the credentials like this in sources.list format: deb https://user:[email protected]
@[email protected] to add on to this, you can also use apt_auth.conf
(man doc) to define the passwords for accessing your stuff. The repo has to be behind HTTP basic auth.
So, the steps are:
- Follow @[email protected]'s post to setup a repo
- Put the repo behind HTTP basic auth (NGINX has a guide on how to set that up)
- Setup HTTPS for the server (https://letsencrypt.org/docs/)
- Create
apt_auth.conf
with the username and password
Thanks. I was looking into self hosting as well. Do I need to also own a domain for this or can I point my system to the IP address only?
As long as it's the only (or primary) site in the IP, IP address will work just fine.
This is something companies do, but I believe acess control is by firewall/VPN not the repo tools. As far as I can tell, if you can access the IP address of the URL assets you can get the assets. So making it private is a matter of setting up access to the server(s) not a configuration of the tools that manage the repository.
I'd ask on a debian focused irc/chat room/ mailing list to find out more.
Hi. You have two main ways to achieve this: use an artifact store such as Pulp and https://github.com/pulp/pulp_deb plugin or basically do it yourself by creating the APT repo manually and delivering it over HTTP similar to https://linuxopsys.com/topics/create-your-own-repository-for-packages-on-debian#Step_4_Create_the_Required_Repository_Package_Meta_for_APT
There is no magic. Creating Yum or APT repos boils down to having packages and their metadata in a structured format and making it consumable over HTTP. To get started, you can also inspect any upstream repo in your browser.
Good luck. Feel free to report back if you have more specific questions.
I don't think this gets at what they are trying to do. I think they want to set up access control to the repo. They want access to the repo to be private but also use it for themselves like any other repo.
apt repositories are just http severs with some metadata generated.
There are some services, like metioned jfrog and maybe nexus that will set it up for you with some additional tooling to aid in package releases.
For a private use, a static file hosting + metadata is all you need.
Here's instructions from Debian docs. It seems fairly straightforward on a cursory look through.
https://wiki.debian.org/DebianRepository/Setup#Debian_Repository_Types
Unsure if this is what you're looking for, but I've seen some FOSS projects use https://www.makedeb.org/ and https://openbuildservice.org/ to create public Debian repos.
@ipacialsection I already have the debs, just looking for a repo for them to store them in a kind of more useful way. I was looking at openbuildservice.org, but I'm unsure about their terms. If I have a few games as debs that I legally got, and add them there, will they risk being taken down because of piracy? Or would I be able to set a private repo as well so only I could access it?
I honestly have only passing knowledge of it, but my understanding is that Open Build Service is more for sharing software whose source code you are allowed to distribute. If you aren't looking to distribute at all, the solutions other users suggested might be better.
There's also a way to create an APT repository entirely on your own system, without a web server, which I haven't tried myself, but a DuckDuckGo search found this: https://help.ubuntu.com/community/Repositories/Personal