
Linux server management in your pocket
"Command your servers, not your schedule. Admin anywhere, anytime."
SysAdmin 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."
Warning
THIS APP IS IN BETA, SO YOU MAY ENCOUNTER BUGS. IF YOU DO, OPEN AN ISSUE IN OUR GITHUB REPOSITORY BY FILLING OUT THE ISSUE TEMPLATE.
PUTTING SYSADMIN, OR ANY FORK OF IT, INTO THE GOOGLE PLAY STORE VIOLATES THEIR TERMS AND CONDITIONS.
Traditional server management requires either physical access or an SSH session through a terminal, which can be inconvenient when you're on the move. SysAdmin 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
- 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
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
SysAdmin addresses these issues by providing a comprehensive mobile solution that puts powerful server management tools in your pocket.
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 point
Security is our top priority. SysAdmin 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
SysAdmin 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
- 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/prathameshkhade/SysAdmin.git cd SysAdmin
-
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!
We welcome contributions from everyone! Whether you're fixing bugs, improving documentation, or proposing new features, your help is appreciated.
Please read our Contribution Guidelines before submitting a pull request.
"In open source, we feel strongly that to really do something well, you have to get a lot of people involved." - Linus Torvalds
SysAdmin is Free Software: You can use, study, share, and improve it at will.
Specifically you can redistribute and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
Questions or feedback? Reach out at [email protected] or report an issue GitHub Issues