LinuxServerManager
Command your servers, not your schedule. Admin anywhere, anytime.
Linux Server Manager ( LSM ) is an open-source mobile application that puts the power of Linux server administration in your pocket. Built with Flutter, it provides a sleek, intuitive GUI for managing your Linux servers on the go - no laptop required.
"When your server needs you, but your laptop is at home."
As a Linux system administrator, you may have faced these challenges:
- π» Always needing a laptop to connect to your servers
- β±οΈ Time wasted turning on devices, connecting, and executing repetitive commands
- π Repetitive tasks that could be simplified with a GUI
- π Energy consumption from keeping a laptop running for quick server checks
LSM addresses these issues by providing a comprehensive mobile solution that puts powerful server management tools in your pocket.
Traditional server management requires either physical access or an SSH session through a terminal, which can be inconvenient when you're on the move. LSM solves this by providing:
- Mobile-First GUI for Linux server management
- Multi-Server Support - manage all your servers from one app
- Secure Connections using SSH/SFTP with password or key-based authentication
- No Command Line Required (but available when you need it!)
- Environmentally Friendly - uses less energy than keeping a laptop running
"Because the command line should be a choice, not a necessity."
- Dashboard - View server status, system metrics, and connection details at a glance
- SSH Manager - Store and manage multiple server connections securely
- User Management - Create, Update, Deletes or see information about users
- System Information - Detailed hardware information about your connected server
- Real-time System Resource Monitoring - Track CPU, RAM, and swap usage with graphs
- SFTP File Explorer - Browse, upload, download, and manage files with ease
- Schedule Jobs - Create one-time and recurring tasks
- Environment Variables - Manage both local and global environment variables
- Terminal - Full terminal access when you need the command line
- User & Group Management
- Service & Log Management
- Package Management
- Firewall Configuration
- Container Management (Docker/Podman)
- Disk & Network Management
- VNC Support
LSM contributes to several UN Sustainable Development Goals:
- SDG 4 (Quality Education) - Making server management more accessible to beginners
- SDG 8 (Decent Work and Economic Growth) - Increasing productivity and supporting remote work
- SDG 9 (Industry, Innovation, and Infrastructure) - Promoting innovation with mobile-friendly server management
- SDG 11 (Sustainable Cities and Communities) - Supporting smart infrastructure with less energy usage
- SDG 17 (Partnerships for the Goals) - Encouraging open-source collaboration
Security is our top priority. LSM implements:
- Local Authentication - Biometric/pin protection using your device's screen lock
- Encrypted Communications - All server communications use SSH/SFTP encryption
- Secure Credential Storage - Connection details are stored in your device's secure storage
- No Server-side Components - Your credentials never leave your device
- Flutter SDK (latest stable version)
- Android Studio or VS Code with Flutter extensions
- A test Linux server with SSH access
-
Clone the repository:
git clone https://github.com/xamarth/LinuxServerManager.git lsm cd lsm -
Install dependencies:
flutter pub get
-
Run the app:
flutter run
- Launch the app
- Navigate to SSH Manager and add your first server connection
- Set your preferred connection as default
- Explore the dashboard and features!
lib/
β
βββ core/ # Core system-wide constants, utilities, and base classes
β βββ constants/ # App-wide constants (colors, dimensions, strings, etc.)
β βββ utils/ # Utility/helper functions (e.g., validators, formatters)
β βββ theme/ # Theme and styling information
β βββ widgets/ # Shared reusable widgets across the app
β
βββ data/ # Data layer for managing data sources
β βββ models/ # Data models representing application entities (User, SSH Connection, etc.)
β βββ repositories/ # Abstraction of data sources (local, remote API, etc.)
β βββ services/ # Logic for handling services like network, authentication, etc.
β
βββ domain/ # Domain layer for business logic
β βββ entities/ # Core business entities
β βββ usecases/ # Application-specific business logic
β βββ interfaces/ # Interfaces for repositories or services
β
βββ presentation/ # UI layer - Screens, Widgets, and State management
β βββ screens/ # All major screens and pages (onboarding, dashboard, settings, etc.)
β β βββ onboarding/ # Screens related to onboarding
β β βββ dashboard/ # Main admin dashboard
β β βββ user_management/ # User and Group management screens
β β βββ ssh_management/ # SSH connections management screens
β β βββ sftp/ # File transfer (SFTP) management screens
β β βββ ... # More feature screens (logs, services, cron jobs, etc.)
β βββ widgets/ # Reusable widgets (buttons, cards, dialogs) specific to the presentation layer
β
βββ providers/ # State management (e.g., Riverpod, Provider, etc.)
β βββ ssh_state.dart # Global application state (loading, session, etc.)
β
βββ routes/ # Application navigation and routing
β βββ app_routes.dart # App's route definitions and navigators
β
βββ config/ # Environment-based configurations
β βββ env/ # Separate config files for dev, staging, production
β βββ app_config.dart # Main configuration file
β
βββ main.dart # App entry pointQuestions or feedback? Reach out at xamarth@gmail.com or report an issue GitHub Issues
















