Posts for: #weekly

README Highlight Issue #49, 2023: Joplin

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

Joplin is a free, open source note-taking and to-do application that can handle a large number of notes organized into notebooks. It allows users to search, copy, tag, and modify notes either from the application itself or from their own text editor. The notes are stored in Markdown format.

One of the key features of Joplin is its ability to import notes from Evernote, including the formatted content, resources, and metadata. It also supports importing plain Markdown files.

Joplin follows an “offline first” approach, meaning that all your data is stored on your device, ensuring accessibility even without an internet connection. The application provides secure synchronization using end-to-end encryption with various cloud services such as Nextcloud, Dropbox, OneDrive, and Joplin Cloud.

The app offers full-text search functionality across all platforms, making it easy to find the information you need. It also supports customization through plugins and themes, allowing users to tailor the application to their preferences.

Joplin is available for Windows, Linux, macOS, Android, and iOS. In addition, it offers a Web Clipper for saving web pages and screenshots from browsers, which is available for Firefox and Chrome.

For more information about Joplin, you can refer to the full Joplin documentation.

Donations to Joplin support the development of the project, covering expenses such as digital certificates, app store fees, and hosting. To support the development of Joplin, you can visit the donation page.

The Joplin community is active and offers various platforms for discussion and support, including a support forum, Twitter, Mastodon, Patreon, Discord, LinkedIn, and a Lemmy community.

If you’re interested in contributing to the development of Joplin, you can refer to the guide.

README Highlight Issue #48, 2023: Traefik

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

Traefik is a modern HTTP reverse proxy and load balancer that simplifies the deployment of microservices. It seamlessly integrates with various infrastructure components such as Docker, Swarm mode, Kubernetes, Consul, Etcd, Rancher v2, and Amazon ECS, and automatically configures itself. This makes Traefik the only configuration step you need to connect your microservices to the outside world.

Traditional reverse-proxies require manual configuration of each route connecting paths and subdomains to microservices. However, in an environment where services are frequently added, removed, upgraded, or scaled, maintaining these routes becomes a tedious task. Traefik solves this problem by dynamically generating routes based on the service registry or orchestrator API. This means that Traefik continuously updates its configuration without the need for restarts.

Traefik offers a wide range of features, including support for multiple load balancing algorithms, HTTPS with Let’s Encrypt wildcard certificates, circuit breakers, retry mechanisms, a clean web UI, and compatibility with Websocket, HTTP/2, and gRPC protocols. It also provides metrics and access logs, supports REST APIs, and is packaged as a single binary file. Traefik is available as an official Docker image, making it easy to deploy.

Traefik supports various backends, including Docker, Swarm mode, Kubernetes, and File. It also provides a straightforward quickstart guide in its documentation, which requires Docker to get started.

The web UI of Traefik provides a simple HTML frontend for easy management and monitoring.

The complete documentation of Traefik v2 can be found on their website. There is also a collection of contributions around Traefik available for further exploration.

Community support for Traefik can be obtained through the Traefik community forum. For commercial support, offers assistance via email.

To download Traefik, you can get the latest binary from the releases page or use the official Docker image. Alternatively, you can clone the Traefik repository to get the source code.

Traefik also provides introductory videos on their website for those who want to learn more about its capabilities.

The maintainers of Traefik promote a philosophy of openness and sharing, making it accessible for anyone to contribute to the project. The contribution guidelines and code of conduct can be found in the project’s repository.

Traefik follows a release cycle of approximately 3 to 4 new versions per year. Release candidates are available before the final release, and bug-fixes are released as needed. Each version is supported until the next one is released, following the principles of Semantic Versioning.

Mailing lists are available for general announcements and security announcements.

Overall, Traefik is a powerful tool for managing microservices and simplifying the deployment process. Its wide range of features and seamless integration with various infrastructure components make it a valuable asset for DevOps professionals and home lab enthusiasts.

Source: Traefik README.

README Highlight Issue #47, 2023: Dockge

In this week’s issue of README Highlight (#47, 2023), we are taking a look at Dockge, a fancy, easy-to-use, and reactive self-hosted docker-compose.yml stack-oriented manager. Dockge allows users to easily manage their docker-compose.yml files, create/edit/start/stop/restart/delete containers, and update Docker images. It also features an interactive editor for docker-compose.yml files and a web terminal for easy management.

One of the key features of Dockge is its reactive nature. It provides real-time progress updates and terminal output, making it easy for users to monitor their containers. The UI of Dockge is also designed to be easy-to-use and visually appealing, inspired by the UI/UX of Uptime Kuma.

Dockge follows a file-based structure, ensuring that users have full control over their compose files and can interact with them using normal Docker compose commands. It also provides the ability to convert docker run ... commands into docker-compose.yml format.

To install Dockge, users need to have Docker CE 20+ or Podman installed. The installation process involves creating a directory to store stacks and Dockge’s compose.yaml file, downloading the compose.yaml file, and starting the server using docker compose up -d command.

Dockge supports various platforms including armv7, arm64, and amd64. It is compatible with Docker CE and Podman.

The project provides a number of screenshots showcasing its features, including the interactive editor, web terminal, and UI.

The motivation behind Dockge was to provide an alternative to existing stack management tools like Portainer, with a focus on improving the user experience and clear error messaging. The developer also wanted to experiment with developing using ES Module + TypeScript.

Bug reports, help, and discussions can be found on the project’s GitHub repository. Users interested in translating Dockge into their language can refer to the Translation Guide provided.

In the FAQ section, the developer explains that “Dockge” is a coinage word created by themselves, inspired by Twitch emotes like sadge, bedge, and wokege. Dockge is primarily designed to manage stacks using compose.yaml files, but users can manage single containers using other tools like Portainer or Docker CLI. It is also possible to manage existing stacks by moving the compose file into the stacks directory and scanning the stacks folder in Dockge.

The developer also mentions more ideas for future improvements, including stats, file manager, app store for yaml templates, app icons, switching Docker context, Dockerfile and build support, and Docker swarm support.

Overall, Dockge is a comprehensive and user-friendly tool for managing Docker compose stacks, providing an intuitive UI and real-time updates for easy management.

Source: Dockge README.

README Highlight Issue #46, 2023: lldap

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

The project is a lightweight authentication server that provides a simplified LDAP interface for authentication. It is designed to integrate with various backends, including KeyCloak, Authelia, Nextcloud, and more. The server comes with a user-friendly web interface that makes user management easy. Users can edit their own details and reset their password by email.

It is important to note that lldap is not a full LDAP server. It is a user management system that is simple to set up and manage, with low resource requirements. It is specifically designed for self-hosting servers and integrates well with open-source components like Nextcloud and Airsonic that only support LDAP as a source of external authentication.

The project uses SQLite as the default backend for data storage, but it can be easily swapped with MySQL/MariaDB or PostgreSQL. Installation options include Docker, Kubernetes, and installation from a package repository. The project also provides detailed instructions for cross-compilation.

For client configuration, lldap is compatible with most services that can use LDAP as an authentication provider. The server uses a specific user DN for authentication and stores users in the ou=people directory by default. The project provides sample client configurations for various services, including Airsonic, Apache Guacamole, Authelia, Bookstack, and many more.

Migrating from SQLite to MySQL/MariaDB or PostgreSQL is also supported, and the project provides detailed instructions for this process.

Comparisons with other services are provided as well. lldap is compared to OpenLDAP, FreeIPA, and Kanidm, highlighting the differences in features, complexity, and resource requirements.

In case of any issues or difficulties logging in, the project provides troubleshooting steps and encourages users to join their Discord server for support.

Contributions to the project are welcome, and the project maintains an open and respectful community.

README Highlight Issue #45, 2023: Rclone

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

Rclone is a command-line program designed to sync files and directories to and from various cloud storage providers. It is often referred to as “rsync for cloud storage.” This powerful tool is especially useful for those interested in servers, Linux, DevOps, and home labs.

One of the standout features of Rclone is its extensive list of storage providers. It supports a wide range of providers, including popular options like Amazon S3, Google Drive, Dropbox, Microsoft OneDrive, and many more. In fact, the list of supported providers is so extensive that it is best to refer to the full list on the Rclone website for complete details.

In addition to its broad support for storage providers, Rclone offers a variety of features to enhance file syncing and management. Some of these features include:

  • MD5/SHA-1 hashes checked at all times for file integrity
  • Preservation of timestamps on files
  • Partial syncs for individual files
  • Copy mode to only copy new or changed files
  • Sync mode to make directories identical
  • Check mode to verify file hash equality
  • Ability to sync between different cloud accounts
  • Optional large file chunking, compression, and encryption
  • FUSE mount for easy access to remote files
  • Multi-threaded downloads for faster transfers
  • Ability to serve files over HTTP/WebDAV/FTP/SFTP/DLNA

Rclone provides detailed documentation and installation instructions on its official website. The website also includes a helpful FAQ section, a forum for community support, and a changelog to keep users informed of updates.

For those interested in trying out Rclone, the program is available for download from the official downloads page. Rclone is free software released under the MIT license.

Rclone is a versatile and powerful tool for managing files and syncing data across various cloud storage providers. Its extensive list of storage providers, robust features, and active community make it a top choice for those working with servers, Linux, DevOps, and home labs.

Please note that this summary is based on the information provided in the Rclone README. For more detailed information and the latest updates, it is recommended to visit the official Rclone website.

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 [email protected].

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.