A Progressive Web App (PWA) for managing Slide backup operations from mobile devices. This application provides a mobile-optimized interface for monitoring agents, managing backups, performing restores, and viewing snapshots.
- Agent Management: View and monitor backup agents, check status, and initiate backups
- Snapshot Browser: Browse and explore backup snapshots
- Restore Operations: Perform file restores, image exports, and virtual machine restores
- Device Management: Monitor and manage backup devices
- Network Configuration: Configure networks, IPsec tunnels, port forwarding, and WireGuard peers
- Alert Monitoring: View and resolve system alerts
- VNC Access: Remote desktop viewing through integrated noVNC viewer
- Offline Support: PWA capabilities for offline functionality
- Dark Mode UI: Modern, mobile-optimized dark theme interface
Setup your API key using manual entry or QR code scanning.
View overview of agents, devices, active restores, and unresolved alerts at a glance.
Monitor all backup agents with status, last backup time, and boot verification.
Manage backup devices and monitor storage usage.
View and manage file restores, image exports, and virtual machine restores.
Monitor system alerts and resolve issues quickly.
Access additional features including accounts, users, clients, backups, networks, audit logs, and diagnostics.
Browse backup snapshots with thumbnails for visual verification.
- PHP 7.4 or higher
- Apache or Nginx web server
- OpenSSL PHP extension (for encryption)
- cURL PHP extension (for API calls)
- Valid Slide API key
git clone https://github.com/YOUR_USERNAME/slideMobile.git
cd slideMobileCopy the example configuration file and set your encryption key:
cp include/config.example.php include/config.phpEdit include/config.php and replace YOUR_SECURE_RANDOM_32_CHAR_KEY with a secure random 32-character string.
To generate a secure key, you can use:
php -r "echo bin2hex(random_bytes(16));"Ensure you have a .htaccess file or configure your virtual host to:
- Enable mod_rewrite (if using URL rewriting)
- Allow .htaccess overrides
- Set appropriate permissions
Example Apache configuration:
<VirtualHost *:80>
ServerName mobile.yourserver.com
DocumentRoot /path/to/slideMobile
<Directory /path/to/slideMobile>
AllowOverride All
Require all granted
</Directory>
</VirtualHost>Example Nginx configuration:
server {
listen 80;
server_name mobile.yourserver.com;
root /path/to/slideMobile;
index index.php;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}Ensure the web server has read access to all files:
chmod -R 755 .
chmod 600 include/config.phpNavigate to your configured URL (e.g., http://mobile.yourserver.com) and enter your Slide API key when prompted.
On first access, you will be prompted to enter your Slide API key. The key is encrypted using the ENCRYPTION_KEY from your config.php file and stored in a cookie.
You can manage your API key through:
- Key Management page (accessible via the key icon in the header)
- QR code scanning (for quick setup)
- Manual entry
The application can be installed as a Progressive Web App:
- Open the application in a mobile browser (Chrome, Safari, etc.)
- Look for the "Install" prompt or banner
- Tap "Install" to add the app to your home screen
- Encryption Key: Keep your
ENCRYPTION_KEYsecure and never commitinclude/config.phpto version control - API Key Storage: API keys are encrypted using AES-256-CBC before being stored in cookies
- HTTPS: Use HTTPS in production to protect data in transit
- File Permissions: Ensure
config.phphas restricted permissions (600 or 400)
mobile/
├── include/ # Shared includes and utilities
│ ├── config.php # Configuration (not in git)
│ ├── config.example.php # Configuration template
│ ├── encryption.php # Encryption utilities
│ ├── getApiKey.php # API key retrieval
│ ├── bottomNav.php # Bottom navigation component
│ └── pwa_head.php # PWA meta tags and headers
├── css/ # Stylesheets
├── js/ # JavaScript files
├── pwa/ # PWA assets (manifest, service worker, icons)
├── vendor/ # Third-party libraries (noVNC)
├── *.php # Application pages
└── mobileSlideApi.php # API proxy to Slide backend
The application communicates with the Slide API at https://api.slide.tech/v1/. All API calls are proxied through mobileSlideApi.php which handles authentication and request formatting.
- Bootstrap 5: UI framework
- Bootstrap Icons: Icon library
- noVNC: Remote desktop viewing
- Chrome/Edge (recommended for PWA features)
- Safari (iOS and macOS)
- Firefox
- Modern mobile browsers
To contribute or modify the application:
- Fork the repository
- Create a feature branch
- Make your changes
- Test on multiple devices and browsers
- Submit a pull request
This project is licensed under the MIT License.
For issues, questions, or feature requests, please open an issue on the GitHub repository.
- Built for Slide backup management platform
- Uses noVNC for remote desktop functionality
- Designed with mobile-first principles







