The high-level architecture of deco integrates different roles (User, Business
User, Developer), a website web server, a content delivery network (CDN),
administrative functionalities, and external systems (databases, e-commerce,
SaaS). The focus is on content management and development/configuration
environments, with interaction between various stakeholders and components.
The Site is hosted locally or on the organization’s infrastructure,
outside deco.cx’s direct control.
Internal Systems (databases and custom software) integrate directly
with the self-hosted site.
Tunnel to Access the Site:
deco.cx users and systems access the self-hosted site via a tunnel or
public access, under the organization’s control.
CI/CD and Git Manage the Site:
Even with self-hosting, CI/CD is still required to publish code and
content changes to the site, now under the organization’s responsibility.
Continuity of deco.cx Infrastructure:
The Web Env and Admin remain within deco.cx infrastructure. If
necessary, the organization must configure access from the web environment
to internal systems via a tunnel (or public access).
Cache Async Render: By default, the CDN caches the sections rendered on
the /deco/render route (HTMX and partials). Without this cache, the system may
be overloaded with unnecessary requests. It might be beneficial for the
solution to cache these elements.
Loader Cache: Calls to loaders receive local cache on the web server. This
cache typically occupies 1GB and can fill the disk of the image if it has not
been mounted with a sufficiently large ephemeral storage. This and other
options can be configured via environment variables and are defined in the
deco runtime code.
Changes in Architecture with Self-hosted Site and Environments (Envs)
With this change, both the Site and Web Environments are self-hosted.
This gives the organization full control over development, production, and
integration with internal systems.
Both the Site and Web Env are hosted on the organization’s own
infrastructure.
Tunnel to Access the Web Environment:
Interaction with the self-hosted web environment occurs via a tunnel,
maintaining connectivity with deco.cx. deco.cx intervention is needed if
the tunnel is not publicly accessible.
CI/CD and Git:
CI/CD manages changes locally, with automatic deployment to the
self-hosted site, but under the organization’s responsibility.
Continuity of deco.cx Infrastructure:
The Admin remains connected to deco.cx, but relies on the tunnel to
interact with the self-hosted environment.
With self-hosted site and environments, the organization gains more control and
flexibility but takes on greater responsibility for security, maintenance, and
system connectivity.