mirror of
https://github.com/rajnandan1/kener.git
synced 2026-06-23 04:10:22 +00:00
fixed docker file
This commit is contained in:
+2
-2
@@ -18,7 +18,7 @@ config/static/*
|
||||
!config/static/.kener
|
||||
db/*
|
||||
!db/.kener
|
||||
src/lib/server/data/*
|
||||
!src/lib/server/data/.kener
|
||||
database/*
|
||||
!database/.kener
|
||||
src/lib/server/config/monitors.yaml
|
||||
src/lib/server/config/site.yaml
|
||||
+41
-36
@@ -1,10 +1,29 @@
|
||||
# Stage 1: Base image
|
||||
FROM lsiobase/alpine:3.18 AS build
|
||||
# Stage 1: Build stage
|
||||
FROM node:18-alpine AS builder
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
# Copy package files first for better caching
|
||||
COPY package*.json ./
|
||||
|
||||
# Install dependencies
|
||||
RUN npm install
|
||||
|
||||
# Copy project files
|
||||
COPY . .
|
||||
|
||||
# Build the application
|
||||
RUN npm run build
|
||||
|
||||
# Stage 2: Run stage
|
||||
FROM lsiobase/alpine:3.18
|
||||
|
||||
# Set timezone and user
|
||||
ENV TZ=Etc/GMT
|
||||
ENV PUID=911
|
||||
ENV PGID=911
|
||||
ENV TZ=Etc/GMT \
|
||||
PUID=911 \
|
||||
PGID=911 \
|
||||
NODE_ENV=production \
|
||||
PORT=3000
|
||||
|
||||
# Install Node.js and npm
|
||||
RUN echo "**** install build packages ****" && \
|
||||
@@ -20,48 +39,34 @@ RUN echo "**** install build packages ****" && \
|
||||
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && \
|
||||
echo $TZ > /etc/timezone
|
||||
|
||||
# Set working directory
|
||||
WORKDIR /app
|
||||
|
||||
# Copy built files from builder stage
|
||||
COPY --from=builder /app/build ./build
|
||||
COPY --from=builder /app/package*.json ./
|
||||
COPY --from=builder /app/main.js ./
|
||||
COPY --from=builder /app/build.js ./
|
||||
COPY --from=builder /app/src ./src
|
||||
COPY --from=builder /app/static ./static
|
||||
COPY --from=builder /app/database ./database
|
||||
COPY --from=builder /app/config ./config
|
||||
COPY --from=builder /app/node_modules ./node_modules
|
||||
COPY --from=builder /app/.env ./.env
|
||||
|
||||
# Install production dependencies only
|
||||
|
||||
|
||||
# Copy package files first for better caching
|
||||
COPY package*.json ./
|
||||
|
||||
# Install dependencies
|
||||
RUN npm install
|
||||
|
||||
# Copy project files
|
||||
COPY . .
|
||||
|
||||
# Create database directory
|
||||
|
||||
# Create and configure database directory
|
||||
RUN mkdir -p /app/database && \
|
||||
chown -R $PUID:$PGID /app/database && \
|
||||
chmod -R 755 /app/database
|
||||
|
||||
# Set production environment
|
||||
ENV NODE_ENV=production \
|
||||
PORT=3000 \
|
||||
TZ=Etc/GMT \
|
||||
PUID=911 \
|
||||
PGID=911
|
||||
# Copy database contents if they exist
|
||||
# Declare volume for persistence
|
||||
VOLUME /app/database
|
||||
|
||||
|
||||
# Build application
|
||||
RUN node build.js && \
|
||||
npm run build
|
||||
|
||||
RUN npm install -g vite-node
|
||||
|
||||
# Use PORT env variable
|
||||
# Expose port
|
||||
EXPOSE $PORT
|
||||
|
||||
# Print PORT env variable
|
||||
RUN echo "PORT: $PORT"
|
||||
|
||||
# Set startup command
|
||||
|
||||
CMD ["sh", "-c", "vite-node src/lib/server/startup.js & node main.js & wait"]
|
||||
CMD ["sh", "-c", "node build.js && (node src/lib/server/startup.js & node main.js & wait)"]
|
||||
@@ -0,0 +1 @@
|
||||
database folder
|
||||
@@ -1,527 +0,0 @@
|
||||
{
|
||||
"1731391680": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731391920": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731391980": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731392040": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731392100": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731392160": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731392220": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731392280": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731392340": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731392400": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731392460": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731392520": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731392580": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731392640": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731392700": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731392760": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731392820": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731392880": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731392940": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731393000": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731393060": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731393120": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731393180": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731393240": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731393300": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731393360": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731393420": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731393480": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731393540": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731393600": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731393660": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731393720": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731393780": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731393840": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731393900": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731393960": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731394020": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731394080": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731394140": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731422160": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731422220": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731422280": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731422340": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731422400": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731422460": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731422520": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731422580": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731422640": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731422700": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731422760": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731423600": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731423660": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731423720": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731423780": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731423840": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731423900": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731423960": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731424020": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731424080": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731424140": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731424200": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731424440": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731424500": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731424560": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731424620": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731424680": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731424740": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731424800": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731424860": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731424920": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731424980": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731425040": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731425100": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731425160": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731425220": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731425280": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731425340": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731425400": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731425460": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731425520": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731425580": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731425640": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731425700": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731425760": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731425820": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731425880": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731425940": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731426000": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731426060": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731426120": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731426180": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731426240": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731426300": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731426360": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731426420": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731426480": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731426540": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731426600": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731426660": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731426720": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731426780": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731426840": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731426900": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731426960": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
},
|
||||
"1731427020": {
|
||||
"status": "UP",
|
||||
"latency": 0,
|
||||
"type": "defaultStatus"
|
||||
}
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
@@ -1,867 +0,0 @@
|
||||
{
|
||||
"1731379920": {
|
||||
"status": "UP",
|
||||
"latency": 285,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731379980": {
|
||||
"status": "UP",
|
||||
"latency": 292,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731380040": {
|
||||
"status": "UP",
|
||||
"latency": 318,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731380100": {
|
||||
"status": "UP",
|
||||
"latency": 182,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731380160": {
|
||||
"status": "UP",
|
||||
"latency": 172,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731380220": {
|
||||
"status": "UP",
|
||||
"latency": 174,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731380280": {
|
||||
"status": "UP",
|
||||
"latency": 186,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731380340": {
|
||||
"status": "UP",
|
||||
"latency": 187,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731381300": {
|
||||
"status": "UP",
|
||||
"latency": 468,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731381360": {
|
||||
"status": "UP",
|
||||
"latency": 197,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731382260": {
|
||||
"status": "UP",
|
||||
"latency": 389,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731382320": {
|
||||
"status": "UP",
|
||||
"latency": 357,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731383160": {
|
||||
"status": "UP",
|
||||
"latency": 661,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731383220": {
|
||||
"status": "UP",
|
||||
"latency": 257,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731383280": {
|
||||
"status": "UP",
|
||||
"latency": 948,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731383340": {
|
||||
"status": "UP",
|
||||
"latency": 204,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731383700": {
|
||||
"status": "UP",
|
||||
"latency": 550,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731383760": {
|
||||
"status": "UP",
|
||||
"latency": 262,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731384720": {
|
||||
"status": "UP",
|
||||
"latency": 873,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731384780": {
|
||||
"status": "UP",
|
||||
"latency": 479,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731384840": {
|
||||
"status": "UP",
|
||||
"latency": 398,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731384900": {
|
||||
"status": "UP",
|
||||
"latency": 321,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731384960": {
|
||||
"status": "UP",
|
||||
"latency": 170,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731385020": {
|
||||
"status": "UP",
|
||||
"latency": 178,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731385080": {
|
||||
"status": "UP",
|
||||
"latency": 189,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731385140": {
|
||||
"status": "UP",
|
||||
"latency": 175,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731385200": {
|
||||
"status": "UP",
|
||||
"latency": 190,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731385260": {
|
||||
"status": "UP",
|
||||
"latency": 335,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731385320": {
|
||||
"status": "UP",
|
||||
"latency": 697,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731385440": {
|
||||
"status": "UP",
|
||||
"latency": 1998,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731385560": {
|
||||
"status": "UP",
|
||||
"latency": 637,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731385620": {
|
||||
"status": "UP",
|
||||
"latency": 652,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731385680": {
|
||||
"status": "UP",
|
||||
"latency": 669,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731385740": {
|
||||
"status": "UP",
|
||||
"latency": 694,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731385800": {
|
||||
"status": "UP",
|
||||
"latency": 654,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731385860": {
|
||||
"status": "UP",
|
||||
"latency": 620,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731385920": {
|
||||
"status": "UP",
|
||||
"latency": 693,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731385980": {
|
||||
"status": "UP",
|
||||
"latency": 524,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731386040": {
|
||||
"status": "UP",
|
||||
"latency": 1840,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731386100": {
|
||||
"status": "UP",
|
||||
"latency": 669,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731386160": {
|
||||
"status": "UP",
|
||||
"latency": 646,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731386220": {
|
||||
"status": "UP",
|
||||
"latency": 1486,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731386280": {
|
||||
"status": "UP",
|
||||
"latency": 1003,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731386340": {
|
||||
"status": "UP",
|
||||
"latency": 612,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731386400": {
|
||||
"status": "UP",
|
||||
"latency": 720,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731386460": {
|
||||
"status": "UP",
|
||||
"latency": 392,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731386520": {
|
||||
"status": "UP",
|
||||
"latency": 400,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731386580": {
|
||||
"status": "UP",
|
||||
"latency": 365,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731386640": {
|
||||
"status": "UP",
|
||||
"latency": 372,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731386700": {
|
||||
"status": "UP",
|
||||
"latency": 431,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731386760": {
|
||||
"status": "UP",
|
||||
"latency": 429,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731386880": {
|
||||
"status": "UP",
|
||||
"latency": 400,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731386940": {
|
||||
"status": "UP",
|
||||
"latency": 397,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731389640": {
|
||||
"status": "UP",
|
||||
"latency": 687,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731389700": {
|
||||
"status": "UP",
|
||||
"latency": 1072,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731390480": {
|
||||
"status": "UP",
|
||||
"latency": 477,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731390540": {
|
||||
"status": "UP",
|
||||
"latency": 446,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731390720": {
|
||||
"status": "UP",
|
||||
"latency": 534,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731390780": {
|
||||
"status": "UP",
|
||||
"latency": 565,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731390900": {
|
||||
"status": "UP",
|
||||
"latency": 449,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731390960": {
|
||||
"status": "UP",
|
||||
"latency": 562,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731391020": {
|
||||
"status": "UP",
|
||||
"latency": 1385,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731391080": {
|
||||
"status": "UP",
|
||||
"latency": 371,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731391140": {
|
||||
"status": "UP",
|
||||
"latency": 414,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731391200": {
|
||||
"status": "UP",
|
||||
"latency": 420,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731391260": {
|
||||
"status": "UP",
|
||||
"latency": 433,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731391320": {
|
||||
"status": "UP",
|
||||
"latency": 447,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731391380": {
|
||||
"status": "UP",
|
||||
"latency": 386,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731391680": {
|
||||
"status": "UP",
|
||||
"latency": 523,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731391920": {
|
||||
"status": "UP",
|
||||
"latency": 538,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731391980": {
|
||||
"status": "UP",
|
||||
"latency": 545,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731392040": {
|
||||
"status": "UP",
|
||||
"latency": 566,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731392100": {
|
||||
"status": "UP",
|
||||
"latency": 564,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731392160": {
|
||||
"status": "UP",
|
||||
"latency": 551,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731392220": {
|
||||
"status": "UP",
|
||||
"latency": 758,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731392280": {
|
||||
"status": "UP",
|
||||
"latency": 562,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731392340": {
|
||||
"status": "UP",
|
||||
"latency": 579,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731392400": {
|
||||
"status": "UP",
|
||||
"latency": 529,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731392460": {
|
||||
"status": "UP",
|
||||
"latency": 401,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731392520": {
|
||||
"status": "UP",
|
||||
"latency": 378,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731392580": {
|
||||
"status": "UP",
|
||||
"latency": 398,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731392640": {
|
||||
"status": "UP",
|
||||
"latency": 395,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731392700": {
|
||||
"status": "UP",
|
||||
"latency": 556,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731392760": {
|
||||
"status": "UP",
|
||||
"latency": 407,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731392820": {
|
||||
"status": "UP",
|
||||
"latency": 439,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731392880": {
|
||||
"status": "UP",
|
||||
"latency": 448,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731392940": {
|
||||
"status": "UP",
|
||||
"latency": 439,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731393000": {
|
||||
"status": "UP",
|
||||
"latency": 415,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731393060": {
|
||||
"status": "UP",
|
||||
"latency": 481,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731393120": {
|
||||
"status": "UP",
|
||||
"latency": 535,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731393180": {
|
||||
"status": "UP",
|
||||
"latency": 591,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731393240": {
|
||||
"status": "UP",
|
||||
"latency": 572,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731393300": {
|
||||
"status": "UP",
|
||||
"latency": 632,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731393360": {
|
||||
"status": "UP",
|
||||
"latency": 533,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731393420": {
|
||||
"status": "UP",
|
||||
"latency": 706,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731393480": {
|
||||
"status": "UP",
|
||||
"latency": 558,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731393540": {
|
||||
"status": "UP",
|
||||
"latency": 553,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731393600": {
|
||||
"status": "UP",
|
||||
"latency": 523,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731393660": {
|
||||
"status": "UP",
|
||||
"latency": 606,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731393720": {
|
||||
"status": "UP",
|
||||
"latency": 566,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731393780": {
|
||||
"status": "UP",
|
||||
"latency": 554,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731393840": {
|
||||
"status": "UP",
|
||||
"latency": 593,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731393900": {
|
||||
"status": "UP",
|
||||
"latency": 619,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731393960": {
|
||||
"status": "UP",
|
||||
"latency": 594,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731394020": {
|
||||
"status": "UP",
|
||||
"latency": 412,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731394080": {
|
||||
"status": "UP",
|
||||
"latency": 439,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731394140": {
|
||||
"status": "UP",
|
||||
"latency": 426,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731422160": {
|
||||
"status": "UP",
|
||||
"latency": 287,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731422220": {
|
||||
"status": "UP",
|
||||
"latency": 368,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731422280": {
|
||||
"status": "UP",
|
||||
"latency": 306,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731422340": {
|
||||
"status": "UP",
|
||||
"latency": 339,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731422400": {
|
||||
"status": "UP",
|
||||
"latency": 402,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731422460": {
|
||||
"status": "UP",
|
||||
"latency": 338,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731422520": {
|
||||
"status": "UP",
|
||||
"latency": 688,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731422580": {
|
||||
"status": "UP",
|
||||
"latency": 454,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731422640": {
|
||||
"status": "UP",
|
||||
"latency": 371,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731422700": {
|
||||
"status": "UP",
|
||||
"latency": 319,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731422760": {
|
||||
"status": "UP",
|
||||
"latency": 599,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731423600": {
|
||||
"status": "UP",
|
||||
"latency": 578,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731423660": {
|
||||
"status": "UP",
|
||||
"latency": 220,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731423720": {
|
||||
"status": "UP",
|
||||
"latency": 207,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731423780": {
|
||||
"status": "UP",
|
||||
"latency": 312,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731423840": {
|
||||
"status": "UP",
|
||||
"latency": 344,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731423900": {
|
||||
"status": "UP",
|
||||
"latency": 328,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731423960": {
|
||||
"status": "UP",
|
||||
"latency": 362,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731424020": {
|
||||
"status": "UP",
|
||||
"latency": 308,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731424080": {
|
||||
"status": "UP",
|
||||
"latency": 348,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731424140": {
|
||||
"status": "UP",
|
||||
"latency": 318,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731424200": {
|
||||
"status": "UP",
|
||||
"latency": 401,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731424440": {
|
||||
"status": "UP",
|
||||
"latency": 335,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731424500": {
|
||||
"status": "UP",
|
||||
"latency": 407,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731424560": {
|
||||
"status": "UP",
|
||||
"latency": 231,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731424620": {
|
||||
"status": "UP",
|
||||
"latency": 290,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731424680": {
|
||||
"status": "UP",
|
||||
"latency": 357,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731424740": {
|
||||
"status": "UP",
|
||||
"latency": 400,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731424800": {
|
||||
"status": "UP",
|
||||
"latency": 313,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731424860": {
|
||||
"status": "UP",
|
||||
"latency": 325,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731424920": {
|
||||
"status": "UP",
|
||||
"latency": 183,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731424980": {
|
||||
"status": "UP",
|
||||
"latency": 227,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731425040": {
|
||||
"status": "UP",
|
||||
"latency": 179,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731425100": {
|
||||
"status": "UP",
|
||||
"latency": 219,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731425160": {
|
||||
"status": "UP",
|
||||
"latency": 279,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731425220": {
|
||||
"status": "UP",
|
||||
"latency": 200,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731425280": {
|
||||
"status": "UP",
|
||||
"latency": 197,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731425340": {
|
||||
"status": "UP",
|
||||
"latency": 216,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731425400": {
|
||||
"status": "UP",
|
||||
"latency": 198,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731425460": {
|
||||
"status": "UP",
|
||||
"latency": 211,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731425520": {
|
||||
"status": "UP",
|
||||
"latency": 198,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731425580": {
|
||||
"status": "UP",
|
||||
"latency": 200,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731425640": {
|
||||
"status": "UP",
|
||||
"latency": 214,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731425700": {
|
||||
"status": "UP",
|
||||
"latency": 232,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731425760": {
|
||||
"status": "UP",
|
||||
"latency": 230,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731425820": {
|
||||
"status": "UP",
|
||||
"latency": 194,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731425880": {
|
||||
"status": "UP",
|
||||
"latency": 206,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731425940": {
|
||||
"status": "UP",
|
||||
"latency": 194,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731426000": {
|
||||
"status": "UP",
|
||||
"latency": 196,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731426060": {
|
||||
"status": "UP",
|
||||
"latency": 194,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731426120": {
|
||||
"status": "UP",
|
||||
"latency": 204,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731426180": {
|
||||
"status": "UP",
|
||||
"latency": 491,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731426240": {
|
||||
"status": "UP",
|
||||
"latency": 332,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731426300": {
|
||||
"status": "UP",
|
||||
"latency": 310,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731426360": {
|
||||
"status": "UP",
|
||||
"latency": 304,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731426420": {
|
||||
"status": "UP",
|
||||
"latency": 362,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731426480": {
|
||||
"status": "UP",
|
||||
"latency": 1229,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731426540": {
|
||||
"status": "UP",
|
||||
"latency": 211,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731426600": {
|
||||
"status": "UP",
|
||||
"latency": 179,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731426660": {
|
||||
"status": "UP",
|
||||
"latency": 208,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731426720": {
|
||||
"status": "UP",
|
||||
"latency": 217,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731426780": {
|
||||
"status": "UP",
|
||||
"latency": 218,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731426840": {
|
||||
"status": "UP",
|
||||
"latency": 196,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731426900": {
|
||||
"status": "UP",
|
||||
"latency": 229,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731426960": {
|
||||
"status": "UP",
|
||||
"latency": 258,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731427020": {
|
||||
"status": "UP",
|
||||
"latency": 203,
|
||||
"type": "realtime"
|
||||
}
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
@@ -1,54 +0,0 @@
|
||||
[
|
||||
{
|
||||
"name": "OkBookmarksX",
|
||||
"description": "Stop forgetting about your bookmarks <a href=\"https://okbookmarks.com/\" class=\"font-medium underline underline-offset-4\" target=\"_blank\">https://okbookmarks.com/</a>",
|
||||
"tag": "okbookmarks",
|
||||
"image": "https://okbookmarks.com/app/mybookmark.png",
|
||||
"api": {
|
||||
"method": "GET",
|
||||
"url": "https://okbookmarks.com/",
|
||||
"eval": "(function (statusCode, responseTime, responseData) {\n\tlet statusCodeShort = Math.floor(statusCode/100);\n if(statusCode == 429 || (statusCodeShort >=2 && statusCodeShort <= 3)) {\n return {\n\t\t\tstatus: 'UP',\n\t\t\tlatency: responseTime,\n }\n } \n\treturn {\n\t\tstatus: 'DOWN',\n\t\tlatency: responseTime,\n\t}\n})",
|
||||
"timeout": 10000
|
||||
},
|
||||
"folderName": "okbookmarksx",
|
||||
"dayDegradedMinimumCount": 1,
|
||||
"dayDownMinimumCount": 1,
|
||||
"includeDegradedInDowntime": false,
|
||||
"path0Day": "./database/okbookmarksx.0day.utc.json",
|
||||
"path90Day": "./database/okbookmarksx.90day.utc.json",
|
||||
"hasAPI": true
|
||||
},
|
||||
{
|
||||
"name": "Google Search",
|
||||
"description": "Search the world's information, including webpages, images, videos and more. <a href=\"https://www.google.com/webhp\" class=\"font-medium underline underline-offset-4\" target=\"_blank\">https://www.google.com/webhp</a>",
|
||||
"tag": "google-search",
|
||||
"image": "/google.png",
|
||||
"api": {
|
||||
"method": "GET",
|
||||
"url": "https://www.google.com/webhp",
|
||||
"eval": "(function (statusCode, responseTime, responseData) {\n\tlet statusCodeShort = Math.floor(statusCode/100);\n if(statusCode == 429 || (statusCodeShort >=2 && statusCodeShort <= 3)) {\n return {\n\t\t\tstatus: 'UP',\n\t\t\tlatency: responseTime,\n }\n } \n\treturn {\n\t\tstatus: 'DOWN',\n\t\tlatency: responseTime,\n\t}\n})",
|
||||
"timeout": 10000
|
||||
},
|
||||
"folderName": "google-search",
|
||||
"dayDegradedMinimumCount": 1,
|
||||
"dayDownMinimumCount": 1,
|
||||
"includeDegradedInDowntime": false,
|
||||
"path0Day": "./database/google-search.0day.utc.json",
|
||||
"path90Day": "./database/google-search.90day.utc.json",
|
||||
"hasAPI": true
|
||||
},
|
||||
{
|
||||
"name": "Earth",
|
||||
"description": "Our blue planet",
|
||||
"tag": "earth",
|
||||
"defaultStatus": "UP",
|
||||
"image": "/earth.png",
|
||||
"folderName": "earth",
|
||||
"dayDegradedMinimumCount": 1,
|
||||
"dayDownMinimumCount": 1,
|
||||
"includeDegradedInDowntime": false,
|
||||
"path0Day": "./database/earth.0day.utc.json",
|
||||
"path90Day": "./database/earth.90day.utc.json",
|
||||
"hasAPI": false
|
||||
}
|
||||
]
|
||||
@@ -1,82 +0,0 @@
|
||||
{
|
||||
"1731342480": {
|
||||
"status": "UP",
|
||||
"latency": 164,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731342540": {
|
||||
"status": "UP",
|
||||
"latency": 568,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731342600": {
|
||||
"status": "UP",
|
||||
"latency": 171,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731342660": {
|
||||
"status": "UP",
|
||||
"latency": 320,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731342720": {
|
||||
"status": "UP",
|
||||
"latency": 391,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731342780": {
|
||||
"status": "UP",
|
||||
"latency": 174,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731342840": {
|
||||
"status": "UP",
|
||||
"latency": 200,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731342900": {
|
||||
"status": "UP",
|
||||
"latency": 254,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731342960": {
|
||||
"status": "UP",
|
||||
"latency": 185,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731343020": {
|
||||
"status": "UP",
|
||||
"latency": 203,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731343080": {
|
||||
"status": "UP",
|
||||
"latency": 162,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731343140": {
|
||||
"status": "UP",
|
||||
"latency": 165,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731343200": {
|
||||
"status": "UP",
|
||||
"latency": 154,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731343260": {
|
||||
"status": "UP",
|
||||
"latency": 145,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731343320": {
|
||||
"status": "UP",
|
||||
"latency": 159,
|
||||
"type": "realtime"
|
||||
},
|
||||
"1731343380": {
|
||||
"status": "UP",
|
||||
"latency": 161,
|
||||
"type": "realtime"
|
||||
}
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
+1
-1
@@ -30,7 +30,7 @@
|
||||
"build": "vite build",
|
||||
"preview": "vite preview",
|
||||
"preschedule": "node build.js",
|
||||
"schedule": "vite-node src/lib/server/startup.js",
|
||||
"schedule": "node src/lib/server/startup.js",
|
||||
"development": "vite dev",
|
||||
"dev": "npm-run-all --parallel schedule development",
|
||||
"prettify": "prettier --write ."
|
||||
|
||||
@@ -92,7 +92,9 @@
|
||||
{/if}
|
||||
{#if monitor.image}
|
||||
<img
|
||||
src={monitor.image}
|
||||
src={monitor.image.startsWith("/")
|
||||
? base + monitor.image
|
||||
: monitor.image}
|
||||
class="absolute left-0 top-1 inline h-5 w-5"
|
||||
alt=""
|
||||
srcset=""
|
||||
|
||||
@@ -174,7 +174,7 @@
|
||||
<div class="scroll-m-20 pr-5 text-xl font-medium tracking-tight">
|
||||
{#if monitor.image}
|
||||
<img
|
||||
src={monitor.image}
|
||||
src={monitor.image.startsWith("/") ? base + monitor.image : monitor.image}
|
||||
class="absolute left-6 top-6 inline h-5 w-5"
|
||||
alt={monitor.name}
|
||||
srcset=""
|
||||
|
||||
@@ -13,7 +13,12 @@
|
||||
<div class="container flex h-14 items-center">
|
||||
<a href={data.site.home ? data.site.home : base} class="mr-6 flex items-center space-x-2">
|
||||
{#if data.site.logo}
|
||||
<img src={data.site.logo} class="h-8" alt={data.site.title} srcset="" />
|
||||
<img
|
||||
src={data.site.logo.startsWith("/") ? base + data.site.logo : data.site.logo}
|
||||
class="h-8"
|
||||
alt={data.site.title}
|
||||
srcset=""
|
||||
/>
|
||||
{/if}
|
||||
{#if data.site.siteName}
|
||||
<span class="hidden text-[15px] font-bold md:inline-block lg:text-base">
|
||||
@@ -33,7 +38,9 @@
|
||||
>
|
||||
{#if navItem.iconURL}
|
||||
<img
|
||||
src={navItem.iconURL}
|
||||
src={navItem.iconURL.startsWith("/")
|
||||
? base + navItem.iconURL
|
||||
: navItem.iconURL}
|
||||
class="mr-1.5 inline h-4"
|
||||
alt={navItem.name}
|
||||
/>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// @ts-nocheck
|
||||
import { ENV } from "$lib/server/constants.js";
|
||||
import { IsStringURLSafe } from "$lib/server/tool.js";
|
||||
import { ENV } from "./constants.js";
|
||||
import { IsStringURLSafe } from "./tool.js";
|
||||
import dotenv from "dotenv";
|
||||
dotenv.config();
|
||||
import fs from "fs-extra";
|
||||
|
||||
@@ -2,18 +2,13 @@
|
||||
import axios from "axios";
|
||||
import ping from "ping";
|
||||
import fs from "fs-extra";
|
||||
import { UP, DOWN, DEGRADED } from "$lib/server/constants.js";
|
||||
import { UP, DOWN, DEGRADED } from "./constants.js";
|
||||
import {
|
||||
GetNowTimestampUTC,
|
||||
GetMinuteStartNowTimestampUTC,
|
||||
GetMinuteStartTimestampUTC
|
||||
} from "$lib/server/tool.js";
|
||||
import {
|
||||
GetIncidents,
|
||||
GetEndTimeFromBody,
|
||||
GetStartTimeFromBody,
|
||||
CloseIssue
|
||||
} from "$lib/server/github.js";
|
||||
} from "./tool.js";
|
||||
import { GetIncidents, GetEndTimeFromBody, GetStartTimeFromBody, CloseIssue } from "./github.js";
|
||||
import Randomstring from "randomstring";
|
||||
import Queue from "queue";
|
||||
import dotenv from "dotenv";
|
||||
|
||||
@@ -0,0 +1,94 @@
|
||||
[
|
||||
{
|
||||
"name": "Google Search",
|
||||
"description": "Search the world's <span class=\"text-red-500\">information</span>, including webpages, images, videos and more.",
|
||||
"tag": "google-search",
|
||||
"image": "/google.png",
|
||||
"api": {
|
||||
"method": "GET",
|
||||
"url": "https://www.google.com/webhp",
|
||||
"hideURLForGet": true,
|
||||
"eval": "(function (statusCode, responseTime, responseData) {\n\tlet statusCodeShort = Math.floor(statusCode/100);\n if(statusCode == 429 || (statusCodeShort >=2 && statusCodeShort <= 3)) {\n return {\n\t\t\tstatus: 'UP',\n\t\t\tlatency: responseTime,\n }\n } \n\treturn {\n\t\tstatus: 'DOWN',\n\t\tlatency: responseTime,\n\t}\n})",
|
||||
"timeout": 10000
|
||||
},
|
||||
"folderName": "google-search",
|
||||
"dayDegradedMinimumCount": 1,
|
||||
"dayDownMinimumCount": 1,
|
||||
"includeDegradedInDowntime": false,
|
||||
"path0Day": "/Users/rajnandan1/Code/kener/db/google-search.0day.utc.json",
|
||||
"path90Day": "/Users/rajnandan1/Code/kener/db/google-search.90day.utc.json",
|
||||
"hasAPI": true
|
||||
},
|
||||
{
|
||||
"name": "Svelte Website",
|
||||
"description": "Cybernetically enhanced web apps <a href=\"https://svelte.dev/\" class=\"font-medium underline underline-offset-4\" target=\"_blank\">https://svelte.dev/</a>",
|
||||
"tag": "svelte-website",
|
||||
"api": {
|
||||
"method": "GET",
|
||||
"url": "https://svelte.dev/",
|
||||
"eval": "(function (statusCode, responseTime, responseData) {\n\tlet statusCodeShort = Math.floor(statusCode/100);\n if(statusCode == 429 || (statusCodeShort >=2 && statusCodeShort <= 3)) {\n return {\n\t\t\tstatus: 'UP',\n\t\t\tlatency: responseTime,\n }\n } \n\treturn {\n\t\tstatus: 'DOWN',\n\t\tlatency: responseTime,\n\t}\n})",
|
||||
"timeout": 10000
|
||||
},
|
||||
"image": "/svelte.svg",
|
||||
"folderName": "svelte-website",
|
||||
"dayDegradedMinimumCount": 1,
|
||||
"dayDownMinimumCount": 1,
|
||||
"includeDegradedInDowntime": false,
|
||||
"path0Day": "/Users/rajnandan1/Code/kener/db/svelte-website.0day.utc.json",
|
||||
"path90Day": "/Users/rajnandan1/Code/kener/db/svelte-website.90day.utc.json",
|
||||
"hasAPI": true
|
||||
},
|
||||
{
|
||||
"name": "Earth",
|
||||
"description": "Our blue planet",
|
||||
"tag": "earth",
|
||||
"defaultStatus": "UP",
|
||||
"image": "/earth.png",
|
||||
"cron": "*/2 * * * *",
|
||||
"folderName": "earth",
|
||||
"dayDegradedMinimumCount": 1,
|
||||
"dayDownMinimumCount": 1,
|
||||
"includeDegradedInDowntime": false,
|
||||
"path0Day": "/Users/rajnandan1/Code/kener/db/earth.0day.utc.json",
|
||||
"path90Day": "/Users/rajnandan1/Code/kener/db/earth.90day.utc.json",
|
||||
"hasAPI": false
|
||||
},
|
||||
{
|
||||
"name": "Frogment",
|
||||
"description": "A free openAPI spec editor and linter that breaks down your spec into fragments to make editing easier and more intuitive. Visit https://www.frogment.com <a href=\"https://www.frogment.com\" class=\"font-medium underline underline-offset-4\" target=\"_blank\">https://www.frogment.com</a>",
|
||||
"tag": "frogment",
|
||||
"image": "/frogment.png",
|
||||
"api": {
|
||||
"method": "GET",
|
||||
"url": "https://www.frogment.com",
|
||||
"eval": "(function (statusCode, responseTime, responseData) {\n\tlet statusCodeShort = Math.floor(statusCode/100);\n if(statusCode == 429 || (statusCodeShort >=2 && statusCodeShort <= 3)) {\n return {\n\t\t\tstatus: 'UP',\n\t\t\tlatency: responseTime,\n }\n } \n\treturn {\n\t\tstatus: 'DOWN',\n\t\tlatency: responseTime,\n\t}\n})",
|
||||
"timeout": 10000
|
||||
},
|
||||
"folderName": "frogment",
|
||||
"dayDegradedMinimumCount": 1,
|
||||
"dayDownMinimumCount": 1,
|
||||
"includeDegradedInDowntime": false,
|
||||
"path0Day": "/Users/rajnandan1/Code/kener/db/frogment.0day.utc.json",
|
||||
"path90Day": "/Users/rajnandan1/Code/kener/db/frogment.90day.utc.json",
|
||||
"hasAPI": true
|
||||
},
|
||||
{
|
||||
"name": "OkBookmarks",
|
||||
"description": "Stop forgetting about your bookmarks <a href=\"https://okbookmarks.com/\" class=\"font-medium underline underline-offset-4\" target=\"_blank\">https://okbookmarks.com/</a>",
|
||||
"tag": "okbookmarks",
|
||||
"image": "https://okbookmarks.com/app/mybookmark.png",
|
||||
"api": {
|
||||
"method": "GET",
|
||||
"url": "https://okbookmarks.com/",
|
||||
"eval": "(function (statusCode, responseTime, responseData) {\n\tlet statusCodeShort = Math.floor(statusCode/100);\n if(statusCode == 429 || (statusCodeShort >=2 && statusCodeShort <= 3)) {\n return {\n\t\t\tstatus: 'UP',\n\t\t\tlatency: responseTime,\n }\n } \n\treturn {\n\t\tstatus: 'DOWN',\n\t\tlatency: responseTime,\n\t}\n})",
|
||||
"timeout": 10000
|
||||
},
|
||||
"folderName": "okbookmarks",
|
||||
"dayDegradedMinimumCount": 1,
|
||||
"dayDownMinimumCount": 1,
|
||||
"includeDegradedInDowntime": false,
|
||||
"path0Day": "/Users/rajnandan1/Code/kener/db/okbookmarks.0day.utc.json",
|
||||
"path90Day": "/Users/rajnandan1/Code/kener/db/okbookmarks.90day.utc.json",
|
||||
"hasAPI": true
|
||||
}
|
||||
]
|
||||
@@ -7,7 +7,7 @@
|
||||
"github": {
|
||||
"owner": "rajnandan1",
|
||||
"repo": "kener",
|
||||
"incidentSince": 720
|
||||
"incidentSince": 48
|
||||
},
|
||||
"metaTags": {
|
||||
"description": "Kener: Open-source modern looking Node.js 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. And the best part? Kener integrates seamlessly with GitHub, making incident management a team effort—making it easier for us to track and fix issues together in a collaborative and friendly environment.",
|
||||
@@ -1,6 +1,6 @@
|
||||
// @ts-nocheck
|
||||
import axios from "axios";
|
||||
import { GetMinuteStartNowTimestampUTC } from "$lib/server/tool.js";
|
||||
import { GetMinuteStartNowTimestampUTC } from "./tool.js";
|
||||
import { marked } from "marked";
|
||||
import { fileURLToPath } from "url";
|
||||
import { dirname } from "path";
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
// @ts-nocheck
|
||||
import fs from "fs-extra";
|
||||
import { GetMinuteStartNowTimestampUTC, BeginningOfDay } from "$lib/server/tool.js";
|
||||
import { StatusObj, ParseUptime } from "$lib/helpers.js";
|
||||
import { GetMinuteStartNowTimestampUTC, BeginningOfDay } from "./tool.js";
|
||||
import { StatusObj, ParseUptime } from "../helpers.js";
|
||||
|
||||
function getDayMessage(type, numOfMinute) {
|
||||
if (numOfMinute > 59) {
|
||||
|
||||
@@ -12,15 +12,13 @@ import path from "path";
|
||||
|
||||
import yaml from "js-yaml";
|
||||
import { Cron } from "croner";
|
||||
import { API_TIMEOUT } from "$lib/server/constants.js";
|
||||
import siteDataRaw from "$lib/server/config/site.yaml?raw";
|
||||
import monitorDataRaw from "$lib/server/config/monitors.yaml?raw";
|
||||
import { API_TIMEOUT } from "./constants.js";
|
||||
|
||||
import { IsValidURL, IsValidHTTPMethod, ValidateIpAddress } from "$lib/server/tool.js";
|
||||
import { GetAllGHLabels, CreateGHLabel } from "$lib/server/github.js";
|
||||
import { Minuter } from "$lib/server/cron-minute.js";
|
||||
import { IsValidURL, IsValidHTTPMethod, ValidateIpAddress } from "./tool.js";
|
||||
import { GetAllGHLabels, CreateGHLabel } from "./github.js";
|
||||
import { Minuter } from "./cron-minute.js";
|
||||
import axios from "axios";
|
||||
import { Ninety } from "$lib/server/ninety.js";
|
||||
import { Ninety } from "./ninety.js";
|
||||
let monitors = [];
|
||||
let site = {};
|
||||
const envSecrets = [];
|
||||
|
||||
@@ -3,7 +3,10 @@ import fs from "fs-extra";
|
||||
import path from "path";
|
||||
|
||||
// Load the JSON data from the file system
|
||||
const monitorsDataPath = path.join(process.cwd(), "database", "monitors.json");
|
||||
const monitorsData = fs.readJSONSync(monitorsDataPath, "utf8");
|
||||
let monitorsData = {};
|
||||
try {
|
||||
const monitorsDataPath = path.join(process.cwd(), "database", "monitors.json");
|
||||
monitorsData = fs.readJSONSync(monitorsDataPath, "utf8");
|
||||
} catch (error) {}
|
||||
// Create a readonly store
|
||||
export const monitorsStore = readable(monitorsData, () => {});
|
||||
|
||||
@@ -3,7 +3,10 @@ import fs from "fs-extra";
|
||||
import path from "path";
|
||||
|
||||
// Load the JSON data from the file system
|
||||
const siteDataPath = path.join(process.cwd(), "database", "site.json");
|
||||
const siteData = fs.readJSONSync(siteDataPath, "utf8");
|
||||
let siteData = {};
|
||||
try {
|
||||
const siteDataPath = path.join(process.cwd(), "database", "site.json");
|
||||
siteData = fs.readJSONSync(siteDataPath, "utf8");
|
||||
} catch (error) {}
|
||||
// Create a readonly store
|
||||
export const siteStore = readable(siteData, () => {});
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
// @ts-nocheck
|
||||
import fs from "fs-extra";
|
||||
import { monitorsStore } from "$lib/server/stores/monitors";
|
||||
import { monitorsStore } from "./stores/monitors";
|
||||
import { get } from "svelte/store";
|
||||
import { ParseUptime } from "$lib/helpers.js";
|
||||
import {
|
||||
GetMinuteStartNowTimestampUTC,
|
||||
GetNowTimestampUTC,
|
||||
GetMinuteStartTimestampUTC
|
||||
} from "$lib/server/tool.js";
|
||||
import { GetStartTimeFromBody, GetEndTimeFromBody } from "$lib/server/github.js";
|
||||
} from "./tool.js";
|
||||
import { GetStartTimeFromBody, GetEndTimeFromBody } from "./github.js";
|
||||
import Randomstring from "randomstring";
|
||||
const API_TOKEN = process.env.API_TOKEN;
|
||||
const API_IP = process.env.API_IP;
|
||||
|
||||
Reference in New Issue
Block a user