 Aha! Thank you, like, thank you very much. Works. You can say you're kidding. That's all. And I will introduce myself. Hello. I think we can start, so let me welcome to Yevgeny, he will tell us something about the portrait. Yeah. Hi guys, and welcome to my presentation. We'll be about portraits. I have only 30 minutes, so I will try to be fast, because I have a short demo to learn. So, about myself, my name is Yevgeny, I was born in Russia. I work here in Czech Republic in Prague for a great company named Susan. That's not funny. I'm a senior open-stake automation engineer. I specialize in Linux open-stake containers. Also, I'm an active open-source contributor. And from the beginning of this year, I'm a docker-private metapcore organizer. So if you have some ideas for docker talks, just drop me a mail. I will have slides with my contacts in the end of this presentation. So, who knows something about portraits? Yes, thank you. So, this talk is not for you guys, so believe me. So, what do we have now? We have docker hub. So, by default, every user who uses docker, when you're around docker pool, you're downloading your images from docker hub. If you're registered, you can also push your images into docker hub. They have a digital-like interface. And for most of the users and even companies, that is really awesome, this is really okay. For other companies, it's not okay because they don't want to share their images, their secrets, and etc. So, they have docker registry. And docker registry, just the software, which is like docker hub without web interface, and you can have it somewhere in the local area. So, it gives us docker registry, plus API to our external authorization process. And here comes Portus. Portus is an open-source authorization service, as well as web interface over docker registry. It's 100% open-source, so you can play with it. Portus implements the login procedure from the docker registry. Some highlights. First of all, LDAP integration. So, right now, if your company has LDAP, you can use Portus. Portals will be actually like a proxy server between LDAP and docker registry. In the beginning, it should copy some information from LDAP to perform all the instructions on the registry. Another highlight is security. So, with the new version of docker registry, we have permission that we can create, for example, teams, users. And you can say that, for example, this thing can only pull these images, and another thing can see that. So, we have viewers, contributors, and owners in Portus. So, viewers can only pull images, contributors can pull and push images, and owners with the same contributors, but they can also create teams and namespaces for images. Another tool feature is search. So, you can just open the Portus in your web browser and search for your favorite images. Another cool feature is out. So, by default, if you are a administrator in Portus, you can see every actions that you will be. If you are just an ordinary user, you can see that your teammates did, and what was your actions. And there's a lot of other features. You can see them on the Portus website as well. How it works. So, now, if you have Portus and you have registry, you are asking that you want to do some operation on the Docker registry. The Docker registry should say that you need to provide a proof. You are going to Portus and say that I want to... I request permission to do some operation on the Docker registry. Portus said, yes, you can do that. And you show this certificate to the Docker registry, and the Docker registry allows you to do some operation. So, yeah, how can you deploy Portus? There is the packages on our website, and then Dockerpack has a Portus image. On other setup, you can go to this link, and there will be some guides to how to use Portus Invigorant on the Docker campus or bare metal environment. Yeah, it was fast. So, I will show you Portus in action. Is it visible? Okay. So, Portus webpage. First of all, we need to create an administrator account. So, let's say that the name will be Evgeny. Have this great email, and I need to create a password. Please. So, the name of the registry, the hostname, in my case, it will be... I will not use SSL because I'm using just Dima, and I don't want to deal with SSL for this Dima. By the way, it runs in my container in the Docker campus environment. So, we have dashboards here, and there is no activities. Let's push some images. Yeah, I have busybox and Alpine. They are really small, so it will be fast. So, let's tag our time, for example. Then we need to put the name of the user and the name of the package. Then we can push this image to our registry. I need to login first. Credentials are the same as when you create this admin user on Porto's web interface. So, now I can push my image. Yeah. Now let's see how fast it will be. We should see this image in Porto's web interface. Maybe. Maybe someone has some questions. Me? Why it doesn't work, right? It is fast. No. Thank you, sir. Now. It should be fast, but I don't know why it's acting like this. Maybe because it's deny. As always. Yes. Why is your bar on the wall? I like it. I like it. I like it this way. No. Doesn't answer your question. Yeah, the question was why are you using I3 bar. What? I3 what? Bar. Bar. Yeah. Because I like it this way. And it should be in the app. Aha. You see? I have it. So, we can see that I have this image in Porto's. I can start it. For example, I can write some comments. Bar in the bar. Yeah. So, I'm an administrator. I can see your recent activities. Well, I think it will refresh in some time and I will see some activities here. But if you have some more users, I think it will be faster. Okay. So, let's create another user. Just a user. What's your name, by the way? Smash. I'm sorry, I don't get it. It will be Roman. Okay. Ottoman. So, Roman is... Yes? Is it a basketball? Sorry? Yeah, the second basketball was one character longer than the first one. Sharp eyes. That's a test. Yeah. So, user Roman is just a user, not administrator. So, he can't see my image because I push it to my personal name space. So, let's push some image for user Roman. Let's first log in as a Roman to our registry. And let's push... Let's tag... I have busybox, I think, this image. And do we have time for another question, I think? Yes, we have time for another question. Yes. You can tag me later. Yes. So, which files do you have with information regarding the logins and the credentials you have connected to the portal? It's in database. Portals use MySQL database? Yeah, yeah. And I think something wrong with it. Oh, I think because of Dima. Other questions? Why it's so slow, it's not a question. Yes. Can we set up the mirror of the different registers that you use for this? Can we... Set up the mirror of the different registers that you use for this? Yes. No. For what kind of... No. No, okay. Okay. Yeah. Roman can see only his busybox image and not my alpine that I pushed. So, yeah. And if I will login with administrator, I will see both of images, I think. As an administrator, we can create another groups, another teams, every team will have... will have namespace. Namespace is basically... What the hell? Thank you. Thank you, sir. I can see your Roman, busybox and my alpine as administrator. Yeah. So, every user, when you create a new user, every user has access to basic namespace, which you can see here. It's 172 and blah, blah. And the name of the user. If it will be from old app, it will be the same. So, it will be like a name of the user from the LDAP. Teams... By default, there is no team, but you can create any team. And for any team, you can create as well namespace. From admin, you can see that you have one registry, you can have more of them, but not Docker Hub. Not Docker Hub. Yeah, thanks. How many users do you have? How many teams do you have? And how many namespaces? Well, an activity. That's it, I think. Questions? Please. Yes. How works the old position against LDAP? Yes. Can you fetch, for example, a group from university like a team? From LDAP? No. Questions? Can we fetch groups from LDAP? No, we can't. Yes. Can you have more than one admin? Yes, you can. Questions? Can you have more than one administrator? Yes, you can. Yes. Access to everything, yes. Yes. Does support, support, and I'll take an out-enticated program? Do I have to win an exam? Does support just support out-enticated? I'll take an out-enticated program. So, I just have to log in for the whole program? No. If you... The question was, do we always need to log in to... No. Log in to docker... to register, right? No. Because by default, with docker refuse, push just docker log in, I think you will log in to docker hub by default. If you... But I need to... I need to paste, like, the name of the register, right? So, anybody who... The question was, does it show an image was signed or...? Or something like that. But it will work in the future, like, signed images. I'm not sure about that. It showed... I can see that it showed only the tag of the image, name of the image and tag at this moment, from the web interface. Yes? Can you use keys instead of passwords? The question was, can we use keys instead of passwords? What kind of keys? SSH key? No, we can't. The question was, are we supporting any other kinds of authentication? No. Can we log in with LDP and just log in faster? Can the LDP be combined? I mean, if we have... But can we log in with LDP? So, question was, can we combine log in account with LDP? Correct? Yes, we can. Yes? Okay. It consists... Let's see. Somebody has a registry for this web, which is corona, which is for synchronization. It has web interface, it has many... Yes? What are the future plans for the next future? The question was, what kind of plans do we have for future, right? So, you can go to the website and... Thank you. You can go to the website and the page of the future plans for the future. You don't like it, right? No. Okay. I don't care. No? So, I think that's it. Thank you for your attention. Sorry for... something. I had the same talk like today's ago. Dimo was okay. I don't know. We have a page. I'll be right back. Write it down. I'll write it down later. We have a live demo. What? Live demo. Yeah. I have... I recorded it. Thank you. Okay. It's a lot of... I wouldn't trust my wife. Or the network. Yeah. Because I don't trust my wife. I wouldn't trust my wife. I wouldn't trust my wife. Why don't you ask? How do we farce? The live demo should take just one minute. It's not that long. Right. It was just for you because the live demo... Yeah. Yeah, it's not the live demo, so it's recorded, there shouldn't be any issue. And minimally you can copy... How do you confine love? I think the minimally you can copy... The presentation to USB so they can be published on the... Alright, do you need this right now or can you really talk the words? Do it already now, we have the time. Because I have to go to the restroom. Alright, I'll be back in a minute. I'll be back in a minute. I don't know if you can hear me. I'll be back in a minute. It's almost like... But the radio is just one and a half meters away. Alright. So then don't forget to repeat the question. Right, right. I'll do that.