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

Provide official Docker image #1167

Closed
angelo-v opened this issue Apr 6, 2019 · 40 comments
Closed

Provide official Docker image #1167

angelo-v opened this issue Apr 6, 2019 · 40 comments
Assignees

Comments

@angelo-v
Copy link
Contributor

angelo-v commented Apr 6, 2019

To ease the deployment of NSS on an own server, there should be an official Docker image of NSS on the Docker Hub or any other public registry.

Requirements:

  • Provide a production ready Dockerfile
  • Automatic build process and publication in a docker registry (e.g. Docker Hub)
  • Tagged by version to have full control about the version to run
  • Automated tests

As luck would have it, I already prepared a functional, tested Dockerfile of NSS at aveltens/docker-solid-server and run it successfully in production for some months now.

We could move / fork this repository to the Solid organization if you like. Further we need to set up a solid account on Docker Hub and configure the automatic build there.

@kjetilk kjetilk added the triage Issues that need team review label Apr 8, 2019
@michielbdejong michielbdejong removed the triage Issues that need team review label Apr 8, 2019
@michielbdejong
Copy link
Member

@Mitzi-Laszlo apparently https://hub.docker.com/u/solid already exists as an org, can you investigate the status of that?

@kjetilk
Copy link
Member

kjetilk commented Apr 8, 2019

@Mitzi-Laszlo, @michielbdejong, @jaxoncreed and I discussed this, and we figured that the best way to do it is probably to have a "Docker Maintainer" role within the Solid project, and since @angelo-v has already done the work, it makes sense if he occupies that role, though I may be pushing the process here. Great if you look into having such a role, and if we could have a suitable home at DockerHub for it.

@angelo-v
Copy link
Contributor Author

angelo-v commented Apr 9, 2019

I am willing to maintain an official docker image. But therefore I need access to repository within the solid org as well as solid docker hub account.

@michielbdejong
Copy link
Member

I think https://hub.docker.com/u/solid is unrelated to Solid. Maybe we can just pick another name, that's probably easiest and fastest. If we want to try to ask that user to delete their account, then we can also still do that later, and have an alternative Docker hub username in the meantime.

@angelo-v
Copy link
Contributor Author

angelo-v commented Apr 9, 2019

Since solidproject is also taken, I just registered solidweb. If someone has a better proposal we could still change, I just wanted to secure one.

@michielbdejong
Copy link
Member

michielbdejong commented Apr 10, 2019

@angelo-v so then I think all that's needed to allow you to complete this, is to add you as committer on this github repo, right?

@angelo-v
Copy link
Contributor Author

We could have a seperate user for the docker image (e.g. a fork of https://github.com/angelo-v/docker-solid-server) or add the docker stuff to a subdirectory within this repo here.
To trigger an automated built add docker hub I need to create and connect a "service user", but I still have to figure out if this is just a regular account or something special.

@Mitzi-Laszlo
Copy link

@angelo-v thank you for the contribution!

This conversation is about the project ASAP on Server with Project Manager Jackson Morgan. You can read about all the projects on https://github.com/orgs/solid/projects.

@angelo-v you could either submit a pull request or issue for @jaxoncreed to review as Project Manager. Alternatively you could become a formal Project Contributor and work closely with the Project Manager on the whole project. The admin privileges are a reflection of the role and responsibility. What would you prefer?

@michielbdejong I'll ask around to see who is responsible for https://hub.docker.com/u/solid as well as https://hub.docker.com/u/solidproject and get back to you if I find anything. Meanwhile I'll leave @jaxoncreed as Project Manager to decide if https://hub.docker.com/u/solidweb is the best account to use.

@Mitzi-Laszlo Mitzi-Laszlo added this to To do in Node Solid Server via automation Apr 10, 2019
@Mitzi-Laszlo Mitzi-Laszlo removed their assignment Apr 10, 2019
@kjetilk
Copy link
Member

kjetilk commented Apr 10, 2019

Actually, @Mitzi-Laszlo , I think this is broader than the project, we'd want to have Docker images of more than NSS5 at some point. I think this a role closer to the Release Manager than a specific project, though certainly, working with @jaxoncreed is how we'd do it now.

@angelo-v
Copy link
Contributor Author

I am preferring a dedicated repository within the solid organization, e.g. solid/docker-nss. It would be enough for me to have the permissions for this repository. Just placing a PR here would not be enough, because this does not allow me to setup the docker build. I could do it anyway, but then someone else has to take the "Docker maintainer" role.

@kjetilk
Copy link
Member

kjetilk commented Apr 10, 2019

Right! It could be a part of the release manager's responsibilities, but I think it makes sense to have it as a separate role in the interest of making it easier for more people to contribute.

@angelo-v
Copy link
Contributor Author

So, how are we proceeding here?

@Mitzi-Laszlo
Copy link

@jaxoncreed as Project Manager of the ASAP on Server project would be the one to decide a route forward as well as if he would be open to @angelo-v being a formal Project Contributor for this route forward

@Mitzi-Laszlo
Copy link

@kjetilk @angelo-v What would be the project scope of the broader idea and who would be responsible for leading it?

@Mitzi-Laszlo
Copy link

If it's helpful to talk perhaps we should raise this point at the next W3C Solid Community Group call

@jaxoncreed
Copy link
Contributor

@angelo-v Is it possible for you to make a pull request to Node Solid Server and we'll approve it.

@jaxoncreed
Copy link
Contributor

Like I think it makes sense to have https://github.com/angelo-v/docker-solid-server integrated directly into the NSS source

@angelo-v
Copy link
Contributor Author

angelo-v commented May 2, 2019

Ok, who will ensure the integration with docker hub, proper tagging and regular updating?

@angelo-v
Copy link
Contributor Author

angelo-v commented May 2, 2019

Ideally this will be done in the same breath as a new version is released to npm

@jaxoncreed
Copy link
Contributor

@kjetilk are you okay with taking this on when you push?

@gobengo
Copy link
Contributor

gobengo commented May 3, 2019 via email

@kjetilk
Copy link
Member

kjetilk commented May 9, 2019

Yeah, having Travis doing this is attractive! Anyone want to look into that?

@angelo-v
Copy link
Contributor Author

angelo-v commented May 9, 2019

You could just setup docker hub to automatically build git tags. You are tagging with version numbers anyway to release something, do you?

@jaxoncreed
Copy link
Contributor

Docker image created here https://github.com/solid/node-solid-server/blob/065ad183224cef744cc8a7d9fa421c49ce7e7eb1/Dockerfile

Node Solid Server automation moved this from To do to Done Jun 19, 2019
@angelo-v
Copy link
Contributor Author

Docker image created here https://github.com/solid/node-solid-server/blob/065ad183224cef744cc8a7d9fa421c49ce7e7eb1/Dockerfile

This is not a docker image, just a Dockerfile. It does not address the issue, that there is no official docker image in any repository and no automated deployment process to publish such.

@TallTed
Copy link
Member

TallTed commented Jun 25, 2019

@jaxoncreed @kjetilk - This should clearly be reopened. I suggest that closing should not generally be done until the issue opener (or a reasonable number of suitably knowledgeable others) concurs that a proposed solution (PR or otherwise) does in fact solve their reported issue.

@peter279k
Copy link

peter279k commented Jun 26, 2019

I think it should let this repository be a Docker image and publish on Dockerhub.

I think it's for @angelo-v requirement :).

@kjetilk
Copy link
Member

kjetilk commented Jul 1, 2019

Right, I agree, we should let this go all the way to have a published image.

@kjetilk kjetilk reopened this Jul 1, 2019
Node Solid Server automation moved this from Done to In progress Jul 1, 2019
@jaxoncreed jaxoncreed moved this from In progress to To do in Node Solid Server Oct 17, 2019
@gobengo
Copy link
Contributor

gobengo commented Nov 14, 2019

No updates in awhile on this other than moving it back to 'To do'.

It seems like the ideal next step is for someone on the solid team to use Docker Hub to set up automated builds of docker images ('autobuilds') from the Dockerfile in this repo.

I would do this, but I believe only someone in the 'solid' GitHub Organization can set up docker hub autobuilds for this repo.

Lastly, a detail to be worked out would be what docker hub user/organization should publish the image. Can anyone on the solid team say whether this 'solidproject' docker hub user is controlled by a member of the solid team? https://hub.docker.com/u/solidproject

Update: I merged solid/node-solid-server:master into my fork, set up autobuilds on https://hub.docker.com/r/gobengo/node-solid-server to build all git tags, and then copied all the tags from solid/node-solid-server to gobengo/node-solid-server, and it succeeded in building e.g. v5.2.2. Just sharing to say that the Dockerfile seems to be working in Docker hubs autobuild stuff, so if a member of the Solid team does the same, it shouldn't take much more than 15m.

@angelo-v
Copy link
Contributor Author

Since solidproject is also taken, I just registered solidweb. If someone has a better proposal we could still change, I just wanted to secure one.

We still do not seem to know who controlls solidproject :( If you want to use solidweb let me know

@jaxoncreed
Copy link
Contributor

I would welcome a pull request to implement an official docker image. I apologize as maintaining NSS is not my full time job and I've been relatively busy over the past few weeks.

@gobengo
Copy link
Contributor

gobengo commented Nov 19, 2019

@jaxoncreed I don't think any PR here can be done to host a docker image on docker hub. Someone at inrupt and/or other trusted organizations needs to click through the GUI in Docker Hub to set up autobuilds so that every git tag pushed here results in a built image tagged and hosted on docker hub.

@dmitrizagidulin and I set it up for life-server at https://hub.docker.com/r/interopalliance/life-server in just a couple of minutes.

What's really missing is the blessing of some docker hub account that can be considered 'official', e.g. it's governed like other parts of the solid project are, with some amount of transparency and review to any major decisions. It might make sense for the Self Hosting panel to shepherd that? https://github.com/solid/self-hosting-panel

@angelo-v solidweb seems fine to me as a name. https://hub.docker.com/u/node-solid-server is also not taken.

It also seems that https://hub.docker.com/u/inrupt was created a few days ago, soon after my last comment. Someone who works there may also be interested in people using an 'inrupt/node-solid-server' image.

@michielbdejong
Copy link
Member

I requested docker as a github app for the solid org and asked @Mitzi-Laszlo to approve it.

@kjetilk
Copy link
Member

kjetilk commented Nov 19, 2019

Ah, cool! I saw the request, and given the thread that has been here, I approved it. :-)

@michielbdejong
Copy link
Member

@michielbdejong
Copy link
Member

@jaxoncreed @angelo-v @dmitrizagidulin @kjetilk @gobengo let me know your Docker Hub username if you have one, so I can add you to the https://hub.docker.com/r/nodesolidserver org. Automatic builds have been set up now so it will probably not require us to log in often, but currently it has me as the only org member.

Node Solid Server automation moved this from To do to Done Nov 21, 2019
@michielbdejong
Copy link
Member

Readme updated: 200e0a9

@angelo-v
Copy link
Contributor Author

@michielbdejong my docker hub username is aveltens.

Thanks for moving on with this, yet I do not consider this ticket solved. The provided docker file does not appear to be production ready to me. I put some efforts into this at https://github.com/angelo-v/docker-solid-server - regarding code as well as documentation.

If you like I prepare a PR moving stuff from there into a subfolder in this repo, but than you need to adjust the automated build again since the Dockerfile will move to a subfolder.

Regarding inrupt: Would love to see a inrupt/pod-server image :)

@michielbdejong
Copy link
Member

@aveltens ah yes please do, sorry. This just uses https://github.com/solid/node-solid-server/blob/master/Dockerfile.

Subfolder sounds like a good solution!

Added you as an owner on the Docker org, once your PR is merged, you can edit the build context from / to whatever you call the folder, using:
https://hub.docker.com/repository/docker/nodesolidserver/node-solid-server/builds/edit

@angelo-v
Copy link
Contributor Author

angelo-v commented Jan 5, 2020

I provided the PR #1385

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

8 participants