thetemplateblog / hosting
Hosting management addon for Statamic
Installs: 6
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
Language:Blade
Type:statamic-addon
Requires
- statamic/cms: ^4.0 || ^5.0
This package is auto-updated.
Last update: 2025-04-14 23:46:26 UTC
README
A comprehensive hosting infrastructure management addon for Statamic that helps you manage providers, servers, and sites with a clean, intuitive interface.
Features
Provider Management
- Secure API key storage with encryption
- Support for major cloud providers:
- DigitalOcean
- AWS
- Linode
- Vultr
- Easy provider configuration
- API key visibility toggling
Server Management
- Link servers to configured providers
- Environment tracking (Production/Staging/Development)
- Server status monitoring
- SSH credential management
- Server health indicators
Site Management
- Domain management
- Server assignment
- Site status tracking
- Environment indicators
- Quick access to site details
Screenshots
Provider Management
- Configure hosting providers
- Securely store API credentials
- View provider status
Server Management
- Manage server configurations
- Track server environments
- Monitor server status
Site Management
- Manage hosted sites
- Associate with servers
- Track domains and status
Installation
You can install this addon via composer:
composer require TheTemplateBlog/hosting
Requirements
- Statamic 4.x
- PHP 8.1 or higher
- Laravel 10.x
Quick Start
- Install the addon
- Configure your first provider
- Add your servers
- Start managing your sites
Detailed Setup
1. Provider Configuration
Navigate to CP → Hosting → Providers
and click "Add Provider":
- Select your provider type
- Enter your provider label
- Add your API credentials
- Save the provider configuration
2. Server Management
Once you have a provider configured, go to CP → Hosting → Servers
:
- Click "Add Server"
- Select your configured provider
- Enter server details:
- Name
- Username
- Environment
- Save the server configuration
3. Site Management
With servers configured, go to CP → Hosting → Sites
:
- Click "Add Site"
- Select the hosting server
- Enter site details:
- Name
- Domain
- Save the site configuration
Configuration
Publish the configuration file:
bash
php artisan vendor:publish --tag="hosting-config"
Provider Configuration (config/hosting.php
)
php
return [
'providers' => [
[
'label' => 'DigitalOcean',
'provider_type' => 'digitalocean',
'description' => 'DigitalOcean is a cloud infrastructure provider.'
],
[
'label' => 'AWS',
'provider_type' => 'aws',
'description' => 'Amazon Web Services (AWS) is a comprehensive cloud platform.'
],
[
'label' => 'Linode',
'provider_type' => 'linode',
'description' => 'Linode provides simple, affordable, and fast cloud infrastructure.'
],
[
'label' => 'Vultr',
'provider_type' => 'vultr',
'description' => 'Vultr delivers high-performance cloud compute environments.'
]
]
];
Data Storage
All data is stored securely in the user's YAML file:
- Provider configurations (with encrypted API keys)
- Server details
- Site information
Security
API Key Encryption
All API keys are encrypted using Laravel's encryption system before storage.
Access Control
The addon integrates with Statamic's permission system.
Data Protection
Sensitive data is stored in secure user YAML files.
Troubleshooting
Common Issues
-
Provider Not Showing
- Check provider configuration
- Verify API credentials
-
Server Connection Issues
- Verify SSH credentials
- Check server firewall settings
-
Site Management Issues
- Confirm server configuration
- Verify domain settings
Development
Local Development Setup
- Clone the repository:
bash
git clone https://github.com/TheTemplateBlog/hosting.git
- Install dependencies:
bash
composer install
- Link to your Statamic installation:
bash
php artisan package:discover
Testing
Run the test suite:
bash
composer test
Contributing
Please see CONTRIBUTING.md for details.
Security
If you discover any security-related issues, please email security@example.com instead of using the issue tracker.
Please see SECURITY.md for more details.
Credits
License
The MIT License (MIT). Please see License File for more information.
Support
Documentation
Full documentation is available at docs.example.com
Issues
Please report issues via the GitHub issue tracker
Community
Join our Discord community for support and discussion
Roadmap
- Provider API Integration
- Automated Server Provisioning
- Backup Management
- SSL Certificate Management
- Site Deployment Automation
- Server Monitoring
- Performance Analytics
- Multi-user Support