klimov.dev Documentation and Blog

website·Indexed 30 days ago

https://klimov.dev

A collection of technical guides and articles focusing on HomeLab setup, Proxmox VE, Docker on Debian, Nextcloud administration using the occ command, and Linux system administration including Samba and Nginx.

Tokens
30K
Snippets
211
Records
251
Agent score
50%

What's inside klimov.dev

  1. Overview of HomeBox inventory system

    HomeBox is a self-hosted inventory management system designed to track home possessions. It allows users to maintain a digital database of items, including their location, cost, purchase date, and warranty information. Key features include:

    • Hierarchical organization using categories, locations, and tags (e.g., Home -> Office -> Shelf -> Blue Box).
    • Custom fields for specific data like manufacturers or driver links.
    • Image uploads for serial numbers and documentation.
    • Warranty and maintenance tracking.
    • QR code generation for physical labels; scanning a label reveals the contents of a container without opening it.
    • Responsive web interface (no native mobile app available).
  2. Overview of AList storage capabilities

    AList is a lightweight file list manager that provides a unified web interface for various storage backends. It supports Local storage, SMB, S3, WebDAV, FTP/SFTP, OneDrive, Google Drive, and Yandex Disk (via WebDAV).
  3. Overview of 2FAuth

    2FAuth is a self-hosted web application that replaces mobile 2FA apps (like Google Authenticator or Authy). It allows users to manage and access TOTP codes via a browser, providing independence from a physical mobile device. Key features include:

    • Data control: Secret keys are stored in a user-managed database (SQLite, MySQL, or PostgreSQL).
    • Security: Supports data encryption in the database, WebAuthn (YubiKey/Titan Key) for passwordless login, automatic session timeout, and access logging.
    • Import capabilities: Supports importing accounts from Google Auth (via QR code), Aegis Auth (JSON/plain text), 2FAS Auth (JSON), and other 2FAuth instances (JSON).
    • Organization: Supports grouping codes into folders.
    • Integration: Provides an OpenAPI-compatible REST API and browser extensions for Chrome and Firefox to auto-fill codes.
  4. Overview of Nexterm web terminal manager

    Nexterm is an open-source web-based manager for remote terminals. It provides a unified interface in the browser to manage multiple connections, including SSH, VNC, and RDP. Key features include a credential store for logins and SSH keys, command snippets for frequently used tasks, 2FA (TOTP) support, and encrypted storage of passwords and keys.
  5. Retrieve FIGlet system and configuration information

    Use the -I flag followed by a number to retrieve specific system information about the FIGlet installation. This is useful for creating portable shell scripts that adapt to the host system.
    figlet -I1 # Show version
    figlet -I2 # Show font directory
    figlet -I3 # Show default font
    figlet -I4 # Show output width
    figlet -I5 # Show supported formats
  6. Use the occ command-line tool for Nextcloud administration

    Nextcloud provides a universal command-line tool called occ (OwnCloud Console) for administrators to perform powerful automated control and server management, which is especially useful for servers without a graphical user interface (headless servers).
  7. Install AList using the binary on Linux

    To install AList without Docker, download the appropriate binary for your architecture from the GitHub releases page, extract it, and move it to a system directory like /opt/alist.
    # Check architecture
    uname -m
    
    # Download for x86_64
    wget https://github.com/AlistGo/alist/releases/latest/download/alist-linux-amd64.tar.gz
    
    # Extract and set permissions
    tar -xzf alist-linux-amd64.tar.gz
    chmod +x alist
    
    # Move to installation directory
    mkdir -p /opt/alist
    mv alist /opt/alist/
  8. Update 2FAuth to a newer version without data loss

    Updating 2FAuth is a manual process. To preserve data, you must back up the .env file, the database/database.sqlite file (if using SQLite), and the storage/ directory before replacing the application files with a new version. After extracting the new version and installing dependencies via Composer, run the installation master to clear caches and run migrations.
    # 1. Download and extract new version
    cd /var/www
    wget https://github.com/Bubka/2FAuth/archive/refs/tags/vX.X.X.zip
    unzip 2FAuth-X.X.X.zip
    
    # 2. Update dependencies
    cd /var/www/2fauth
    composer install
    
    # 3. Run installation master
    php artisan 2fauth:install
    
    # 4. Set permissions
    chown -R www-data:www-data /var/www/2fauth
    find /var/www/2fauth -type d -exec chmod 755 {} \;
    find /var/www/2fauth -type f -exec chmod 644 {} \;
  9. Install and connect to PostgreSQL

    Install PostgreSQL and its contrib package. Connect to the server using the psql CLI with the specified user, database, host, and port.
    # Installation
    apt install postgresql postgresql-contrib
    
    # Connection
    psql -U username -d database_name -h host -p port
  10. Run AList for the first time and retrieve admin credentials

    Start the AList server to generate the initial admin password and access URL. If the password is missed during the first run, use the admin command to retrieve it.
    cd /opt/alist
    ./alist server
    
    # To retrieve the admin password if missed:
    ./alist admin
  11. Perform DNS and Port checks

    Use dig to query DNS records for a domain and nc (netcat) to check if a specific port is open on a remote host.
    # DNS lookup
    dig klimov.dev
    
    # Check if port 80 is open on 192.168.1.1
    nc -zv 192.168.1.1 80