Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release/2.0.0 #175

Merged
merged 13 commits into from
Dec 4, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 2 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ static/kener
build
config/monitors.yaml
config/site.yaml
config/server.yaml
/.svelte-kit
/src/lib/.kener
/package
Expand All @@ -19,6 +20,4 @@ config/static/*
db/*
!db/.kener
database/*
!database/.kener
src/lib/server/config/monitors.yaml
src/lib/server/config/site.yaml
!database/.kener
28 changes: 18 additions & 10 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,12 +1,19 @@
FROM lsiobase/alpine:3.18 as base

ENV TZ=Etc/GMT
ENV TZ=Etc/UTC

RUN \
echo "**** install build packages ****" && \
apk add --no-cache \
nodejs \
npm && \
npm \
python3 \
make \
gcc \
g++ \
sqlite \
sqlite-dev \
libc6-compat && \
echo "**** cleanup ****" && \
rm -rf \
/root/.cache \
Expand All @@ -15,12 +22,12 @@ RUN \
# set OS timezone specified by docker ENV
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone


# ARG data_dir=/config
# VOLUME $data_dir
# ENV CONFIG_DIR=$data_dir

COPY docker/root/ /



# build requires devDependencies which are not used by production deploy
# so build in a stage so we can copy results to clean "deploy" stage later
FROM base as build
Expand All @@ -29,7 +36,10 @@ WORKDIR /app

COPY --chown=abc:abc . /app

RUN npm install \
RUN \
npm install node-gyp -g && \
npm_config_build_from_source=true npm install better-sqlite3 && \
npm install \
&& chown -R root:root node_modules \
&& npm run build

Expand All @@ -47,15 +57,13 @@ COPY --chown=abc:abc build.js /app/build.js
COPY --chown=abc:abc sitemap.js /app/sitemap.js
COPY --chown=abc:abc openapi.json /app/openapi.json
COPY --chown=abc:abc src/lib/server /app/src/lib/server
COPY --chown=abc:abc src/lib/helpers.js /app/src/lib/helpers.js

COPY --from=build --chown=abc:abc /app/build /app/build
COPY --from=build --chown=abc:abc /app/main.js /app/main.js


ENV NODE_ENV=production

# install prod depdendencies and clean cache
# install prod dependencies and clean cache
RUN npm install --omit=dev \
&& npm cache clean --force \
&& chown -R abc:abc node_modules
Expand All @@ -67,4 +75,4 @@ EXPOSE $PORT
# leave entrypoint blank!
# uses LSIO s6-init entrypoint with scripts
# that populate CONFIG_DIR with static dir, monitor/site.yaml when dir is empty
# and chown's all files so they are owned by proper user based on PUID/GUID env
# and chown's all files so they are owned by proper user based on PUID/GUID env
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@
</picture>
</p>


#### [👉 Visit a live server](https://kener.ing)

#### [👉 Quick Start](https://kener.ing/docs/quick-start)
Expand All @@ -34,9 +33,9 @@

## What is Kener?

Kener: Open-source sveltekit status page tool, designed to make service monitoring and incident handling a breeze. It offers a sleek and user-friendly interface that simplifies tracking service outages and improves how we communicate during incidents. Kener integrates seamlessly with GitHub, making incident management a team effort—making.
Kener: Open-source sveltekit status page system, crafted with lot of thought so that it looks modern.

It uses files to store the data.
It does not aim to replace the Datadogs of the world. It simply tries to help someone come with a status page for the world.

Kener name is derived from the word "Kene" which means "how is it going" in Assamese, then .ing is added to make cooler.

Expand All @@ -54,6 +53,7 @@ Kener name is derived from the word "Kene" which means "how is it going" in Assa
- Supports a Default Status for Monitors. Example defaultStatus=DOWN if you don't hit API per minute with Status UP
- Supports base path for hosting in k8s
- Pre-built docker image for easy deployment
- Supports webhooks/discord/slack for notifications

### Customization and Branding

Expand Down
Loading