mirror of
https://github.com/louislam/uptime-kuma.git
synced 2025-06-06 13:12:33 +02:00
34 lines
1.3 KiB
Text
34 lines
1.3 KiB
Text
# OS
|
|
FROM ubuntu:latest
|
|
# Set version label
|
|
LABEL maintainer="github.com/Dofamin"
|
|
LABEL image="Uptime Kuma"
|
|
LABEL OS="Ubuntu/latest"
|
|
# ARG & ENV
|
|
WORKDIR /srv/uptime-kuma/
|
|
ENV TZ=Europe/Moscow
|
|
# Update system packages:
|
|
RUN apt -y update > /dev/null 2>&1;\
|
|
# Fix for select tzdata region
|
|
ln -fs /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone > /dev/null 2>&1;\
|
|
dpkg-reconfigure --frontend noninteractive tzdata > /dev/null 2>&1;\
|
|
# Install dependencies, you would need common set of tools.
|
|
apt -y install git curl git npm > /dev/null 2>&1;\
|
|
curl -fsSL https://deb.nodesource.com/setup_lts.x | bash - > /dev/null 2>&1;\
|
|
apt -y install nodejs > /dev/null 2>&1;\
|
|
npm install pm2@latest -g > /dev/null 2>&1;\
|
|
pm2 startup > /dev/null 2>&1;\
|
|
# # Clone the repo:
|
|
git clone https://github.com/louislam/uptime-kuma.git git > /dev/null 2>&1; \
|
|
mv git/* . > /dev/null 2>&1;
|
|
# # Start installer
|
|
RUN npm run setup > /dev/null 2>&1;\
|
|
npm install --legacy-peer-deps && node node_modules/esbuild/install.js && npm run build && npm prune > /dev/null 2>&1
|
|
# Volume
|
|
VOLUME [ "/srv/uptime-kuma/data" ]
|
|
# HEALTHCHECK
|
|
HEALTHCHECK --interval=60s --timeout=30s --start-period=300s CMD node extra/healthcheck.js
|
|
# Expose Ports:
|
|
EXPOSE 3001
|
|
# CMD
|
|
CMD ["/usr/bin/node", "server/server.js"]
|