Deploy Silex | (Just Updated) No-Code Website Builder, Webflow Alternative, Login Pre-Set

Silex no-code website builder: self-hosted editor, login and API ready

Deploy Silex | (Just Updated) No-Code Website Builder, Webflow Alternative, Login Pre-Set

Just deployed

/data

Deploy and Host Silex on Railway

Built for an LLM agent to deploy and use. The deploy form has no field to fill: SILEX_ADMIN_PASSWORD and SILEX_SESSION_SECRET are generated for you. Silex, the open-source no-code website builder, comes up behind a login that already exists (upstream Silex has none), with a volume that keeps every site, asset and published page across redeploys, and a public HTTPS address. The contract below lists every address, variable name and one script that checks health, proves a write is refused without the password, then creates and lists a website over the API.

Silex here is the official silexlabs/silex image, version 3.7.0, pinned by digest, wrapped with Caddy HTTP basic auth. Silex is a visual website editor (a Webflow and Wix alternative) that exports clean static HTML and CSS, with a REST API for websites, assets and publication. Sites are stored as files, not in a database.

About Hosting Silex

Upstream Silex ships a file-system storage connector with no authentication at all: anyone who can reach the URL can open the editor and edit or delete every site. A bare deploy of the stock image on a public Railway domain would be exactly that. This template runs Caddy on Railway's injected PORT and keeps Silex on loopback behind it. Every route needs HTTP basic auth (user admin, password SILEX_ADMIN_PASSWORD) except /healthz, which Silex itself answers, so the healthcheck fails when Silex is down rather than when the proxy is.

Everything Silex writes lives on the volume mounted at /data: the website sources under /data/storage and the published output under /data/hosting. Redeploys keep them, and the credentials stay the same because the variables are generated once per deploy of the template, not per boot. The Caddy password hash is derived from SILEX_ADMIN_PASSWORD at every start.

Change the password by editing SILEX_ADMIN_PASSWORD in the service variables and redeploying.

Agent contract

  • Public URL: https://$RAILWAY_PUBLIC_DOMAIN (the silex service's generated domain)
  • Private URL: http://silex.railway.internal:8080
  • Credentials: username admin, password in the variable SILEX_ADMIN_PASSWORD
  • Auth: HTTP Basic (curl -u admin:$SILEX_ADMIN_PASSWORD) on every route except /healthz; the API is /api/website?connectorId=fs-storage (GET lists websites, PUT with {"name": "..."} creates one); the editor is at /
  • Health: GET /healthz returns 200 without authentication
# needs: RAILWAY_PUBLIC_DOMAIN of the silex service, and SILEX_ADMIN_PASSWORD from its variables
BASE="https://$RAILWAY_PUBLIC_DOMAIN"
curl -s -o /dev/null -w "health: %{http_code}\n" "$BASE/healthz"
curl -s -o /dev/null -w "read without key: %{http_code}\n" "$BASE/api/website?connectorId=fs-storage"
curl -s -o /dev/null -w "write without key: %{http_code}\n" -X PUT -H 'Content-Type: application/json' -d '{"name":"agent-site"}' "$BASE/api/website?connectorId=fs-storage"
curl -s -w "\nwrite with key: %{http_code}\n" -u "admin:$SILEX_ADMIN_PASSWORD" -X PUT -H 'Content-Type: application/json' -d '{"name":"agent-site"}' "$BASE/api/website?connectorId=fs-storage"
curl -s -u "admin:$SILEX_ADMIN_PASSWORD" "$BASE/api/website?connectorId=fs-storage" | jq -c '.[].name'

A fresh deploy prints health: 200, read without key: 401, write without key: 401, {"message":"Website meta saved"} with write with key: 200, then the website names including "agent-site" and "Default website". Open $BASE/ in a browser to use the visual editor; the browser asks for the same username and password.

Why Deploy Silex on Railway?

Railway is a singular platform to deploy your infrastructure stack. Railway will host your infrastructure so you don't have to deal with configuration, while allowing you to vertically and horizontally scale it.

By deploying Silex on Railway, you are one step closer to supporting a complete full-stack application with minimal burden. Host your servers, databases, AI agents, and more on Railway.

  • Agent-ready - generated admin password, a contract block and one working health, auth-refusal and API-write script.
  • Locked by default - the stock Silex editor and API are open to anyone; this deploy puts a login in front of all of it.
  • Persistent - a volume at /data holds websites, assets and published output; the image is pinned by digest.
  • Private-network reachable - the proxy binds IPv4 and IPv6, so other Railway services use silex.railway.internal:8080.
  • Health-checked - Railway restarts the service if /healthz stops answering.

Common Use Cases

  • Visual site builder for a team or client - design pages in the browser and export clean static HTML and CSS.
  • Website generation by an agent - create websites and write their content through the REST API.
  • Self-hosted Webflow or Wix alternative - keep the sites and the editor on your own infrastructure.
  • Landing pages and portfolios - publish static output from the same service that edits it.

Dependencies for Silex Hosting

  • Nothing else to run. Silex stores sites as files on the volume; no database or cache is needed.

Deployment Dependencies

Implementation Details

VariablePurpose
SILEX_ADMIN_PASSWORDGenerated at deploy. Password of the admin basic-auth login in front of Silex.
SILEX_SESSION_SECRETGenerated at deploy. Silex's session signing secret.

Caddy listens on Railway's PORT (8080); Silex listens on 127.0.0.1:6805 inside the container. Data directory: /data.


Template Content

More templates in this category

View Template
Libredesk - Complete Setup
Complete self-hosted omnichannel customer support desk.

codestorm
2
View Template
Paperless-ngx
Paperless-ngx — document management with OCR and full-text search

INAPP
1
View Template
Instatic CMS - Postgres
Design, build and manage powerful static sites from state-of-the-art CMS

Instatic
168