I’m currently struggling with upgrading some Postgres DBs on my home-k3s and I’m seriously considering throwing it all away since it’s such a hassle.

So, how do you handle DBs? K8s? Just a regular daemon?

  • bookworm@feddit.nl
    link
    fedilink
    English
    arrow-up
    6
    ·
    edit-2
    1 year ago

    I just run one mariadb container via docker-compose that all my other services use as their database.

    version: "2"
    services:
      mariadb:
        image: lscr.io/linuxserver/mariadb:latest
        container_name: mariadb
        environment:
          - TZ=####/####
          - PUID=###
          - PGID=###
          - MYSQL_ROOT_PASSWORD==############
        volumes:
          - /docker/mariadb:/config
        ports:
          - 3306:3306
        restart: unless-stopped
    

    Off-topic but I don’t really get the appeal in running Kubernetes (or similar technologies) in a homelab. Unless it’s something you want to learn for work of course.

    • VexCatalyst@lemmy.fmhy.ml
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      That, and you have to take into account each person’s available hardware and resources.

      I have an under powered 10 year old desktop, a resonably specd 5 year old laptop with a busted screen, and 8 Raspberry Pi’s (3s and 4s). And can’t currently afford better hardware.Sometimes clustering those Pi’s makes sense.

      You can use whatever you have to hand.

  • z3bra@lemmy.sdf.org
    link
    fedilink
    English
    arrow-up
    2
    ·
    1 year ago

    I have a single database server because I can’t afford two servers with high storage. The servers that need access to it connect over wireguard VPN. This is slow as f**k don’t do that.

  • BrianTheeBiscuiteer@lemmy.world
    link
    fedilink
    English
    arrow-up
    2
    ·
    1 year ago

    Never tried it but kubegres seems like a good implementation for kubernetes. I guess if you just have a single-node cluster there won’t be much benefit but it seems a periodic backup to NFS is key (you can run NFS on most anything).

    • AggressivelyPassive@feddit.deOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      What currently pisses me off is the fact that it’s almost impossible to do proper migrations for Postgres in k8s. I’d have to look into kubegres, but all approaches I’ve seen so far involve basically copying the entire PVC and the data inside into a new structure - and doing so involves hacked together scripts.

  • bigredgiraffe@lemmy.world
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    1 year ago

    Are we talking database schema migrations or migrating a database between Postgres instances?

    If it’s the former, the pattern is usually to run them in init containers or Jobs but I have been wanting to try out SchemaHero for a while which is a tool to orchestrate it and looks pretty neat.

    ETA: Thought I was replying to your below comment but Memmy deleted it the first time for some reason, my bad.

  • Oliver Lowe@lemmy.sdf.org
    link
    fedilink
    English
    arrow-up
    1
    arrow-down
    1
    ·
    1 year ago

    I avoid software which requires a relational database altogether. For me that’s part of the fun of self hosting: what’s the simplest possible system I can get away with at my tiny scale?

  • metaStatic@kbin.social
    link
    fedilink
    arrow-up
    0
    ·
    1 year ago

    I google why doesn’t mysqld work?, then copy paste terminal commands from the first result, then google why doesn’t my machine boot? then turn around 360 degrees and walk away.

  • exi@feddit.de
    link
    fedilink
    English
    arrow-up
    1
    arrow-down
    1
    ·
    1 year ago

    For personal use, I don’t bother with databases on k8s. They are waaay easier to manage if you just let your host distribution run it as a regular service and Upgrade it through that