Posts for: #weekly

README Highlight Issue #44, 2023: Gitea

In this week’s issue of README Highlight (#44, 2023), we are taking a look at the project Gitea. Gitea is a self-hosted Git service that aims to provide an easy, fast, and painless way to set up a Git server.

One of the notable features of Gitea is that it is written in Go, making it compatible with all platforms and architectures supported by Go, including Linux, macOS, and Windows on x86, amd64, ARM, and PowerPC architectures. It also provides an online demo for users to try out.

To build Gitea, you can run the command TAGS="bindata" make build from the root of the source tree. If SQLite support is required, you can use TAGS="bindata sqlite sqlite_unlock_notify" make build. The build process consists of two sub-targets: make backend which requires Go Stable, and make frontend which requires Node.js LTS or greater.

To use Gitea, you can simply run ./gitea web command. If you are interested in using the APIs, there is experimental support with documentation available.

Contributing to Gitea follows the workflow of Fork -> Patch -> Push -> Pull Request. It is important to read the Contributors Guide before starting to work on a pull request. For security vulnerabilities, it is recommended to contact the project privately at security@gitea.io.

Translations of Gitea are done through Crowdin, and new languages can be added by requesting it through the Crowdin project or by creating an issue. Further information and instructions about installing Gitea can be found in the documentation. Questions that are not covered by the documentation can be addressed on the Discord server or the discourse forum.

Gitea has a list of related projects called awesome-gitea, and the official Gitea CLI is developed at gitea/tea.

The project is licensed under the MIT License. For screenshots and an overview of the interface, you can visit the provided links.

Overall, Gitea is a versatile and user-friendly self-hosted Git service that provides a seamless experience for setting up a Git server. With its compatibility across platforms and architectures, it offers flexibility and convenience for users in the server, Linux, DevOps, and home lab communities.

Source: Gitea README.

README Highlight Issue #43, 2023: k0s

In this week’s issue of README Highlight (#43, 2023), we are taking a look at the following project: k0s.

k0s is an all-inclusive Kubernetes distribution developed by Team Lens. It is designed to be a zero-friction solution for building Kubernetes clusters, packaged as a single binary for ease of use. It can be deployed in various environments, including cloud, IoT gateways, edge, and bare metal deployments, thanks to its simple design, flexible deployment options, and modest system requirements.

Key features of k0s include different installation methods (single-node, multi-node, airgap, and Docker), automatic lifecycle management with k0sctl for upgrades and backup/restore, modest system requirements (1 vCPU, 1 GB RAM), vanilla upstream Kubernetes with no changes, and support for custom Container Network Interface (CNI) and Container Runtime Interface (CRI) plugins. It also supports all Kubernetes storage options with Container Storage Interface (CSI) and a variety of datastore backends.

To get started with k0s, users can refer to the Quick Start Guide for creating a full Kubernetes cluster with a single node, use k0sctl for deploying and upgrading multi-node clusters, watch a NanoDemo recording for a visual demonstration, or run k0s in Docker containers. The project also provides comprehensive documentation and resources for further exploration.

The k0s project is open to community participation and welcomes contributions. Users can join the Lens Forums or submit issues and feature requests via GitHub. The project is continuously improving and has reached a production-ready state, with regular releases and stability improvements.

In terms of scope, k0s aims to provide a versatile base for running Kubernetes in various setups, minimizing the inclusion of “add-ons” and focusing on a robust and flexible core. The project believes in keeping fewer opinions and reducing the maintenance burden of external addons.

Building k0s from source is facilitated by GNU Make and Docker, with all compilation steps performed inside Docker containers. The project offers two different build options: a self-contained build with all binaries compiled from source and embedded, and a package maintainer build without any embedded binaries. Smoke tests are also available to ensure the functionality of the built binaries.

In conclusion, k0s offers a zero-friction Kubernetes distribution with a focus on simplicity, flexibility, and performance. It provides a comprehensive set of features, easy installation and management, and compatibility with various deployment environments. With its active development and community involvement, k0s aims to be a modern and reliable choice for Kubernetes deployments.

README Highlight Issue #42, 2023: OpenTofu

In this week’s issue of README Highlight (#42, 2023), we are taking a look at the following project: OpenTofu. OpenTofu is an open-source tool for building, changing, and versioning infrastructure safely and efficiently. It can manage existing and popular service providers as well as custom in-house solutions.

The key features of OpenTofu are:

  • Infrastructure as Code: Infrastructure is described using a high-level configuration syntax, allowing it to be versioned and treated like any other code. It can also be shared and re-used.

  • Execution Plans: OpenTofu generates an execution plan before making any changes, showing what it will do when called. This helps avoid surprises and allows for better control over infrastructure manipulation.

  • Resource Graph: OpenTofu builds a graph of all resources and parallelizes the creation and modification of non-dependent resources. This ensures efficient infrastructure building and provides insight into dependencies.

  • Change Automation: Complex changesets can be applied to infrastructure with minimal human interaction. The execution plan and resource graph help operators understand what changes will be made and in what order, reducing potential errors.

The OpenTofu repository contains the OpenTofu Core, which includes the command line interface and the main graph engine. To learn more about compiling OpenTofu and contributing suggested changes, refer to the contributing guide. Bug reports and enhancement requests can also be submitted following the same guide.

If you find a vulnerability or potential vulnerability in OpenTofu, please follow the Security Policy for reporting it. The project uses the Mozilla Public License v2.0.

For more information about OpenTofu, you can visit their Manifesto and their About page. You can also join their Slack community or check out their weekly status updates on the project’s GitHub repository.

README Highlight Issue #41, 2023: Jellyfin

In this week’s issue of README Highlight (#41, 2023), we are taking a look at the following project: Jellyfin.

Jellyfin is a Free Software Media System that allows users to manage and stream media from a dedicated server to end-user devices via multiple apps. It is an alternative to proprietary media server solutions like Emby and Plex. What sets Jellyfin apart is its commitment to being an open-source project with no premium licenses, hidden agendas, or proprietary features.

Jellyfin is descended from Emby’s 3.5.2 release and has been ported to the .NET Core framework, enabling full cross-platform support. It puts users in control of their media, allowing them to organize and stream their media collection on various devices.

To get started with Jellyfin, users can visit the downloads page or refer to the installation guide and quick start guide. For those interested in contributing to the project, there is a contributing guide and community standards available.

Jellyfin supports all major operating systems except FreeBSD and requires the installation of the .NET 7.0 SDK. Users can choose to run Jellyfin with an IDE like Visual Studio or Visual Studio Code, or run it from the command line. The repository also includes unit tests that can be run using dotnet test or in Visual Studio or Visual Studio Code.

For more information about Jellyfin and its features, users can refer to the documentation page and about page. The project also has a feature request hub for users to suggest new ideas or improvements.

Jellyfin is an open-source project supported by DigitalOcean and JetBrains. Users who want to contribute to the project can check out the contributing choose-your-own-adventure to find ways to help and contribute to the project.

In conclusion, Jellyfin is a powerful and open-source media system that gives users full control over their media collection. With its cross-platform support and active community, Jellyfin is a great choice for those interested in managing and streaming media from their own dedicated server.

For more details about Jellyfin, please visit the Jellyfin README.

README Highlight Issue #40, 2023: Plane

In this week’s issue of README Highlight (#40, 2023), we are taking a look at the following project: Plane.

Plane is an open-source, self-hosted project planning tool. It is designed to help teams manage issues, sprints, and product roadmaps with ease. With Plane, users can create and track issues using a powerful rich text editor, attach files to issues for collaboration, customize project views with different layouts, plan sprints with cycles, and break down large projects into manageable modules.

One of the key features of Plane is its ability to create custom filters to display only the issues that matter to you. Users can also create AI-powered notepads called Pages to easily document issues, cycle plans, and module details. The Command + K menu allows for easy project management and navigation. Additionally, Plane offers GitHub sync, which allows users to sync their GitHub issues with Plane for better tracking and collaboration.

To get started with Plane, users can create a Plane Cloud account for a hosted solution. For those who prefer self-hosting, there is deployment documentation available.

For more information and documentation on Plane, visit the Plane GitHub repository and the official Plane website.

Please note that Plane is still in its early stages, and improvements are being made based on user feedback. Users are encouraged to provide suggestions, ideas, or report bugs on the Discord or GitHub issues.

The Plane community can be found on GitHub Discussions and the Plane Discord. The project follows a Code of Conduct to ensure a positive and inclusive community.

If you believe you have found a security vulnerability in Plane, please responsibly disclose it by emailing engineering@plane.so.

For full documentation, visit docs.plane.so.

To contribute to the project, refer to the CONTRIBUTING.md file in the repository.

README Highlight Issue #39, 2023: Uptime Kuma

In this week’s issue (#39, 2023) of README Highlight, we are taking a look at the following project: Uptime Kuma.

Uptime Kuma is an easy-to-use self-hosted monitoring tool. It allows users to monitor the uptime of various services, including HTTP(s), TCP, HTTP(s) Keyword, HTTP(s) Json Query, Ping, DNS Record, Push, Steam Game Server, and Docker Containers.

Some of the key features of Uptime Kuma include:

  • Fancy, Reactive, Fast UI/UX
  • Notifications via Telegram, Discord, Gotify, Slack, Pushover, Email (SMTP), and over 90 other notification services
  • 20-second intervals for monitoring
  • Multi-language support
  • Multiple status pages
  • Ping chart
  • Certificate info
  • Proxy support
  • 2FA support

Uptime Kuma can be installed using Docker or on a non-Docker environment. For Docker installation, users can run the following command:

docker run -d --restart=always -p 3001:3001 -v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:1

For non-Docker installation, users need to have node, npm, git, and pm2 installed. They can then clone the Uptime Kuma repository and run the necessary setup commands. Uptime Kuma also provides a Windows Portable (x64) version for easy installation on Windows systems. For more advanced installation options, users can refer to the project’s documentation. To keep Uptime Kuma up to date, users can follow the instructions provided in the project’s documentation.

The Uptime Kuma project has a roadmap and milestones for future development, which can be found on its GitHub page.

The project is sponsored by GitHub Sponsors and OpenCollective sponsors. Users can contribute to the project by testing pull requests, testing beta versions, reporting bugs or requesting features, translating the project into different languages, and creating pull requests.

For more information and to try out Uptime Kuma, visit the Uptime Kuma GitHub repository.

Source: Uptime Kuma README.