Docker and Ansible Questions
Snyder, Alexander J
alexander at snyderfamily.co
Sun Dec 22 18:21:09 MST 2024
Hello!
>> You use Docker, from what I understand.
--->> I do use Docker in my Homelab, yes. Currently, I have the following
containers running:
------>> My internal "Dashboard" - "Homepage" (https://gethomepage.dev/)
------>> Docker Update utility - "What's Up Docker" (
https://getwud.github.io/wud/)
------>> Plex Metrics (https://docs.linuxserver.io/images/docker-tautulli/)
------>> TV Show NZB Client - Sonarr (
https://docs.linuxserver.io/images/docker-sonarr/)
------>> NZB Download Agent - Sabnzb (
https://docs.linuxserver.io/images/docker-sabnzbd/)
------>> Torrent Download Client - Transmission (
https://docs.linuxserver.io/images/docker-transmission/)
------>> Movie NZB Client - Radarr (
https://docs.linuxserver.io/images/docker-radarr/)
------>> Music NZB Client - Lidarr (
https://docs.linuxserver.io/images/docker-lidarr/)
------>> Movie Download Client - Radarr << hallmark-radarr >>, this one
setup specifically to download Hallmark Channel movies
------>> Plex Requests Client - OMBI (
https://docs.linuxserver.io/images/docker-ombi/)
------>> Speedtest.net downloads client and DB trackr - Speedtest-Tracker (
https://docs.linuxserver.io/images/docker-speedtest-tracker/)
>> You are a senior Linux admin, and I assume you are working with Ansible
--->> I am a Senior Automation Engineer working at APS (Arizona Power
Company). I work exclusively with Ansible and Python. I work within the
"Ansible Automation Platform", and APS (as well as many (most?)
Enterprises) are deeply entrenched in the RedHat ecosystem.
>> to automate something that has to do with Linux servers.
--->> Yes, currently, our entire VM provisioning process is handled
entirely in Ansible Playbooks -- and for the entirety of 2024, I was the
lead developer on our effort to Automate the VM Provisioning process in
Azure. Before our work, it would take the Azure team (two people) "about an
hour or so" to create a VM ready for production -- this was an entirely
manual process that made consistency very difficult from VM to VM. I am
very proud to say that we've taken this "About an hour" Unicorn process in
Azure to a 15-20 minute process that creates a production-ready Azure VM
(proud papa spouting!).
>> I am a semi-retired old guy who is a PHP developer. I use Ubuntu to
>> create local web servers for testing and development of PHP. I'm a
>> little rusty since I am just now taking the leap from CentOS to Ubuntu
>> for LAMP web servers. This requires PHP-FPM. I'm also a little rusty
>> with PHP since I have not done any real programming in several years.
>> Given my station, please tell me several things:
>> 1) How do I benefit from using Docker?
--->> My intention to show the Nginx/PHP demo showed that you can "ignore"
all the non-php-related stuff and still have a solid development
environment. At a minimum, it would allow you to speed up your PHP
development because you wouldn't need to "worry" about all the naggy L*MP
stuff. You could easily spin up a Nginx/PHP container (as in my demo), but
you could have several containers, each targeting a different version of
PHP to ensure backward (and forward) compatibility, and maybe test
different configurations to see what benefits your application the best.
>> 2) How do I benefit from using Ansible?
--->> I use Ansible for all* (most) of my homelab configurations. This
includes an Ansible Playbook that uses a JINJA Template to configure Docker
Compose files consistently.
--->> The Docker Playbook does the following:
------>> name: Ensure the directory exists
------>> path: "/opt/apps/{{ container_name }}"
------>> name: Ensure the Data directory exists
------>> path: "/opt/apps/{{ container_name }}/data"
------>> name: Ensure the backup directory exists
------>> path: "/opt/backup/containers/{{ container_name }}"
------>> name: Create the downloads directory
------>> path: "/opt/apps/downloads/{{ container_name }}/"
------>> name: Create the Compose File (from a JINJA template)
------>> dest: "/opt/apps/{{ container_name }}/{{ container_name
}}-compose.yml"
------>> name: Insert block of text in the WhatsUpDocker file so it knows
to monitor it for updates
>> 3) How would I use Ansible as a PHP developer?
--->> It could easily create a consistent development environment for you,
execute a single playbook, and conjure docker containers with all your
settings. Alternatively, you can set a bare VM and use Ansible to configure
*EVERYTHING* to get started.
>> 4) What is the learning curve for Docker for someone like me?
--->> It is just another part of the technical puzzle, so if you struggle
to onboard new technologies, much of Docker might be hard for you. Still,
if you're the kind that can spend an afternoon reading a manual or watching
some "NetworkChuck" videos on YouTube before you "get the gist," it'll
probably come quickly. I "forced" myself into docker in 2023 after being
staunch VMWare "a-VM-for-every-appliction." I paid $7xx for my own
vSphere/vCenter license and was doing that for many years. I bought a
cheap-refurbished DELL r530 1U server specifically to be my "Docker Host"
while I worked through the trenches of "Figuring out" Docker. It turned out
to be extremely simple (for me), and within 30 days, I had completely
converted from my "a-VM-for-every-appliction" mindset over to a
"container-for-everything" approach.
>> 5) What is the learning curve for Ansible for someone like me?
--->> So, I think "Ansible" itself is the "easiest-to-onboard" automation
technology I've worked with. I've worked with Puppet (yuk!), Chef (vomit!),
and now Ansible (yum!). It is based on YAML, which is very simple to get
the hang of. I knew nothing of YAML but had figured out the basics in a
weekend. I've built on "the basics" since I started with it in 2020. At its
core, Ansible is based on Python, which also makes it easy (*I'm a huge fan
of Python, and I utterly despise and hate "Ruby"*).
I'm happy to help anyone get on board with the basics of Docker and/or
Ansible. Just let me know!
--
Thanks,
Alex.
On Sun, Dec 22, 2024 at 1:13 PM Keith Smith via PLUG-discuss <
plug-discuss at lists.phxlinux.org> wrote:
> Alexander J Snyder,
>
> You use Docker from what I understand.
>
> You are a senior Linux admin and I assume you are working with Ansible
> to automate something to do with Linux servers.
>
> I am a semi-retired old guy who is a PHP developer. I use Ubuntu to
> create local web servers for testing and development of PHP. I'm a
> little rusty since I am just now taking the leap from CentOS to Ubuntu
> for LAMP web servers. This requires PHP-FPM. I'm also a little rusty
> with PHP since I have not done any real programming in several years.
>
> Given my station please tell me several things:
>
> 1) How do I benefit from using Docker?
>
> 2) How do I benefit from using Ansible?
>
> 3) How would I use Ansible as a PHP developer?
>
> 4) What is the learning curve for Docker for someone like me?
>
> 5) What is the learning curve for Ansible for someone like me?
>
> Thanks!!
> Keith
> ---------------------------------------------------
> PLUG-discuss mailing list: PLUG-discuss at lists.phxlinux.org
> To subscribe, unsubscribe, or to change your mail settings:
> https://lists.phxlinux.org/mailman/listinfo/plug-discuss
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.phxlinux.org/pipermail/plug-discuss/attachments/20241222/792ccda2/attachment.htm>
More information about the PLUG-discuss
mailing list