Skip to content
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

Official Docker Images? #133

Open
william00179 opened this issue Jan 4, 2021 · 7 comments
Open

Official Docker Images? #133

william00179 opened this issue Jan 4, 2021 · 7 comments

Comments

@william00179
Copy link
Contributor

Hi @chrisn,

Is there any appetite for setting up some automated and "official" docker builds?

I can see there are a few open issues regarding Dockerfiles (#109) and looking on Dockerhub for "audiowaveform" returns 13+ images that have a decent number of pulls ~3k.

There are also a number of issues open and closed relating to users trying to write their own Dockerfiles and having issues. I think it would be useful to have a set of Dockerfiles for the same build OS's specified n the readme that will automatically build and push to Dockerhub when there is configured activity in the repo.

Compiling these as static builds would be very useful as users can then use the Docker images as part of a multi-stage build and just extract the built binary if they wish (such as what my org currently does with https://hub.docker.com/r/healthsoft/audiowaveform-alpine)

I would be happy to put together some Dockerfiles for the application to build on the OS's from the Readme if there was interest in auto building those into a BBC organisation on Dockerhub so that users have reliable and up to date Dockerfiles to use.

@chrisn
Copy link
Member

chrisn commented Jan 4, 2021

Hmm, possibly. The two most common requests we seem to get are: How do I build on Alpine? and How do I run this on AWS Lambda? (Perhaps the Alpine build is simply a means to and end for running on Lambda?) Providing officially supported way to do that would be useful.

Rather than Docker images, I'd prefer to create an official Alpine apk package, similar the Ubuntu binaries I currently provide.

My time to work on this is limited, and in general I prefer to focus the time I do have on development and maintenance of the application (and our other related OSS projects like Peaks.js).

As an alternative, if you're maintaining Docker images already, I'd be happy to link to them from the README.

@realies
Copy link

realies commented Jan 6, 2021

I'm maintaining an automated minimal Docker build based on latest Alpine over at https://hub.docker.com/r/realies/audiowaveform for about a year now.

Suggested adding this to the repository readme at #124, although it seems to have not been noticed by the maintainers so far.

chrisn added a commit that referenced this issue Feb 4, 2021
chrisn added a commit that referenced this issue Feb 4, 2021
@joshrouwhorst
Copy link

@realies I'm retrofitting a dotnet API project for a client that was using an audiowaveform.exe to generate waveform files. We're trying to get the project containerized now and the .exe doesn't work in the aspnet:6.0 build. I'm not a Docker expert, but I'm wondering if you might know how I could get my API container to use your audiowaveform container? I tried setting them up with docker-compose but your container doesn't run like a service, it just starts up and shuts down.

I'd appreciate any direction you can provide. Thanks!

@bbc bbc deleted a comment from sockite Apr 7, 2023
@realies
Copy link

realies commented Apr 8, 2023

@joshrouwhorst, the docker image I'm maintaining is not built for windows and I've never tried audiowaveform on windows. It might be possible to add support, however using a docker container within a docker container is not a good pattern. You might have to build audiowaverform within your environment. Do you see any specific errors when running audiowaveform.exe in your container?

@chrisn
Copy link
Member

chrisn commented Apr 8, 2023

@joshrouwhorst If you need it to run as a service, you would have to create (for example) an HTTP server that runs in its own container, together with audiowaveform. You could then post audio to it and get back waveform files. The HTTP server would invoke audiowaveform. Something like this could be a starting point?

@joshrouwhorst
Copy link

joshrouwhorst commented Apr 10, 2023

@realies

Do you see any specific errors when running audiowaveform.exe in your container?

I don't see any errors, but I've noticed that it seems to fail silently. If there's an error it simply doesn't output the waveform file. I did try building the audiowaveform app following the Ubuntu instructions but the aspnet:6.0 image wouldn't run it. I'll probably need to end up running it on an Ubuntu container.

@chrisn That's kind of what I was thinking I'd have to do. I'll have to see if the client wants to put the time into it.

I really appreciate the input from both of you! Just wanted to make sure I'm not missing some obvious solution to it.

@chrisn
Copy link
Member

chrisn commented Apr 10, 2023

I did try building the audiowaveform app following the Ubuntu instructions but the aspnet:6.0 image wouldn't run it.

What OS does the asp.net Docker image use? What happened when you tried to run it? (That there are pre-built binaries for Ubuntu available, so you may not need to build it yourself.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants