-
-
Notifications
You must be signed in to change notification settings - Fork 3.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Termux looks for a hosting service #6846
Comments
VPS or IPFS |
Regarding VPS: I'm aware about existing providers, i.e. Hetzner, Digital Ocean, Vultr and others, so here question is not which provider to choose. However I'm not going to provide a one on my own (otherwise why my mirrors are on IPFS?). About IPFS: it is not mentioned in section "What we are looking for" as potential variant and thus not suitable. Moreover, it is used now to provide mirrors. But it is not a permanent solution. Mirror is not a primary host and provide read-only access to clients. The primary node, host where IPNS (IPFS Name System) keys are stored, is hosted on my PC meaning that repository is up as soon as I still available online. IPNS records expire in 12 hours and should be re-broadcasted at least once within this period. |
Potential sponsorship options:
|
Why do you want to serve everything from one package host, ie all 60 TBs/month from one server? Fredrik can easily rent an adequate VPS for $10-20/month, which let's you run any software and handle 2-4 TBs/month, and various mirrors like FOSShost could serve the remaining 56-58 TBs/month. The only problem with mirrors is keeping them up to date, but we could have a script monitor them and make sure they're getting updated, and derank them in the |
@buttaface I applied for VPS to fosshost and they approved our project. We will get a dedicated vps soon. They are aware of our requirements since I points this issue on fosshost IRC. RAM size is yet to be discussed but we have numbers of choice in terms of software like nexus, pulp3 even aptly etc. By the way. Could you please share your ssh pubkey. |
Here is resource stats on processing packages from main, unstable and science repositories - these 3 have the largest packages. I guess 4 GB RAM will be ok, considering the peak usage was
Only one host can be primary. For the rest, mirrors are already available. |
Hetzner seems like a good partner to me. I can imagine that they might act as a sponsor. But also their commercial offer seems to fit pretty well: An AX41 NVME server costs about 40 euros (about $49) per month and offers 2x 512 GB NVMe SSD, 64 GB RAM, 100 GB backup storage, 1 GBit/s connection and unlimited traffic. This is then a barebone machine, real hardware, no virtualization, etc. Link: https://www.hetzner.com/dedicated-rootserver/ax41-nvme?country=en |
May I suggest OVH as a potential provider? They have many products including VPS, dedicated server etc. The plans of VPS for example don't limit the traffic (even for the cheapest plan, though the speed is throttled). |
Note that on the "unmetered" connections, which I have experience pushing TBs of traffic through for months at a time, you will not see anything like peak capacity. If somebody pushed 1 GBit/s through that Hetzner server, you would theoretically get 1 Gbps * 3600 s/hour * 720 hours/month / 8 bits/byte * 1000 GB /TB = 324 TB/month. But that's not going to be a dedicated network uplink, so your real throughput could be 1-10% of that, or 3 to 30 TBs/month, depending on how many other servers share that 1 Gbps uplink in the data center. |
Im in a Team of 3, we rented a server some time ago. currently we are not using all our resources and it looks like we wont use them all in the future. So ive talked to one member and awaiting currently the response of the other. If all goes well, i would share a lxc container with 4 c , 16G of ram and 100G of nvme storage, nested support is available in case of docker. our traffic is unlimited, guaranteed 1G link and currently only around 3-4% in use. keep in mind that as @buttaface said we dont know the structure of the datacentre maybe we share our traffic via overallocation. ill give an update if everything is planned and ready or canceled. |
Okay, ive got the okay. Next week we are done with our halfe-year-update. After that we could start. |
@Hero9909 That's all nice, however there are questions:
For now a VPS from FossHost looks like optimal solution. |
@kcubeterm Are there any answers from FossHost? |
if you like we could talk via discord or ts3 to get a faster q&a talk |
Build is in queue. It may take upto a month. They are really working hard to clear their backlog. I hope they managed to get as far as possible. |
Thanks, will consider this as potential solution.
Ok, continuing look for other suggestions, in case FossHost will unable to provide VPS for some reason. |
Just saw Oracle Cloud "Always Free" tier, would that be an option: https://www.oracle.com/uk/cloud/free/ |
@librehat https://free-for.dev/ - please don't re-provide solutions shown on this page. Free tier is not same as free service. As stated in #6846 (comment):
Also Oracle Cloud has a quite problematic registration, I never was able to complete it (have tried 20+ times during several months) for various issues (one of: no email sent, inactive buttons when credit card verification passed, sometimes credit card verification fails, etc). |
I am able to register and provision some running VM instances FYI. But you're right, it requires credit card verification so it needs @fornwall |
So what about egress speed? Many Oracle Cloud free tier reviews consider it as "low" and https://free-for.dev/ specifies it as 5mbps. Is that true? |
Not 5Mbps. The AMD instances are limited to 0.48Gbps. The Ampere ARM instances are 1 ~ 4 Gbps depending on the configuration. Ampere instances are new to the Always Free Tier (since one or two days ago only) Edit: the AMD instance has 50Mbps public Internet bandwidth. However, the ARM instance should have > 1 Gbps bandwidth |
I use github release to host packages, and coded a simple repo which redirect deb download to github assets. This will work as long as we dont have any package with size larger than 100M. I think this limit can be bypassed by splitting. |
On #6846 (comment) I have provided acceptable solutions. This even not the third one which is
If you know what is Amazon S3, you will understand what kind of file hosting is expected. But VPS is still preferred. So:
Hosting solution must be viable for setting up of F-Droid repository which would be done later as part of finishing https://github.com/termux/termux-app/tree/android-10. |
@xeffyr @kcubeterm fixed |
@Hero9909 I can confirm that now can access it. Is web server (nginx) is entirely managed by you or you can proxy it inside the container so we will be able to use own config? |
@Hero9909 could you add a user for
as well? Thanks! |
ive already talked to another member about this, we are be abled to setup a seperate server/proxy for the termux.org domain, but well need the certificates, another way is to use the direct mapped ipv6, but this wont work for all users as ipv6 isnt as common as it should be. |
@Grimler91 Done, please contact me after reading the readme file in your home directory. |
We don't have certificates, but can use Let's Encrypt for obtaining them. This will require automated renew since they expire in 90 days. Other variant will be use of CloudFlare which will also act as proxy (and CDN) and let IPv4 users access the server. It is expected that container will run these 2 services which should be accessible outside:
So that's why I'm asking whether we will be able to manage the config on our own. |
im working on a solution, for security reasons i would like to migrate futher detail discussions to a non public place, is telegram okay for you? |
Okay |
@Hero9909 I am getting permission denied, could you check if the pub key was added correctly? (Fingerprint of key I posted here matches the private key, so should be correct) |
try again. |
https://packages.termux.org/ is now set up and works fine, so I'm closing this issue. @kcubeterm, @Grimler91, @a1batross Suggesting to reconfigure your mirrors for cloning https://packages.termux.org/. Main repository:
Games repository:
Root repository:
Science repository:
Unstable repository:
X11 repository:
As you can see, paths there different. Though you can try to map them to
to maintain compatibility. If you decide a fresh configuration with new paths, notify me and I will update |
@xeffyr Thank you! Changed paths and added symlinks to maintain compatibility on my side. |
@xeffyr can you update https://github.com/termux/termux-docker as well? Thanks! |
Do you provide Rsync service for downstream mirror sites? |
No, we don't provide rsync currently. |
How long will the IPFS links stay around? Might need some time before I can update our mirror config. |
Until any single nodes have that content. If all nodes goes down and neither gateway has cached version. Links won't work. Right now only @xeffyr node is serving, I stopped all of my nodes. |
I am very glad that my suggestion of Fosshost worked. Thank you all for your efforts! |
@xeffyr, now that we have a dedicated package server again, can we turn the automated update checker back on on the github CI? I thought that really helped us keep github projects up to date. |
maybe we should make a list of packages that aren't automatically updated too so we have an explicit list of what to check manually |
There is already a list of mostly the inverse, but it's not complete. |
Hi @xeffyr, will you update the repository wiki? I've updated mirrors.ustc.edu.cn to sync from packages.termux.org, with the new directory layout and backwards compatibility with the old ones from Bintray era (just some more symbolic links). Our current URLs are as follows. Use the edit button to retrieve Markdown source from this comment. Mirrors by University of Science and Technology of China, Linux User GroupMirror for Chinese users for better ping and download speed.
|
@iBug Thanks, repository wiki is updated now. |
This comment has been minimized.
This comment has been minimized.
I was rehosting the termux packages on IPFS (ipfs/kubo#4435 (comment)), but it looks like the IPNS stopped resolving. I'm glad that Termux found a suitable hosting service! |
Updates on this issue
Termux is looking for a new package hosting.
Previously we have used Bintray as our primary package hosting, providing support for Debian packages and REST API for repository management as well as donation of 60 TB/month of bandwidth for our project (thanks to JFrog). Though service is now finished and we have to find another one.
Write here if you wish to help us with hosting Termux repositories or have good suggestion of service which could fit our needs. See below on acceptable suggestions.
What we are looking for
Termux needs a primary/seed package host. It is importantly to note that this is not a mirror. Maintainers expected to be granted full access for uploading packages on individual basis as well as possibility of configuring automatic package upload from CI. Depending on the host type, e.g. if VPS, we may need to install a custom software for building & signing the repository. Package repository will be exposed through https://termux.org/ and serve large amounts of data.
Here are suitable variants:
Best solution since such server expected to be administrated by @termux team, without any third-party sudoers.
Do not suggest https://cloudsmith.com/ or https://packagecloud.io/ - they were tried and considered as unsuitable: significant issue is support only of predefined Debian/Ubuntu distributions and thus impossibility of defining a custom
apt
distribution/component and another issue is inflexibility of Deb package processing (will rejectx86_64
packages as it "expects" them to beamd64
instead). Bintray didn't have these problems.Worst, but acceptable solution as in such case we will have to build repo on CI side which will imply some potential issues.
Regardless of host type, it should have these properties:
It also would be perfectly if service is free, but of course we know that suitable free services are rare thing ;) Services which are paid or require identity verification should be discussed with @fornwall. I'm not going to manage billing nor provide documents on my own.
(!!!) Please do not suggest public shell servers and other shady services which have problems with sharing their (very limited) hardware resources and troublesome to trust. We need to be sure that service will be stable in long term and secure enough to give it our GPG key for signing repository.
What is being used currently
We have set of mirrors currently used to deliver packages. The primary ones are https://grimler.se and IPFS network nodes.
Note that there is already a pending candidate for Termux primary hosting - https://dl.kcubeterm.me. It is managed by @kcubeterm, yet works currently only as mirror.The text was updated successfully, but these errors were encountered: