Arcentry Enterprise - Requirements
Each Enterprise instance performs the following functions:
- Serving the app: Arcentry Enterprise runs an HTTP server for static assets such as JS and CSS files, images, icons etc. Static assets are served under the /app path.
- Internal API: HTTP endpoints for Arcentry's internal calls for document creation, changes etc. These endpoints reside under /api/
- External API: HTTP endpoints for external API interactions. These reside under /api/v1
- Websocket Server: Arcentry runs a WebSocket server for realtime updates to documents. This server runs on top of the existing HTTP server, so no additional ports are necessary.
You can enable and disable each of these in the `arcentry-conf.yml` file shipped with each instance.
The server-side rendering of Arcentry diagrams used by the api/v1/image/from-document/ and /api/v1/image/create-from-diagram endpoints is provided by a separate process, the arc-image-server. You can find more about it here.
Arcentry Enterprise is usually run in production on Linux Servers. It supports Ubuntu, Alpine, Red Hat, OpenSUSE, Fedora Server, CentOS, Debian and a number of smaller distributions. Mac and Windows executables are available for development and production as well.
For production, we recommend a dedicated dual-core machine per process, with at least 1.6 Ghz/Core and 4GB of RAM, e.g. AWS t2.medium, Azure Standard_B2s, or Google Cloud n2-standard-2.
Arcentry requires a Postgres Database > v9.0.0. The database is used for both long term storage as well as inter-process communication. This makes it easy to scale Arcentry Enterprise instances by simply connecting them to the same database.
We recommend fronting your Arcentry Enterprise instances with a load balancer such as NginX or Apache for local deployments or AWS ELB or Azure Load Balancer for Cloud deployments. This load balancer can handle SSL termination, traffic distribution, and health checks for the underlying instances.