diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..aade240 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,6 @@ +# add git-ignore syntax here of things you don't want copied into docker image + +.git +*Dockerfile* +*docker-compose* +node_modules diff --git a/.vitepress/config.mts b/.vitepress/config.mts index b29a29d..a820bd7 100644 --- a/.vitepress/config.mts +++ b/.vitepress/config.mts @@ -15,6 +15,15 @@ export default defineConfig({ // Can be removed as soon as the legacy content is removed srcExclude: ['**/legacy/**'], + vite: { + server: { + fs: { + // Allow serving files from one level up to the project root + allow: ['..', '../..'], + }, + } + }, + themeConfig: { logo: '/images/svg/naemonlogo.svg', @@ -95,7 +104,7 @@ export default defineConfig({ { text: 'Plugins', link: '/documentation/usersguide/plugins' }, { text: 'Macros', link: '/documentation/usersguide/macros' }, { text: 'Standard Macros in Naemon', link: '/documentation/usersguide/macrolist' }, - + { text: 'Naemon Logo', link: '/logo' } ] }, diff --git a/Dockerfile b/Dockerfile index f6265e0..23e0c0d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,14 +3,19 @@ # bash which makes debugging WAY easier FROM node:22-bookworm -RUN mkdir -p /site +EXPOSE 5173 -WORKDIR /site +RUN npm i npm@latest -g -COPY package.json /site/package.json +WORKDIR /opt/node_app -RUN npm install --verbose +COPY package.json package-lock.json* ./ +RUN npm install --verbose --include=dev && npm cache clean --force +ENV PATH /opt/node_app/node_modules/.bin:$PATH -EXPOSE 5173 +HEALTHCHECK --interval=30s CMD node healthcheck.js + +WORKDIR /opt/node_app/app +COPY . . CMD ["npm", "run", "docs:dev"] diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..e911a35 --- /dev/null +++ b/Makefile @@ -0,0 +1,20 @@ +#!/usr/bin/make -f + +DOCKERRUN=docker run \ + --rm -it \ + -p 5173:5173 \ + --name=naemon-docs \ + -v `pwd`:/opt/node_app/app \ + -v /opt/node_app/node_modules/ \ + -v /opt/node_app/app/.vitepress/cache \ + -v /opt/node_app/app/.vitepress/dist \ + -v `pwd`/package.json:/opt/node_app/package.json \ + naemon/docs:latest + +docker-build: + docker build -t naemon/docs . + $(DOCKERRUN) npm run docs:build + +docker-server: + docker build -t naemon/docs . + $(DOCKERRUN) diff --git a/legacy/Gemfile b/legacy/Gemfile deleted file mode 100644 index 02e53bc..0000000 --- a/legacy/Gemfile +++ /dev/null @@ -1,3 +0,0 @@ -source 'https://rubygems.org' -gem 'github-pages', group: :jekyll_plugins -gem 'webrick', '~> 1.8' diff --git a/legacy/Makefile b/legacy/Makefile deleted file mode 100644 index d9ec540..0000000 --- a/legacy/Makefile +++ /dev/null @@ -1,33 +0,0 @@ -GEM_HOME=.gem -TESTPORT=4001 - -.PHONY: .gem - -quick: .gem - JEKYLL_ENV=local NOCLEAN=1 bundle exec bash -c "time jekyll build --trace --limit_posts=15" - -build: .gem - bundle exec jekyll build --trace --limit_posts=5 - -server: .gem - bundle exec jekyll serve --host=\* --trace --watch - -.gem: - # sudo apt-get install ruby ruby-dev ruby-bundler nodejs libmagickcore-dev libmagickwand-dev libreadline-gplv2-dev zlib1g-dev - bundle config set path '.gem' - bundler install --path $(GEM_HOME) - bundler update - -test: .gem - NOCLEAN=1 bundle exec jekyll serve --port=$(TESTPORT) & SPID=$$!; \ - for i in $$(seq 100); do if lsof -i:$(TESTPORT) >/dev/null 2>&1; then break; else sleep 0.3; fi done; \ - TESTEXPECT=Naemon TESTTARGET=http://localhost:$(TESTPORT) PERL_DL_NONLAZY=1 perl -MExtUtils::Command::MM -e "test_harness(0)" t/*.t; \ - RC=$$?; \ - kill -9 $$SPID; \ - exit $$RC - -localtest: _site - TESTEXPECT=Naemon TESTTARGET=file://$(shell pwd)/_site/ PERL_DL_NONLAZY=1 perl -MExtUtils::Command::MM -e "test_harness(0)" t/*.t - -clean: - rm -rf _site diff --git a/legacy/favicon.ico b/legacy/favicon.ico deleted file mode 100644 index 226cde6..0000000 Binary files a/legacy/favicon.ico and /dev/null differ diff --git a/package.json b/package.json index 416d9b1..545dfb6 100644 --- a/package.json +++ b/package.json @@ -1,13 +1,17 @@ { + "name": "naemon-docs", + "private": true, + "version": "0.0.0", "devDependencies": { "vitepress": "^1.5.0" }, "scripts": { - "docs:dev": "vitepress dev --host", - "docs:build": "vitepress build", - "docs:preview": "vitepress preview" + "docs:dev": "npx vitepress dev --host", + "docs:build": "npx vitepress build", + "docs:preview": "npx vitepress preview" }, "dependencies": { "@fortawesome/fontawesome-free": "^6.7.0" } -} \ No newline at end of file +} +