AlmaLinuxRHEL Based

How To Install Feishin on AlmaLinux 10

Install Feishin on AlmaLinux 10

Installing Feishin on AlmaLinux 10 provides a powerful combination of modern self-hosted music streaming and enterprise-grade Linux stability. This comprehensive guide covers multiple installation methods, configuration options, and optimization techniques for deploying Feishin on your AlmaLinux 10 system.

Understanding Feishin and AlmaLinux 10

What is Feishin?

Feishin represents a modern self-hosted music player that transforms how users interact with their music collections. Built with a contemporary interface, this application provides seamless integration with popular music servers including Navidrome, Jellyfin, and various Subsonic-compatible platforms. The application leverages MPV as its audio backend, ensuring high-quality playback across different audio formats and codecs.

The cross-platform nature of Feishin makes it particularly attractive for Linux environments. Its AppImage distribution method eliminates complex dependency management while providing consistent performance across different Linux distributions. Users benefit from features such as advanced library management, web player support, and extensive customization options that rival proprietary streaming solutions.

AlmaLinux 10 Overview

AlmaLinux 10 stands as a premier enterprise Linux distribution that maintains binary compatibility with Red Hat Enterprise Linux while offering complete open-source accessibility. This distribution targets organizations requiring stable, long-term support solutions for production environments. The platform excels in server deployments, development environments, and enterprise workstations where reliability takes precedence over cutting-edge features.

The DNF package manager provides efficient software management capabilities, while the robust security framework ensures enterprise-grade protection. AlmaLinux 10’s commitment to upstream compatibility means applications designed for RHEL environments run seamlessly without modification. This compatibility extends to containerized deployments, making it ideal for modern infrastructure requirements.

Prerequisites and System Requirements

Hardware Requirements

Running Feishin on AlmaLinux 10 requires adequate system resources to ensure smooth operation. The minimum hardware specifications include 4GB of RAM and a dual-core processor, though these represent bare minimum requirements. For optimal performance, especially when handling large music libraries or multiple concurrent streams, 8GB of RAM with a quad-core processor provides better user experience.

Storage requirements vary significantly based on usage patterns. The Feishin application itself requires approximately 1GB of disk space, but this doesn’t account for music library storage. Network connectivity plays a crucial role, particularly for streaming from remote servers or accessing cloud-based music collections. Stable internet connectivity ensures uninterrupted streaming and proper server synchronization.

Software Prerequisites

Before installing Feishin, ensure your AlmaLinux 10 system is fully updated. Administrative privileges through sudo access are essential for installing system packages and modifying configuration files. Active internet connectivity facilitates downloading required packages and accessing streaming services.

A compatible music server setup enhances Feishin’s functionality significantly. Popular options include Navidrome for lightweight deployments or Jellyfin for comprehensive media management. These servers handle music organization, metadata management, and transcoding operations that complement Feishin’s client-side capabilities.

Essential Dependencies

Several core dependencies must be installed before Feishin deployment. MPV media player serves as the primary audio backend and requires proper installation and configuration. The libappindicator-gtk3 package enables system tray integration, providing convenient access to playback controls.

FFmpeg installation is crucial for handling various audio and video formats that Feishin might encounter. FUSE support becomes necessary when using AppImage distributions, as it enables the containerized application execution model. These dependencies form the foundation for Feishin’s multimedia capabilities.

Pre-Installation System Preparation

System Updates

Comprehensive system updates ensure compatibility and security before Feishin installation. Execute the following commands to update your AlmaLinux 10 system:

sudo dnf update -y
sudo dnf upgrade -y

These commands refresh package repositories and install available security patches. Consider rebooting your system after major kernel updates to ensure all changes take effect properly. EPEL repository installation provides access to additional packages not included in base repositories:

sudo dnf install epel-release -y
sudo dnf config-manager --set-enabled crb

Dependency Installation

Install essential dependencies using DNF package manager. MPV installation provides the audio backend that Feishin requires for media playback:

sudo dnf install mpv -y

FFmpeg and multimedia libraries enable comprehensive audio format support:

sudo dnf install ffmpeg ffmpeg-devel -y
sudo dnf install libappindicator-gtk3 -y

Verify successful installation by checking MPV version and availability:

mpv --version
which mpv

The output should display version information and the binary path, typically /usr/bin/mpv.

Method 1: AppImage Installation (Primary Method)

Downloading Feishin AppImage

The AppImage distribution method represents the most straightforward installation approach for Feishin on AlmaLinux 10. Navigate to the official GitHub releases page to access the latest stable version. Identify your system architecture (typically x86_64 for most AlmaLinux 10 installations) before downloading.

Download the AppImage using wget command-line tool:

cd ~/Downloads
wget https://github.com/jeffvli/feishin/releases/download/v0.20.0/Feishin-linux-x86_64.AppImage

Replace the version number with the latest available release from the GitHub repository. The download size typically ranges between 100-150MB depending on the included dependencies and features.

AppImage Setup and Execution

Make the downloaded AppImage executable using chmod command:

chmod +x Feishin-*.AppImage

Launch Feishin for the first time to initialize configuration:

./Feishin-*.AppImage

During initial startup, configure the MPV backend path to /usr/bin/mpv in the application settings. This ensures proper audio playback functionality. If execution fails, verify FUSE support is available:

sudo dnf install fuse fuse-libs -y

Desktop Integration

Create a desktop entry for seamless system integration. Generate a desktop file in the applications directory:

sudo nano /usr/share/applications/feishin.desktop

Add the following content:

[Desktop Entry]
Name=Feishin
Comment=Modern self-hosted music player
Exec=/home/username/Downloads/Feishin-0.8.0-linux-x86_64.AppImage
Icon=feishin
Terminal=false
Type=Application
Categories=AudioVideo;Audio;Player;

Extract the application icon from the AppImage for proper desktop integration:

./Feishin-*.AppImage --appimage-extract-and-run

Create a symbolic link for command-line access:

sudo ln -s /home/username/Downloads/Feishin-*.AppImage /usr/local/bin/feishin

Method 2: Web-Based Installation

Web Client Access

Feishin offers a web-based client accessible through modern browsers. Access the official web application at feishin.vercel.app using any contemporary browser installed on AlmaLinux 10. This method requires no local installation but depends on consistent internet connectivity.

Browser compatibility extends to Firefox, Chromium, and other WebKit-based browsers commonly available on AlmaLinux 10. The web interface provides most desktop client features while eliminating local resource consumption for the application itself.

Web Client Limitations and Considerations

Web-based deployment introduces certain limitations compared to desktop installation. Resource usage differs significantly as the browser handles rendering and JavaScript execution. Network dependency means offline music access becomes impossible, limiting usability in environments with unreliable connectivity.

System integration features such as media key support and system tray notifications are unavailable in web deployment. Security considerations include ensuring HTTPS connections when accessing the web client, particularly when connecting to remote music servers.

Method 3: Docker Installation (Alternative Method)

Docker Setup on AlmaLinux 10

Docker installation provides containerized deployment options for Feishin. Install Docker using DNF package manager:

sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo dnf install docker-ce docker-ce-cli containerd.io -y

Start and enable Docker service:

sudo systemctl start docker
sudo systemctl enable docker

Add your user to the docker group for non-root access:

sudo usermod -aG docker $USER
newgrp docker

Feishin Docker Deployment

Deploy Feishin using Docker containers with proper port mapping and volume management. Create a Docker Compose configuration for persistent deployment:

version: '3.8'
services:
  feishin:
    image: feishin/feishin:latest
    ports:
      - "3000:3000"
    volumes:
      - feishin_data:/app/data
    environment:
      - NODE_ENV=production
    restart: unless-stopped
volumes:
  feishin_data:

Launch the container stack:

docker-compose up -d

Configure reverse proxy integration if deploying behind nginx or Apache for external access.

Initial Configuration and Setup

First Launch Configuration

Initial Feishin configuration requires careful attention to audio backend settings. Navigate to the Settings panel and locate the Audio section. Configure the MPV backend path to /usr/bin/mpv to ensure proper audio system integration.

Audio output device selection depends on your AlmaLinux 10 audio configuration. Test different output devices if you encounter audio issues:

# List available audio devices
aplay -l
# Test audio output
speaker-test -t wav -c 2

Adjust buffer sizes and quality settings based on your network conditions and hardware capabilities. Lower buffer sizes reduce latency but may cause stuttering on slower systems.

Music Server Integration

Jellyfin server integration requires server URL, username, and password configuration. Navigate to the Server Settings and enter your Jellyfin server details:

  • Server URL: http://your-jellyfin-server:8096
  • Username: Your Jellyfin account
  • Password: Account password or API token

Navidrome compatibility follows similar configuration patterns. For SSL-enabled servers, ensure certificate validation settings match your security requirements. Test the connection using the built-in connectivity verification before proceeding with library synchronization.

Install Feishin on AlmaLinux 10

Performance Optimization

System-Level Optimizations

Audio buffer configuration significantly impacts playback quality and resource usage. Modify MPV configuration by creating ~/.config/mpv/mpv.conf:

audio-buffer=1.0
audio-exclusive=no
volume-max=150
audio-pitch-correction=yes

System resource monitoring helps identify performance bottlenecks:

# Monitor system resources
htop
# Check audio system status
pulseaudio --check
# Monitor network usage
nethogs

Configure network timeout settings for streaming optimization:

network-timeout=60
cache=yes
demuxer-max-bytes=50MiB

Application-Specific Tuning

MPV configuration customization enables fine-tuned audio performance. Advanced users can implement hardware acceleration where supported:

hwdec=vaapi
vo=gpu
profile=gpu-hq

Quality settings and transcoding options balance audio quality with bandwidth usage. Configure automatic quality adjustment based on connection speed:

ytdl-format=bestaudio/best
audio-file-auto=fuzzy

Memory usage reduction becomes important on resource-constrained systems:

cache-secs=30
demuxer-cache-wait=yes
cache-pause-below=50

Troubleshooting Common Issues

Installation Problems

AppImage execution failures often stem from missing FUSE support or incorrect permissions. Verify FUSE installation and mount capabilities:

# Check FUSE availability
lsmod | grep fuse
# Test FUSE functionality
fusermount --version

Dependency resolution errors require careful examination of package requirements:

# Check package dependencies
dnf deplist mpv
# Resolve broken dependencies
sudo dnf autoremove
sudo dnf clean all
sudo dnf update

Permission-related problems typically involve file system access or user group membership:

# Check file permissions
ls -la Feishin-*.AppImage
# Verify user groups
groups $USER

Playback and Connectivity Issues

MPV backend configuration problems manifest as audio playback failures or distorted sound. Verify MPV installation and test direct playback:

# Test MPV directly
mpv /usr/share/sounds/alsa/Front_Left.wav
# Check audio system
systemctl --user status pulseaudio

Audio stuttering and buffer underruns indicate insufficient system resources or network issues:

# Monitor audio dropouts
journalctl --user -u pulseaudio -f
# Check system load
iostat 1

Server connection failures require network connectivity verification:

# Test server connectivity
curl -I http://your-music-server:port
# Check DNS resolution
nslookup your-music-server

Performance and Stability Issues

Memory leaks and resource consumption problems require process monitoring:

# Monitor Feishin resource usage
ps aux | grep -i feishin
# Check memory usage patterns
cat /proc/meminfo

Application crashes warrant log file examination:

# Check application logs
journalctl --user | grep -i feishin
# Monitor system logs
tail -f /var/log/messages

Library scanning failures often result from database corruption or permission issues:

# Clear application cache
rm -rf ~/.config/feishin/cache
# Reset database
rm ~/.config/feishin/database.db

Security Considerations

System Security

Firewall configuration protects against unauthorized access while allowing legitimate Feishin traffic. Configure firewalld for Feishin-related ports:

# Allow Feishin web interface
sudo firewall-cmd --add-port=3000/tcp --permanent
# Allow music server access
sudo firewall-cmd --add-port=8096/tcp --permanent
sudo firewall-cmd --reload

SELinux policies may require adjustment for proper Feishin operation:

# Check SELinux status
sestatus
# Temporarily set permissive mode for testing
sudo setenforce 0

User privilege management follows the principle of least privilege:

# Create dedicated user for Feishin
sudo useradd -m -s /bin/bash feishin-user
sudo usermod -aG audio feishin-user

Application Security

Secure server authentication protects against unauthorized access to music libraries. Use strong passwords and consider API tokens for server connections. SSL/TLS configuration encrypts data transmission between Feishin and music servers:

# Enable SSL verification
ssl-verify=yes
tls-ca-file=/etc/ssl/certs/ca-bundle.crt

Local data protection involves securing configuration files and cached content:

# Set appropriate permissions
chmod 600 ~/.config/feishin/config.json
chmod 700 ~/.config/feishin/

Advanced Configuration Options

Advanced MPV Settings

Custom MPV configuration enables sophisticated audio processing. Create comprehensive configuration in ~/.config/mpv/mpv.conf:

# Audio driver selection
ao=pulse,alsa,
# Quality settings
audio-resample-filter-size=16
audio-resample-cutoff=0.96
# Advanced filtering
af=lavfi=[loudnorm=I=-16:TP=-1.5:LRA=7]

Hardware acceleration configuration improves performance on supported systems:

# Enable hardware decoding
hwdec=auto-safe
# GPU acceleration
gpu-api=vulkan
vulkan-async-compute=yes

Multi-channel audio setup supports surround sound configurations:

# 5.1 surround configuration
audio-channels=5.1
audio-samplerate=48000
audio-format=s32

Integration with System Services

Systemd service creation enables automatic Feishin startup:

sudo nano /etc/systemd/system/feishin.service

Add service configuration:

[Unit]
Description=Feishin Music Player
After=network.target

[Service]
Type=simple
User=feishin-user
ExecStart=/usr/local/bin/feishin
Restart=always

[Install]
WantedBy=multi-user.target

Desktop environment integration enhances user experience:

# Install desktop integration packages
sudo dnf install desktop-file-utils -y
# Update desktop database
sudo update-desktop-database

Media key support enables global keyboard shortcuts:

# Enable media key handling
input-media-keys=yes
input-default-bindings=yes

Maintenance and Updates

Application Updates

Monitoring for new Feishin releases ensures access to latest features and security fixes. Subscribe to GitHub release notifications or check periodically:

# Check current version
./Feishin-*.AppImage --version
# Download latest release
curl -s https://api.github.com/repos/jeffvli/feishin/releases/latest

Update procedures for AppImage installations involve downloading new versions and replacing existing files:

# Backup current configuration
cp -r ~/.config/feishin ~/.config/feishin.backup
# Download new version
wget <new-release-url>
# Replace old AppImage
mv Feishin-new-version.AppImage Feishin-current.AppImage

Rollback strategies protect against problematic updates:

# Keep previous version as backup
mv Feishin-old.AppImage Feishin-backup.AppImage
# Restore configuration if needed
cp -r ~/.config/feishin.backup ~/.config/feishin

System Maintenance

Regular AlmaLinux system updates maintain security and compatibility:

# Weekly update routine
sudo dnf update -y
sudo dnf autoremove -y
sudo dnf clean all

Log file management prevents disk space exhaustion:

# Rotate Feishin logs
sudo logrotate -f /etc/logrotate.conf
# Clean old journal entries
sudo journalctl --vacuum-time=7d

Performance monitoring identifies emerging issues:

# Monitor resource usage trends
sar -u 1 10
# Check disk space
df -h
# Monitor network usage
vnstat -i eth0

Database maintenance ensures optimal performance:

# Vacuum music database
sqlite3 ~/.config/feishin/database.db "VACUUM;"
# Rebuild search indexes
sqlite3 ~/.config/feishin/database.db "REINDEX;"

Congratulations! You have successfully installed Feishin. Thanks for using this tutorial for installing the Feishin modern self-hosted music player on AlmaLinux OS 10 system. For additional help or useful information, we recommend you check the official Feishin website.

VPS Manage Service Offer
If you don’t have time to do all of this stuff, or if this is not your area of expertise, we offer a service to do “VPS Manage Service Offer”, starting from $10 (Paypal payment). Please contact us to get the best deal!

r00t

r00t is an experienced Linux enthusiast and technical writer with a passion for open-source software. With years of hands-on experience in various Linux distributions, r00t has developed a deep understanding of the Linux ecosystem and its powerful tools. He holds certifications in SCE and has contributed to several open-source projects. r00t is dedicated to sharing her knowledge and expertise through well-researched and informative articles, helping others navigate the world of Linux with confidence.
Back to top button