-
Notifications
You must be signed in to change notification settings - Fork 594
Silex for hosting providers
This page is a work in progress
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 create a service dedicated to each company, which wraps a unifile service and changes the read/write operation's root folder depending on the user. One thing to consider is that a user can have the right to write to several different accounts.
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 wrap without security issue, but the hosting company needs to provide to Silex the user's FTP accounts and credentials
the idea is to have a separate repository, with Silex as a npm dependency
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