I just made my Homelab Open Source!

Sdílet
Vložit
  • čas přidán 2. 06. 2024
  • In this video, I'll be sharing some exciting news about my Homelab. I recently uploaded all my configs and code to GitHub, making it accessible for everyone to use as templates or inspiration for their own set-ups. I'll also be showcasing some interesting automation pipelines for testing and deploying projects. So let's get started and see what's new in my Homelab!
    Related Videos/Links
    GitHub Repo: github.com/christianlempa/homelab
    • Let’s learn Git! Your ...
    ________________
    💜 Support me and become a Fan!
    → christianlempa.de/patreon
    💬 Join our Community!
    → christianlempa.de/discord
    👉 Follow me everywhere
    → christianlempa.de
    ________________
    Read my Tech Documentation
    christianlempa.de/docs
    My Gear and Equipment-*
    christianlempa.de/kit
    ________________
    Timestamps:
    00:00 Introduction
    01:08 Where to find my Repo?
    02:38 Why do I use Git?
    03:52 My Config Files and Manifests
    09:20 Automation Pipelines
    16:35 Future thoughts and projects
    ________________
    All links with “`*`” are and/or include affiliate links.
  • Věda a technologie

Komentáře • 107

  • @0r_1x
    @0r_1x Před 5 měsíci +8

    This is so helpful and really highlights the spirit of FOSS. Kudos to you Christian!
    Your videos have been a constant staple in my viewing, whether troubleshooting, researching, or just background viewing on something I'm curious about.
    My largest issue with homelabbing is not having enough time to cover ALL the things I want in place. At work, I have a whole team that contributes and really helps distribute the burden allowing each of us to really dive into things we each like. This sense of collaboration is the largest thing I'm missing at home.
    I never make resolutions for new years and think it's cliche and allows people to feel good about SAYING theyre going to do "X thing". However, I've made one, after all the viewing and use of FOSS, this year I'm going to find a project I love and try to contribute in any way I can, though I lack coding skills I'm sure there must be some way I can help!

    • @christianlempa
      @christianlempa  Před 5 měsíci +3

      Thank you for all the kind words! If you’re looking for projects to contribute, take a look at my „boilerplates“ and „cheat-sheets“ repo. I’d love to get some help working on this, and it doesn’t require coding skills 😊👏

    • @0r_1x
      @0r_1x Před 3 měsíci

      @@christianlempa I just noticed this reply, as I've apparently been signed out of CZcams for some time!
      I'll certainly have a look soon. Cheatsheets have been someting I've been working on at work a lot for my fellow engineers who are less Linux or Ansible savvy.

  • @juanrebella2589
    @juanrebella2589 Před 5 měsíci

    happy new year man! Thanks for all the content!

  • @w0ode198
    @w0ode198 Před 5 měsíci

    Happy New Year Christian. Thanks for all the videos you put up on CZcams 🙂

  • @uniXlyTV
    @uniXlyTV Před 5 měsíci

    Happy new year! Thanks for all the awesome homelab vids. Recently got Traefik running watching your videos. Can’t wait to see what you release in 2024

  • @johnpetro6661
    @johnpetro6661 Před 5 měsíci +14

    This is very cool. One of the things I am playing around with on the ansible side, is with passwords or encryption keys. You can use vault to encrypt the "string" and pass it in as a variable, or just put it in your playbook. I am playing with passing it in for more flexibility.

    • @christianlempa
      @christianlempa  Před 5 měsíci +3

      Thanks! Yep absolutely an important topic to look at

  • @testingstuff6111
    @testingstuff6111 Před 5 měsíci

    Happy New Year, great way to start a new one, thanks for all your hard work in educating us.

  • @dus10dnd
    @dus10dnd Před 5 měsíci +13

    Some README files in the repo's subdirectories would be very useful to understand what each set of code is for. Thanks for sharing!

  • @cbaservs
    @cbaservs Před 5 měsíci

    Happy New Year Christian!

  • @PeterBatah
    @PeterBatah Před 5 měsíci

    All the best to you as well Christian. Health and Happiness always.

  • @SebastienClodi
    @SebastienClodi Před 5 měsíci

    awesome ! very good job and cool idea of sharing it ^^thanx Christian

  • @cdromuser1
    @cdromuser1 Před 5 měsíci

    Thank you for sharing, mate. You are helping to learn many new things. Really appreciated

  • @kennethlau8108
    @kennethlau8108 Před 4 měsíci

    Very cool . Thanks for the sharing !! Really appreciate it !!

  • @jrrtolkin
    @jrrtolkin Před 5 měsíci

    You are amazing. Love this idea and thank you so much for sharing your knowledge with us.

  • @SMAW04
    @SMAW04 Před 5 měsíci +1

    Nice video Christian! realy like your videos! Its great to see what you've did this time. One question though, why use Terraform for creating VM's on your proxmox and not Ansible?

    • @christianlempa
      @christianlempa  Před 4 měsíci

      For me, Ansible is more for configuring and provisioning, terraform for IaC management and deployment

  • @DanzilF
    @DanzilF Před 4 měsíci +1

    I guess this might become handy. I'm in the process of building a homelab, but the problem is that I have no idea where to start from with automation :D This means, appreciate you putting this public and keep up with your high quality content :)

  • @EarthPlusPlastic
    @EarthPlusPlastic Před 5 měsíci

    Awesome! Loved this video.

  • @eleuteriogarcia1225
    @eleuteriogarcia1225 Před 5 měsíci

    frohes neues Jahr!

  • @TheRowie75
    @TheRowie75 Před 5 měsíci

    Nice work Man!!!! THX 🙏🙏

  • @mattiavadala7870
    @mattiavadala7870 Před 5 měsíci +1

    Yeah Christian, sure, it will be your ultimate plan...GOT IT! ( joke xD) Nice video btw. In these holidays I worked a lot on my homelab, even if I know is just a provisional one. It would be interesting a video on the best practies for build an entire homelab from scratch, starting from a list of pieces of hardware and continuing then with the rest. I often find myself with the frustrating feeling that I'm doing something really cool, but terrified of doing it in the wrong order and risk missing steps or wasting a lot of time!

  • @bryanteger
    @bryanteger Před 5 měsíci

    This is fucking amazing. Ive just started my ansible journey! Thank you Christian!

  • @reneb5222
    @reneb5222 Před 5 měsíci

    Happy New Year!

  • @DzintarsDev
    @DzintarsDev Před 5 měsíci +1

    Would be interesting to hear about your personal reasoning of putting all this into a single repository. Because... there are many considerations ... like... independent units, independent CI, versioning, shared variables, ease of codebase navigation, cost of dependency upgrade and so on, so on...

    • @christianlempa
      @christianlempa  Před 5 měsíci +2

      I thought for a long time about this. If I'd be creating separate projects, I would use a different structure and put everything project-wise in a separate Repo, such as I do with my Cloud/Software Projects. However, if you consider my Homelab "one" project, I think it's okay to have it one, it also makes it easier to share, and collaborate.

  • @Zvijerko1987
    @Zvijerko1987 Před 5 měsíci +1

    Very well done

  • @blakehamm9014
    @blakehamm9014 Před 5 měsíci

    Thanks for making public!
    A few suggestions. Please take as a grain of salt..
    - generalize gh actions to apply to all docker compose or terraform projects (think: code generator)
    - better yet: lean on Ansible for your deployment pipeline (even for running terraform) and use gh actions to trigger ansible, then u are ci-tooling agnostic
    Mainly, you may want to think about orthogonality so that u don't have to maintain detailed gh action pipelines in addition to Ansible and terraform scripts. Ideally, pick one for your source of truth: Ansible, terraform or gh actions and the rest template out the former.

    • @christianlempa
      @christianlempa  Před 5 měsíci

      Thank you! Good suggestions, I'll think about it :)

  • @JudgeFredd
    @JudgeFredd Před 4 měsíci

    Great video

  • @ronm6585
    @ronm6585 Před 5 měsíci

    Thanks Christian.

  • @jtmusson
    @jtmusson Před 3 měsíci

    What local editor are you using?
    I love the automation with scp and GitHub Actions!

  • @zwstyles621
    @zwstyles621 Před 4 měsíci

    Hey Christian -
    Have been asking about code quality for sometime. Any chance you can show us how something like Codacy which is apparently plug and play…could help us find issues in our code.

    • @christianlempa
      @christianlempa  Před 4 měsíci +1

      Hey, no I'm not experienced with that tbh, my code looks like **** :D

  • @Shadoweee
    @Shadoweee Před 5 měsíci +2

    Could You make a video about making one of those projects? A full start to end walk trough on how to let's say manage traefik this way.

    • @christianlempa
      @christianlempa  Před 5 měsíci

      For most of them, I've already made videos, so check out my channel. If I haven't done it already, be sure there's something in the pipeline :D

  • @MrNolimitech
    @MrNolimitech Před 5 měsíci +1

    Great video.
    I wonder if you separated your tasks, with docker since you have multiple server (prod-1, prod-2, ...). I would love to see, how to use multiple machines (computer) with docker. Since we can use raspberry pi (or orange pi). Separate things would be nice, because* of cpu/ram limitations.
    - One machine for securities/proxies/databases/message brokers. (Ex: traefik, portainer, socket-proxy, postgresql, redis, ...etc)
    - One machine for media servers (Ex: plex, jellyfin, Arrs, ...etc)
    - One for something else (Ex: pihole, passbolt, vaultwarden)
    - Etc...
    Do we need swarm? Or kubernetes? If we already have compose files, for everything. What's the best way?

    • @christianlempa
      @christianlempa  Před 4 měsíci +1

      Good point! I think at some point in March/April it's time for a new Homelab Tour

  • @bakerlanglnonglait4502
    @bakerlanglnonglait4502 Před 5 měsíci

    Yesss

  • @CristianConti
    @CristianConti Před 4 měsíci

    i got a qnap nas where i installded some docker containers: how could i manage a dns for my static addresses?

  • @hugodsa89
    @hugodsa89 Před 5 měsíci

    Are you specifying the projects which are WIP?

    • @christianlempa
      @christianlempa  Před 5 měsíci

      No, ideally I’d put the WIP stuff on a separate branch and merge it into the main when it’s complete. I think once I finished the packer/proxmox/terraform stuff, that’s how I do all future projects

  • @rajivvishwa
    @rajivvishwa Před 5 měsíci

    Have a naive question, you have tons of container deployments across hosts. How do you keep track of the ports that are configured for each service in your compose files so you do don't accidentally spin up a new project with the same port as another which may or may not be running at that time

    • @christianlempa
      @christianlempa  Před 5 měsíci

      I never (or rarely) expose application ports directly on the host for my web apps, so it’s easier to keep track of all. But when I need, I keep a small table in Apple notes for my deployments, and where they’re located.

    • @rajivvishwa
      @rajivvishwa Před 5 měsíci

      @@christianlempa May be I'm confused, most of the containers you have compose files for have host port mapping right? I understand that you use traefik, but still you'd need to keep track of every single port exposed to the host in order to not conflict? I'm not clear when you say you dont expose ports for web apps. How do you access them then?

    • @_TbT_
      @_TbT_ Před 5 měsíci

      @@rajivvishwa If you use a reverse proxy for all web interfaces (also useful for Let‘s Encrypt SSL), NO port needs to be exposed, except the 80/443 of the proxy. The proxy container just needs to be in the same network and can access all ports of the application container.

    • @rajivvishwa
      @rajivvishwa Před 5 měsíci

      @@_TbT_ I do use reverse proxy where I map `rev-proxy-url:443` to `docker host: port`, in docker compose I expose the port that I need to redirect the reverseproxy to. I use nginx proxy manager. I dont know if it is different for traefik where it somehow figures out the host port to forward a url to without having to expose via docker compose. Let me read up on this.

  • @matthi1786
    @matthi1786 Před 3 měsíci

    Hey Christian,
    thanks for the video.
    I have a question for the deployment of proxmox with terraform cloud.
    Is it now working or not from the repo?
    When I build it up at home, it looks for me that the plan and apply will run in the terraform cloud, where it can't connect to the proxmox.
    Have someone a working solution for this, or can't work?
    thank you!

    • @christianlempa
      @christianlempa  Před 3 měsíci +1

      You're welcome! :) In terraform cloud there is a setting, where you want to execute it. You have to switch from default to "local execution" to make this work, otherwise it will try to execute the command in the cloud environment, which usually can't connect to your local proxmox api endpoint

    • @matthi1786
      @matthi1786 Před 3 měsíci

      @@christianlempa thank you very much this works :)
      I was starting with the oldprovider for terraform. Have you maybe a solution for updated it to the new provider you use?

  • @hugodsa89
    @hugodsa89 Před 5 měsíci

    Fucking fantastic mate

  • @sebcodes
    @sebcodes Před 5 měsíci +1

    Das Video ist super hilfreich, könntest du vielleicht ein aktuelles Video dazu machen wie du Kubernetes aufgesetzt hast / aufsetzt. Technisch verzweifel ich am Ingress service damit ich arcocd erreichen kann, wäre super! Und weiter so mit den guten Videos!

    • @christianlempa
      @christianlempa  Před 4 měsíci

      Vielen Dank! Ich habe dazu mal ein video gemacht, such mal nach k3s auf meinem Kanal, da wirst du bestimmt fündig :)

    • @sebcodes
      @sebcodes Před 4 měsíci

      @@christianlempa Ah habs gefunden, vielen Dank!

  • @remomattei
    @remomattei Před 4 měsíci

    HI good work. I installed the latest proxmox and TF crashes!! does that happen in your side? Thanks

    • @christianlempa
      @christianlempa  Před 4 měsíci

      there's currently an error, I'm currently testing with another provider, that fixes these issues. have a look at the github project

  • @VictorMongi
    @VictorMongi Před 5 měsíci

    Hi Chris, im using proxmox 8.1.3 and telmate/proxmox not compatible with it, any work around?

    • @christianlempa
      @christianlempa  Před 5 měsíci

      No, I didn't have that problem, but I know that provider can be sometimes buggy and I don't know how well it's maintained anymore. Maybe have a look at the GitHub project and what other people might have forked to solve it.

  • @masx584
    @masx584 Před 4 měsíci

    Hi Christian, why did you decide to use terraform instead of vagrant?

    • @christianlempa
      @christianlempa  Před 4 měsíci +1

      they both do different things, vagrant is really just for local stuff, while terraform for remote/cloud/on-prem infra

  • @spoilerkiller
    @spoilerkiller Před 5 měsíci +1

    Is it on purpose that all links are marked with a double star * and affiliate links are also marked with a single star *. That makes affiliate links kind of hard to spot.

    • @fluentmoheshwar
      @fluentmoheshwar Před 5 měsíci

      I noticed that too.

    • @christianlempa
      @christianlempa  Před 5 měsíci +2

      Good point, I’ll update my template on future videos to make it easier to spot :)

  • @WebmediArt
    @WebmediArt Před 4 měsíci

    3:30 Can you do a guide on how to setup this?

    • @christianlempa
      @christianlempa  Před 4 měsíci

      There will be a video about docker compose at some point in my docker course, so check it out :)

  • @RichAfroKid
    @RichAfroKid Před 5 měsíci

    You might want to look at Atlantis for running terraform it's much cleaner and will feedback to your mr if you use them.

  • @ralmslb
    @ralmslb Před 5 měsíci

    Since you are using Kubernetes, why have docker hosts?

  • @limbo8749
    @limbo8749 Před 4 měsíci

    Hey, as a person who doesn't know much about homelabs. Could someone please explain what a homelab is and how it works?

    • @ghosty_wan5943
      @ghosty_wan5943 Před 4 měsíci

      The shortest explanation for a homelab is: a server you have physically at home where you deploy and run web services for your private/household use.
      The server can be a small micro computer or old laptop or pc, or it can be a big server rack with many machines. It really depends on your needs.
      The services and setups that people run are widely different, so I suggest you explore around.

    • @limbo8749
      @limbo8749 Před 4 měsíci

      @@ghosty_wan5943ohhh, alright. Thanks :)

  • @thomulcahy
    @thomulcahy Před 5 měsíci

    github link?

  • @egokhanturk
    @egokhanturk Před 4 měsíci

    Excellent video except macos

  • @metalunleashed
    @metalunleashed Před 5 měsíci

    FIRST! :D

  • @makl-the-oracle
    @makl-the-oracle Před 5 měsíci

    wtf is homelab

    • @LisaSamaritan
      @LisaSamaritan Před 5 měsíci

      I guess it depends on who you ask. But generally I would say that your homelab is one or more systems that you use to learn technology that you can then use for work or personal needs.
      This often lead to self hosting. Where you stop using services from companies and use open source software and because of that you have full control over your own data.