• 0 Posts
  • 24 Comments
Joined 1 year ago
cake
Cake day: July 1st, 2023

help-circle






  • It’s not as big of an issue as it might seem. While you might hear about it online, I’ve never encountered someone who genuinely fixates on height in person.

    This could be a form of avoidance. Sometimes, people might lie or exaggerate to steer clear of conflict, rejection, or negative judgment. This behavior is particularly common among those who’ve experienced trauma and become hyper-vigilant about how others perceive them. Past negative experiences might have created a narrative where you felt undesired or unloved, leading to concerns about things like height, even though that might not be the true source of the problem.

    If it’s a common thing, maybe talk to a professional, but one-offs are fine. Don’t carry someone else’s baggage.

    Edit:

    In relationships and social interactions, such tendencies might arise as a way to control the narrative and feel safer in interpersonal dynamics.



  • If they’re a beginner, what better way is there to learn? My home lab and their Windows laptop running VirtualBox are two different things. The topic of security is too deep to cover now, but if they don’t open it up to the world, there shouldn’t be much risk. Local access only should be safe enough, and they might try a dozen different services before settling on one—or none at all.

    Edit: Sysadmin is boring, I need to create. DevOps or some other automation role would be perfect IMO


  • Regarding your third point, you might find it helpful to search for beginners’ guides whenever starting a new project. One thing that people don’t seem to tell new users about is the struggles they faced when getting started themselves. Countless thousands of hours could be spent on this before someone decides to get started, while others pick it up in a much shorter timeframe. It just depends on you and what you are looking to get out of it.

    It’s much more difficult than many people realize. If you need a space to test things out, I’d recommend installing VirtualBox with a couple of VMs to host whatever services you decide on. You can take a snapshot of the VM at any point in time, so when things go bad, you can simply restore whichever snapshot you like.



  • My life got immensely easier when I figured out I did not need any features ZFS brought to the table, and I did not need any of the features K8s brought to the table, and that less is absolutely more.

    Same here. Sometimes I get carried away, but overall, a very basic setup is more than fine. Nearly all of my devices run Ubuntu/Debian, and only the work-related stuff gets over-engineered.

    It’s helpful for me to have something like a home lab where I can get hands-on experience with many different technologies. I’ve worn many hats, from developer to sysadmin, so a certain segment of my network tends to be built like Fort Knox. However, overall, 90% of my installs are minimalist with common best practices applied.


  • Media server: Jellyfin, qBittorrent, Radarr/Sonarr/Lidarr/Prowlarr, and OpenVPN/Traefik/WireGuard

    Misc: PiHole, Vaultwarden, HashiCorp Vault, and FreeIPA

    VMware ESXi for the VMs, but I’ll be switching to Proxmox soon.

    All running in Docker or Podman containers on their own VMs. I’m trying to automate the deployment and configuration of each of these services via pipelines in GitLab CI using Ansible and Terraform right now. I also have a couple of Kubernetes clusters for testing and dev stuff on this server.

    Accessed via SSH or an NGINX reverse proxy. I’m using certificates where possible, but a lot of the traffic between VMs is still unencrypted. I’ll eventually force everything local to use Traefik, but for now, only a few services are using it.

    There are a lot of projects on awesome-selfhosted and selfhosted that I’ve been meaning to get around to installing. Home Assistant and AdGuard Home are two of them.

    OpenStack has a really good Ansible hardening project for securing servers that I try to always use. I also have a Red Hat developer license, so I try to use their OS when possible because of their FIPS and other security profiles. Some services just don’t work with any of the newer RHEL versions though, and I usually fall back to CentOS Stream or Ubuntu whenever that happens.







  • Last@reddthat.comtoLinux@lemmy.mlHow to stagger automated upgrade?
    link
    fedilink
    arrow-up
    7
    arrow-down
    3
    ·
    edit-2
    2 months ago

    To effectively manage and stagger automated upgrades across multiple groups of Ubuntu servers, scheduling upgrades on specific days for different server groups offers a structured and reliable method. This approach ensures that upgrades are rolled out in a controlled manner, reducing the risk of potential disruptions.

    Here’s an example Ansible playbook that illustrates how to set this up. It installs unattended-upgrades and configures systemd timers to manage upgrades on specific weekdays for three distinct groups of servers.

    Playbook
      ---
      - hosts: all
        become: yes
        vars:
          unattended_upgrade_groups:
            - name: staging_batch1
              schedule: "Mon *-*-* 02:00:00"  # Updates on Monday
            - name: staging_batch2
              schedule: "Wed *-*-* 02:00:00"  # Updates on Wednesday
            - name: staging_batch3
              schedule: "Fri *-*-* 02:00:00"  # Updates on Friday
    
        tasks:
          - name: Install unattended-upgrades
            apt:
              name: unattended-upgrades
              state: present
    
          - name: Disable automatic updates to control manually
            copy:
              dest: /etc/apt/apt.conf.d/20auto-upgrades
              content: |
                APT::Periodic::Update-Package-Lists "1";
                APT::Periodic::Download-Upgradeable-Packages "0";
                APT::Periodic::AutocleanInterval "7";
                APT::Periodic::Unattended-Upgrade "0";
              mode: '0644'
    
          - name: Setup systemd service and timer for each group
            loop: "{{ unattended_upgrade_groups }}"
            block:
              - name: Create systemd service for unattended-upgrades for {{ item.name }}
                copy:
                  dest: "/etc/systemd/system/unattended-upgrades-{{ item.name }}.service"
                  content: |
                    [Unit]
                    Description=Run unattended upgrades for {{ item.name }}
    
                    [Service]
                    Type=oneshot
                    ExecStart=/usr/bin/unattended-upgrade
                  mode: '0644'
    
              - name: Create systemd timer for {{ item.name }}
                copy:
                  dest: "/etc/systemd/system/unattended-upgrades-{{ item.name }}.timer"
                  content: |
                    [Unit]
                    Description=Timer for unattended upgrades on {{ item.schedule }} for {{ item.name }}
    
                    [Timer]
                    OnCalendar={{ item.schedule }}
                    Persistent=true
    
                    [Install]
                    WantedBy=timers.target
                  mode: '0644'
    
              - name: Enable the timer for {{ item.name }}
                systemd:
                  name: "unattended-upgrades-{{ item.name }}.timer"
                  enabled: yes
    
              - name: Start the timer for {{ item.name }}
                systemd:
                  name: "unattended-upgrades-{{ item.name }}.timer"
                  state: started