Skip to content

One-click deployment platforms

Deploy Silex with a single click on managed hosting platforms.

Overview

CapRover provides a simplified deployment interface, handling SSL, updates, and backups through a web dashboard. Support for more platforms is on the roadmap.

CapRover

CapRover is a developer-friendly platform for self-hosting Docker apps on your own server.

Prerequisites

Install from CapRover One-Click Apps

Silex is available as a one-click app in the official CapRover One Click Apps Repository.

  1. Open your CapRover dashboard at https://captain.your-domain.com
  2. Go to AppsCreate an appOne-Click Apps
  3. Search for silex — select silex-platform
  4. Choose a version tag (see Docker Hub tags for available versions)
  5. Fill in the configuration fields (see below)
  6. Click Deploy

The CapRover One Click Apps panel showing silex-platform

That's it — CapRover pulls the Docker image, configures the app, and sets up SSL automatically.

CapRover configuration fields

The one-click app form asks for:

Field Values Description
STORAGE_CONNECTOR gitlab, ftp, gitlab2 (comma-separated, no spaces) Where users store their websites
HOSTING_CONNECTOR gitlab, ftp, gitlab2, download (comma-separated, no spaces) Where websites get published
GITLAB_CLIENT_ID Your OAuth app ID For the primary GitLab instance (see GitLab OAuth docs)
GITLAB_CLIENT_SECRET Your OAuth app secret For the primary GitLab instance
GITLAB2_DOMAIN e.g. https://framagit.org Domain of a second GitLab instance (optional)
GITLAB2_CLIENT_ID Your OAuth app ID For the second GitLab instance (optional)
GITLAB2_CLIENT_SECRET Your OAuth app secret For the second GitLab instance (optional)

You can connect up to two GitLab instances — for example, gitlab.com as primary and a self-hosted GitLab or Framagit as secondary.

After deployment

In the CapRover dashboard you can:

  • View logs
  • Edit environment variables
  • Set up SSL (CapRover handles Let's Encrypt automatically)
  • Configure persistent volumes for storage

Full self-hosted stack on CapRover

You can host everything on CapRover — all available as one-click apps:

  • Silex for visual website design
  • GitLab for storage and publishing
  • WordPress (or another CMS) as a data source for dynamic content

This gives you a fully self-hosted web publishing stack on your own server. Connect them by setting the environment variables above — just point GITLAB_CLIENT_ID and GITLAB_CLIENT_SECRET to your self-hosted GitLab instance, and configure WordPress as a CMS data source.

See Storage connectors for details on OAuth setup.

YunoHost (coming soon)

YunoHost is a distribution that simplifies server management. YunoHost support for Silex is planned but not yet available — vote for it on the roadmap.

Other platforms

Support for additional one-click deploy platforms (Dokku, Coolify, Sandstorm, etc.) is being discussed on the roadmap. Vote and comment to help prioritize.

Environment variables reference

All platforms require these variables:

Variable Example Purpose
SILEX_SESSION_SECRET (random 32+ chars) Session encryption key; generate a new one for each deployment
SILEX_URL https://silex.example.com Public URL users visit
SILEX_PORT 6805 Internal port
STORAGE_CONNECTOR gitlab Storage backend: gitlab, ftp, gitlab2 (comma-separated, no spaces)
HOSTING_CONNECTOR gitlab,download Publishing backend: gitlab, ftp, gitlab2, download (comma-separated, no spaces)

Generating SILEX_SESSION_SECRET

Use a strong random key:

openssl rand -base64 32

GitLab integration example

To enable GitLab storage and publishing:

STORAGE_CONNECTOR=gitlab
HOSTING_CONNECTOR=gitlab,download
GITLAB_CLIENT_ID=your-oauth-app-id
GITLAB_CLIENT_SECRET=your-oauth-app-secret

See Storage connectors for OAuth setup.

Data persistence

Both platforms support persistent volumes for: - /silex/storage — Website data and assets - /silex/hosting — Published sites

Data persists across app restarts and updates. Back up regularly through the platform's dashboard.

SSL/HTTPS

Both platforms automatically provision and renew SSL certificates via Let's Encrypt. Your Silex instance is secure out of the box.

Set SILEX_URL to your HTTPS domain:

SILEX_URL=https://silex.example.com

Troubleshooting

App fails to start

Check logs in the CapRover dashboard: App detail page → Logs.

Common issues: - SILEX_SESSION_SECRET missing or too short - Port already in use (choose a different port) - Storage volume permissions (platform usually handles this)

Can't upload large files

Increase Express limits in environment variables:

SILEX_EXPRESS_JSON_LIMIT=50mb
SILEX_EXPRESS_TEXT_LIMIT=50mb

SSL certificate issues

All platforms auto-renew certificates. If renewal fails: - Ensure your domain's DNS points to the server - Check platform logs for DNS validation errors - Manual renewal varies by platform; see platform docs

See also

Edit this page on GitLab