Hosting
Hosting Options
EventCatalog can be hosted in two ways:
Hosting a static website
By default EventCatalog will build a static website.
Here are some guides and places you can host static content
Community posts
- Using AWS CDK to Deploy EventCatalog
- Using Netlify to host Static Content
- How to create an EventCatlaog with Azure
- Autonomous EventCatalog for documenting EventBridge Events
Hosting static website with Docker
EventCatalog comes with a DockerFile you can build the image and deploy the container. The container exposes ports 3000
.
To build the docker container you need to run:
# Builds the container
docker build -t eventcatalog .
# Runs the container locally
docker run -p 3000:80 -it eventcatalog
Hosting as a server
eventcatalog@2.35.4
If you have configured a server
output in your eventcatalog.config.js
file, EventCatalog will build a server and use Node.js to run the server.
A server output is required if you are using any EventCatalog feature that requires a server, these include:
You can use the server Docker image to run the server, this is the recommended way to run the server.
First you need to create a Dockerfile for the server (if you don't already have one).
FROM node:lts AS runtime
WORKDIR /app
# Install dependencies
COPY package.json package-lock.json ./
RUN npm install
COPY . .
# Fix for Astro in Docker: https://github.com/withastro/astro/issues/2596
ENV NODE_OPTIONS=--max_old_space_size=2048
RUN npm run build
ENV HOST=0.0.0.0
ENV PORT=3000
EXPOSE 3000
# Start the server
CMD npm run start
Then you can build the docker image with:
docker build -f Dockerfile.server -t eventcatalog-server .
Then you can run the server with:
docker run -p 3000:3000 eventcatalog-server
Some features of EventCatalog require a server to run. At the moment the only feature that requires a server is the EventCatalog Chat (bring your own keys).
If you want to bring your own API keys and use EventCatalog Chat, you will need to run a server to make sure your keys are not exposed to the client.
To use EventCatalog Chat, you will need to configure your catalog and get a license key from EventCatalog Cloud.