The Open-Source Software I Self-Host for My Workflow

Open-source software has become a cornerstone of my work as a library technologist. It offers flexibility, community support, and the freedom to customize tools for specific needs—all without the hefty price tags of proprietary alternatives. In this blog post, I’ll share some of the key open-source software solutions I rely on daily, spanning areas like website management, remote desktop access, automation, invoicing, and more.

1. WordPress: Powering My Website

WordPress, one of the world’s most popular content management systems (CMS), is my go-to for managing my personal website. Its vast array of plugins, ease of customization, and active community support make it a versatile tool. Whether it’s customizing themes, integrating SEO features, or managing content, WordPress provides the flexibility I need.

2. InvoicePlane: Simplifying Invoicing and Billing

For invoicing, I use InvoicePlane, an open-source application that allows me to create, track, and manage invoices efficiently. It offers all the essential features I need for handling client information, generating quotes, and managing payments. With customizable invoice templates, it also ensures my documents look professional, and being self-hosted gives me full control over my financial data.

3. n8n: Automating My Workflow

n8n is a workflow automation tool that connects various services, enabling me to automate repetitive tasks. From syncing data between Google Sheets and my library system to sending notifications via WhatsApp, it streamlines workflows across the different platforms I use. With its visual interface, n8n makes automating tasks simple and intuitive, even for non-developers.

4. RustDesk: My Go-To for Remote Desktop Access

For remote desktop access, I rely on RustDesk, an open-source alternative to tools like AnyDesk or TeamViewer. What sets it apart is the option to self-host the server, which gives me full control over my data and privacy. It allows me to remotely manage systems securely and efficiently, offering cross-platform support, including mobile devices.

5. Nginx Proxy Manager: Simplifying Reverse Proxy Setup

Managing my web applications is made easier with Nginx Proxy Manager. It simplifies the setup of reverse proxy servers, handling SSL certificates, redirects, and multiple applications under one domain. This tool ensures secure and flexible management of web services with a user-friendly interface, making it an excellent solution for streamlining access to various tools I run.

6. Uptime Kuma: Monitoring My Services

To ensure that my web services and servers are always up and running, I use Uptime Kuma. This open-source monitoring tool provides real-time tracking of service uptime, sending notifications if anything goes offline. It’s lightweight, self-hosted, and has a modern interface, making it a convenient way to monitor multiple services from one dashboard.

7. Vaultwarden: Managing My Passwords Securely

For password management, I use Vaultwarden, a self-hosted alternative to Bitwarden. It ensures that all my passwords are securely encrypted, while allowing me to retain full control over my data. With support for browser extensions and mobile apps, Vaultwarden integrates seamlessly across my devices, making password management both secure and convenient.

8. Stirling PDF: A Reliable PDF Toolkit

Stirling PDF is my go-to tool for managing PDFs. It supports tasks like editing, merging, converting, and securing PDF documents, which is crucial for handling student records, research papers, and invoices. As an open-source, offline tool, it offers a reliable and private solution for managing documents in a professional setting.

9. Homepage: A Custom Dashboard for My Digital Workspace

Homepage acts as a personal dashboard where I organize links, tools, and widgets in one place. It serves as a centralized hub for quick access to essential services like my blog admin panel, n8n automations, and Koha library management system. With its clean design and ease of customization, it enhances productivity by putting everything I need within easy reach.

Why Open Source Matters to Me

The common thread across all these tools is their open-source nature. Open-source software fosters innovation, offers flexibility, and ensures that users remain in control of their data and systems. I love the freedom it gives me to tweak and customize software to meet my specific needs. Moreover, the support and collaboration of the open-source community make it a vibrant space where new ideas flourish.

As I continue exploring and experimenting with new tools, open-source software remains at the core of my workflow. These tools are helping me stay efficient, maintain control over my digital ecosystem, and provide better services to my community. If you’re not already embracing open-source solutions, I highly recommend giving them a try—you might just find they become indispensable in your own workflow!

Support the Open-Source Community

Open-source projects thrive on the contributions and support from their communities. If you find any of these tools as useful as I do, I encourage you to consider contributing financially to the developers behind these projects. Even small donations help sustain development, keep servers running, and fund new features. You can find donation links or ways to support these projects on their respective websites:

An Open-source Invoicing Application for Freelancers/SMBs

The crater is an open-source self-hosted invoicing application based on the Laravel PHP framework targeting individual users or small and medium-sized businesses (SMBs).

Crater Features
  • Invoice: Create and send invoices to clients
  • Estimate: make an estimate or offer a price
  • Track Payment: tracking transactions and payments
  • Expenses: record and track expenses
  • Reports: make a billing report
  • Taxes: set the type of tax
  • Mobile App: Android and iOS mobile versions available
Environment
  • OS: Debian 11/Ubuntu 20.04
  • Web Server: Apache
  • PHP: 7.4
  • Database: MariaDB 10.3
  • Subdomain: crater.opensio.co.in
  • SSL: Let’s Encrypt
  • Crater: v5.0.6
Install LAMP Stack

sudo apt install -y apache2 mariadb-server libapache2-mod-php php-common php-bcmath php-mbstring php-mysql php-tokenizer php-zip php-curl

Securing MariaDB installation.

sudo mysql_secure_installation

Restart apache.

sudo systemctl restart apache2

Download Crater

Download Crater on craterapp.com/downloads.

sudo wget https://craterapp.com/downloads/file/5.0.6 -O crater.zip

Unzip crater.zip

sudo apt install -y unzip && sudo unzip crater.zip

Move the crater folder.

sudo mv crater /var/www/html/

Change the ownership and permissions of the folder.

sudo chown -R www-data:www-data /var/www/html/crater/
sudo chmod 775 /var/www/html/crater/storage/framework
sudo chmod 775 /var/www/html/crater/storage/logs
sudo chmod 775 /var/www/html/crater/bootstrap/cache

Create virtual hosts file.

sudo vim /etc/apache2/sites-available/crater.conf

Enter the virtual host configuration.

<VirtualHost *:80>
ServerName crater.opensio.co.in
DocumentRoot /var/www/html/crater/public
<Directory /var/www/html/crater/public>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require all granted
</Directory>
ErrorLog /var/log/apache2/crater_error.log
CustomLog /var/log/apache2/crater_access.log combined
</VirtualHost>

Activate the rewrite module, virtual host, and restart the apache web server.

sudo a2enmod rewrite
sudo a2ensite crater.conf
sudo systemctl reload apache2 && sudo systemctl restart apache2

Create database.

sudo mysql
create database crater;
create user ‘crater’@’localhost’ identified by ‘crater123’;
grant all privileges on crater.* to ‘crater’@’localhost’;
flush privileges;
exit

Install SSL using certbot.

sudo apt install python3-certbot-apache -y

SSL request for subdomain crater.opensio.co.in

sudo certbot –non-interactive -m info@opensio.co.in –agree-tos –no-eff-email –apache -d crater.opensio.co.in –redirect

Installation Wizard

Browse to the subdomain (crater.opensio.co.in)used for the installation wizard.

Click Check Requirements to check if the server meets the requirements to run Crater.

Crater System Requirements

If it meets the requirements click Continue.

PHP extensions

Checking directory permissions. Continue.

Directory Permissions

Configure Site URL and database. Enter the database name, username, and password that was created previously. Save & Continue.

Database Connection

Domain verification. Verify Now.

Domain Verification

Mail configuration, enter the name and email address as the identity of the email sender. Save.

Mail Configuration

Account information, enter your name, email, and password. Save & Continue.

Account Information

Company information, enter company name and country. Save & Continue.

Company Information

Company preferences, select currency (cannot be changed later), date format, and time zone. Save & Continue.

Company Preferences

Install Crater complete.

Reference: https://docs.craterapp.com/