-
Notifications
You must be signed in to change notification settings - Fork 592
Silex for hosting providers
This page is a work in progress. For now the more up to date info is in the readme here: https://github.com/lexoyo/silex-for-hosting-company
Please start with the page "How to Host An Instance of Silex".
This documentation is dedicated to developers who want to provide a website builder to their users, white labeled or not. It is also about how to provide the users with a hosting, i.e. do not use Dropbox or FTP or Github, etc. but your hosting instead.
This is a work in progress and will make it possible to use Silex as any other website builder (Wix or squarespace...), so that your users do not need an FTP account or a Github account.
Links
- issue #803: add custom unifile services
- issue #691: Publish to a hosting directly
- milestone #4: Silex for hosting companies
- PR #11: hosting providers
- PR #802: add custom unifile services
- Example of a custom Silex integration
As @godzone talked about it, hosting companies need to have their users save their websites to their purchased space at the hosting company.
The idea we have is to offer hosting to your Silex users and not offer the other ways to store data such as Github or dropbox. For that you can create a Unifile service which wraps a Unifile service and changes the authentication and the read/write operations to use your infrastructure.
We have considered wrapping the fs service to write to a mounted drive on the silex server, and @JbIPS is working on a secured service which writes with the user access rigths. SFTP seems the easier to integrate Silex without security issue - the host, port, encryption would be hard coded in this wrapper and the user would need to know their credentials of their ftp account.
For light cusomization such as activate/deactivate Unifile service, you can use the env vars.
For more advanced customization such as adding custom hosting provider, the best way to go is to have a separate repository, with Silex as a npm dependency. This is described here:
package.json
...
"dependencies": {
"silex": "github:silexlabs/Silex#master",
"myunifileconnector": "github:you/yourunifileconnector#master"
}
...
index.js file:
const SilexServer = require('./silex');
const config = require('silex/EnvVarsConfig');
const silex = new SilexServer(config);
// add unifile connectors
silex.ceRouter.addService(...)
// add custom routes
silex.app.get(...)
This is the documentation for Silex website builder. It is a collaborative effort, click edit and start contributing. Also have a look at these discussions.
WARNING: Support for Silex v2 has stopped. Try Silex v3 alpha, Read about it, Subscribe to the newsletter