Switching the runner to Docker improves consistency and aligns with containerized build environments. This change ensures better compatibility and reduces discrepancies in builds.
This workflow automates building and pushing Docker images for the backend and frontend to the Gitea registry. It triggers on `main` branch pushes, tag pushes, or manual dispatch and supports version tagging based on Git references.