This repo holds the code for the public Silex instance hosted for free by Silex Labs foundation and The v3 instance too.
This is also a good example on how to customize Silex. And it has a Dockerfile for easy deployment
This code adds features to the editor specific to our instance (in index.js
and index.pug
):
- Multi-site with the Dashboard plugin
- Automatic deployment to CapRover (see the captain-definition file and the file
.github/workflows/caprover.yml
) - Onboarding: Send an email with brevo the 1st time we see a user + use Silex notification system to guide users through the first steps
- Enable or disable cloud services and hosting providers with env vars
- Analytics: add a tag in Silex editor
docker run -p 8080:8080 silexlabs/silex-instances
Add environment variables to customize the instance - here is an example with FTP storage and FTP hosting:
docker run -p 8080:8080 -e STORAGE_CONNECTORS=ftp -e HOSTING_CONNECTORS=ftp,download silexlabs/silex-instances
More info:
npm install
npm start
Or for development:
npm install
npm run dev
You can set the following environment variables to customize the instance:
Name | Description | Type | Default value |
---|---|---|---|
STORAGE_CONNECTORS |
List of storage connectors to enable | ftp or gitlab or gitlab2 or fs |
ftp |
HOSTING_CONNECTORS |
List of hosting connectors to enable | ftp or gitlab or gitlab2 or fs or download |
ftp,download |
SILEX_FS_ROOT |
Root folder for the file system storage | string | current directory + /silex/storage/ |
SILEX_FS_HOSTING_ROOT |
Root folder for the file system hosting | string | current directory + /silex/hosting/ |
FTP_STORAGE_PATH |
Path to the FTP storage | string | `` |
FTP_HOSTING_PATH |
Path to the FTP hosting | string | `` |
GITLAB_DISPLAY_NAME |
Display name for the Gitlab storage | string | Gitlab |
GITLAB_DOMAIN |
Domain of the Gitlab server, e.g https://gitlab.com |
string | required with gitlab connector |
GITLAB_CLIENT_ID |
Client ID for the Gitlab OAuth | string | required with gitlab connector |
GITLAB_CLIENT_SECRET |
Client secret for the Gitlab OAuth | string | required with gitlab connector |
GITLAB2_DISPLAY_NAME |
Display name for the 2nd Gitlab storage | string | Gitlab2 |
GITLAB2_DOMAIN |
Domain of the 2nd Gitlab server, e.g https://gitlab.com |
string | required |
GITLAB2_CLIENT_ID |
Client ID for the 2nd Gitlab OAuth | string | required |
GITLAB2_CLIENT_SECRET |
Client secret for the 2nd Gitlab OAuth | string | required |
BREVO_API_KEY |
The API key for the Brevo service (onboarding, optional) | string | - |
BREVO_API_URL |
The API URL for the Brevo service (onboarding, optional) | string | - |
BREVO_LIST_ID |
The list ID for the Brevo service (onboarding, optional) | string | - |
Please use the main Silex repository for docs and issues