Skip to content

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
    • Help
    • Submit feedback
    • Contribute to GitLab
  • Sign in
haskell-gargantext
haskell-gargantext
  • Project
    • Project
    • Details
    • Activity
    • Releases
    • Cycle Analytics
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Charts
  • Issues 180
    • Issues 180
    • List
    • Board
    • Labels
    • Milestones
  • Merge Requests 12
    • Merge Requests 12
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
    • Charts
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Charts
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • gargantext
  • haskell-gargantexthaskell-gargantext
  • Issues
  • #496

Closed
Open
Opened Jul 21, 2025 by Przemyslaw Kaminski@cgenie
  • Report abuse
  • New issue
Report abuse New issue

Change the way we run server/workers on public machines

Currently, we run server/wokers via ./bin/run which just calls server start-all.

This is fine & quick for dev mode, but for public machines it is suboptimal and causes confusion, like in #495 .

I propose to:

  1. create a systemd job for server to just run: nix-shell --run "cabal v2-run gargantext -- server start --mode Prod --settings-path gargantext-settings.toml"
  2. create a systemd job for workers: nix-shell --run "cabal v2-run gargantext -- worker run-all --settings-path gargantext-settings.toml"
  3. create job templates e.g. under ./devops/systemd so that we have an idea how the job is constructed.

Having jobs in systemd is much better than some command being run in tmux:

  • CPUQuota setting of systemd: we can limit CPU usage of workers, say, to 50% so that server slowness like in #495 is reduced.
  • unified logs in journald
  • automatic startup on boot, restarts on failure
  • possibility to add dependencies, i.e. ggtx server/wokers won't start until postgres is started
Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking
None
Due date
None
0
Labels
None
Assign labels
  • View project labels
Reference: gargantext/haskell-gargantext#496