Repository navigation
Add install script for RHEL/Debian/Ubuntu servers - #116
Open
webbpinner wants to merge 1 commit into
Open
webbpinner wants to merge 1 commit into
webbpinner wants to merge 1 commit into
Conversation
install.sh installs Node.js (NodeSource), MongoDB 8.0 and sealog-server on AlmaLinux/Rocky/RHEL 9-10, Debian 12-13 and Ubuntu 24.04/26.04, and runs it as the sealog-server systemd service under a dedicated user. Generates .env with a JWT secret, creates config/*.js from the .dist templates, and is safe to re-run without overwriting configuration. Debian 13 and Ubuntu 26.04 use the bookworm/noble MongoDB packages since MongoDB does not yet publish server packages for them. When mongod aborts on Linux >= 6.19 (SERVER-121912), a systemd drop-in re-enables glibc rseq so it can start. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds
install.sh, which installs sealog-server on a fresh server and runs it as a systemd service:--mongo-url).sealogsystem user, and clones2.xinto/opt/sealog-server.config/*.jsfrom the.disttemplates and writes.env(mode 600) with a generatedSEALOG_SERVER_SECRET.npm ci --omit=dev --ignore-scripts, installs thesealog-serversystemd unit, and checks that the API responds..env.--port,--ref,--install-dir,--files-dir,--mongo-url,--mode demo-vehicle|demo-vessel,--with-python,--open-firewall(firewalld/ufw),-y. See--help.Also adds a "Quick install" section to
INSTALL.md.Distro quirks handled
libssl3/libcurl4dependencies are satisfied by thet64packages.mongod.servicesetsGLIBC_TUNABLES=glibc.pthread.rseq=0, which makes MongoDB 8.x refuse to start (SERVER-121912). Only when that error is detected, the script adds a drop-in that unsets it and restarts mongod (MongoDB then logs a tcmalloc performance warning).requirements.txtneeds ≥ 3.10, so--with-pythonusespython3.12.Test plan
--with-python, start mongod and the server, log in asadmin, import Python deps, and re-run the script cleanly/documentationreturn 200, login works, firewalld/ufw port opened, re-run is cleanNote: the
curlone-liner inINSTALL.mdpoints at the2.xbranch, so it works once this is released.🤖 Generated with Claude Code