feat: Add complete Docker deployment with web-based setup wizard
Major additions: - Web-based setup wizard (setup.php, setup_wizard.php, setup-wizard.js) - Production Docker configuration (docker-compose.prod.yml, .env.production) - Database initialization SQL files (deploy/init_settings.sql) - Template builder system with drag-and-drop UI - Advanced features (OAuth, CDN, enhanced analytics, monetization) - Comprehensive documentation (deployment guides, quick start, feature docs) - Design system with accessibility and responsive layout - Deployment automation scripts (deploy.ps1, generate-secrets.ps1) Setup wizard allows customization of: - Platform name and branding - Domain configuration - Membership tiers and pricing - Admin credentials - Feature toggles Database includes 270+ tables for complete video streaming platform with advanced features for analytics, moderation, template building, and monetization. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
133
manifest.json
133
manifest.json
@@ -1,48 +1,133 @@
|
||||
{
|
||||
"name": "EasyStream",
|
||||
"short_name": "EasyStream",
|
||||
"description": "Cloud-powered video streaming platform with smiling cloud technology",
|
||||
"start_url": "\/",
|
||||
"background_color": "#4A90E2",
|
||||
"description": "Cloud-powered video streaming platform with smiling cloud technology - watch videos, shorts, live streams, and more",
|
||||
"start_url": "/",
|
||||
"background_color": "#121212",
|
||||
"display": "standalone",
|
||||
"scope": "\/",
|
||||
"theme_color": "#4A90E2",
|
||||
"scope": "/",
|
||||
"theme_color": "#06a2cb",
|
||||
"orientation": "any",
|
||||
"dir": "ltr",
|
||||
"lang": "en",
|
||||
"categories": ["entertainment", "video", "social"],
|
||||
"display_override": ["window-controls-overlay", "standalone", "minimal-ui"],
|
||||
"icons": [
|
||||
{
|
||||
"src": "\/android-icon-36x36.svg",
|
||||
"src": "/android-icon-36x36.svg",
|
||||
"sizes": "36x36",
|
||||
"type": "image\/svg+xml",
|
||||
"density": "0.75"
|
||||
"type": "image/svg+xml",
|
||||
"density": "0.75",
|
||||
"purpose": "any"
|
||||
},
|
||||
{
|
||||
"src": "\/android-icon-48x48.svg",
|
||||
"src": "/android-icon-48x48.svg",
|
||||
"sizes": "48x48",
|
||||
"type": "image\/svg+xml",
|
||||
"density": "1.0"
|
||||
"type": "image/svg+xml",
|
||||
"density": "1.0",
|
||||
"purpose": "any"
|
||||
},
|
||||
{
|
||||
"src": "\/android-icon-72x72.svg",
|
||||
"src": "/android-icon-72x72.svg",
|
||||
"sizes": "72x72",
|
||||
"type": "image\/svg+xml",
|
||||
"density": "1.5"
|
||||
"type": "image/svg+xml",
|
||||
"density": "1.5",
|
||||
"purpose": "any"
|
||||
},
|
||||
{
|
||||
"src": "\/android-icon-96x96.svg",
|
||||
"src": "/android-icon-96x96.svg",
|
||||
"sizes": "96x96",
|
||||
"type": "image\/svg+xml",
|
||||
"density": "2.0"
|
||||
"type": "image/svg+xml",
|
||||
"density": "2.0",
|
||||
"purpose": "any maskable"
|
||||
},
|
||||
{
|
||||
"src": "\/android-icon-144x144.svg",
|
||||
"src": "/android-icon-144x144.svg",
|
||||
"sizes": "144x144",
|
||||
"type": "image\/svg+xml",
|
||||
"density": "3.0"
|
||||
"type": "image/svg+xml",
|
||||
"density": "3.0",
|
||||
"purpose": "any maskable"
|
||||
},
|
||||
{
|
||||
"src": "\/android-icon-192x192.svg",
|
||||
"src": "/android-icon-192x192.svg",
|
||||
"sizes": "192x192",
|
||||
"type": "image\/svg+xml",
|
||||
"density": "4.0"
|
||||
"type": "image/svg+xml",
|
||||
"density": "4.0",
|
||||
"purpose": "any maskable"
|
||||
}
|
||||
]
|
||||
],
|
||||
"screenshots": [
|
||||
{
|
||||
"src": "/screenshots/home.png",
|
||||
"sizes": "1280x720",
|
||||
"type": "image/png",
|
||||
"platform": "wide",
|
||||
"label": "EasyStream home page with personalized recommendations"
|
||||
},
|
||||
{
|
||||
"src": "/screenshots/watch.png",
|
||||
"sizes": "1280x720",
|
||||
"type": "image/png",
|
||||
"platform": "wide",
|
||||
"label": "Video player with advanced playback controls"
|
||||
}
|
||||
],
|
||||
"shortcuts": [
|
||||
{
|
||||
"name": "Home",
|
||||
"short_name": "Home",
|
||||
"description": "Go to home page",
|
||||
"url": "/",
|
||||
"icons": [{ "src": "/android-icon-96x96.svg", "sizes": "96x96" }]
|
||||
},
|
||||
{
|
||||
"name": "Trending",
|
||||
"short_name": "Trending",
|
||||
"description": "View trending videos",
|
||||
"url": "/?section=trending",
|
||||
"icons": [{ "src": "/android-icon-96x96.svg", "sizes": "96x96" }]
|
||||
},
|
||||
{
|
||||
"name": "Subscriptions",
|
||||
"short_name": "Subs",
|
||||
"description": "View your subscriptions",
|
||||
"url": "/subscriptions",
|
||||
"icons": [{ "src": "/android-icon-96x96.svg", "sizes": "96x96" }]
|
||||
},
|
||||
{
|
||||
"name": "Upload",
|
||||
"short_name": "Upload",
|
||||
"description": "Upload new content",
|
||||
"url": "/upload",
|
||||
"icons": [{ "src": "/android-icon-96x96.svg", "sizes": "96x96" }]
|
||||
}
|
||||
],
|
||||
"share_target": {
|
||||
"action": "/share",
|
||||
"method": "POST",
|
||||
"enctype": "multipart/form-data",
|
||||
"params": {
|
||||
"title": "title",
|
||||
"text": "text",
|
||||
"url": "url",
|
||||
"files": [
|
||||
{
|
||||
"name": "video",
|
||||
"accept": ["video/*", "image/*", "audio/*"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"related_applications": [],
|
||||
"prefer_related_applications": false,
|
||||
"protocol_handlers": [
|
||||
{
|
||||
"protocol": "web+easystream",
|
||||
"url": "/watch?v=%s"
|
||||
}
|
||||
],
|
||||
"edge_side_panel": {
|
||||
"preferred_width": 400
|
||||
},
|
||||
"iarc_rating_id": ""
|
||||
}
|
||||
Reference in New Issue
Block a user