I betcha a lotta people have been wanting to setup a simplestreams server. So what’s the big deal? Well, it ain’t so simple.
Me and my team have been looking for a simplestreams server that is easy to setup and works well. We have been unable to find one that does either.
The recommended setup of creating an apache server with stream JSONs is not simple, so that wasn’t going to work for us. And other solutions (such as https://github.com/Avature/lxd-image-server) just don’t work as expected. After trying various other solutions, we decided to just make our own image server.
Me and @Wolfo-Gaming have created a simplestreams server thats easy to setup so you can scale your images, powered by Prisma & Express.
Simply add rows to your database of choice using Prisma studio (or the image uploader we are working on) to add images, and put the image files in the corresponding storage folder and boom. Simplestreams server.
You’re right, my tool only generates the simplestream files. Its only dependency is plain python and a http server. Files can be moved from a build service to the server using sftp, rsync or whatever.
Yours has plenty of language dependencies plus an SQL server. Uploads are done through the POST /images endpoint. I couldn’t help, but notice that it has no authentication and that it’s vulnerable to path traversals… lowered risk depending on the network configuration, but still. You might want to fix that to prevent anyone uploading arbitrary data at will to your servers.