nextcloud / nextcloud/documentation

Suggestion: Add systemd example for AI worker using Docker (docker exec) to documentation

Open Beginner friendly
#13,075 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

1. to develop good first issue
Dominant language
JavaScript
Stars
628
Forks
2.5k
Avg merge
2d 11h
Merged PRs (30d)
135

Description

Thanks for helping improve our documentation!
  • There is always room for improvement!
  • All contributions (changes and change ideas) - from the largest to the tiniest - help make Nextcloud better and easier to use!

I recently set up the AI worker as described in the AI Overview Documentation and it worked great. However, I noticed the systemd service example provided assumes the worker is run via a local script or PHP command.

For those of us using Nextcloud AIO or running Nextcloud inside a Docker container, it would be really helpful to include a systemd example that uses docker exec to run the AI worker inside the container.

Here is a working setup that might be useful for the docs:

nextcloud-ai-worker@.service

[Unit]
Description=Nextcloud AI worker %i
After=network.target docker.service # Waits for Docker service to be up and running
Requires=docker.service # Ensures Docker service must be active before this service starts

[Service]
ExecStart=/mnt/data/docker/nextcloud/taskprocessing.sh %i
Restart=always
StartLimitInterval=60
StartLimitBurst=10

[Install]
WantedBy=multi-user.target

taskprocessing.sh

#!/bin/bash
echo "Starting Nextcloud AI Worker $1"
docker exec -u www-data -i nextcloud-aio-nextcloud php occ background-job:worker -t 60 "OC\\TaskProcessing\\SynchronousBackgroundJob"

Note: It’s important to use -i without -t in docker exec to avoid the "input device is not a TTY" error when running under systemd. Or maybe there's something that can still be improved in the script or command above?


Notes
  • Please be patient: this is a large open source project that is overseen by a mixture of volunteers and non-volunteers which are all ultimately busy.
  • If your suggestion is a troubleshooting scenario or one you're not 100% certain about, please post for feedback on the Nextcloud Help Forum first.
    • Then return here to bring back your experience to help improve the documentation for clarity, etc. (and link back to the forum discussion in your report!)
Protip: If you want to help move things along (or just help out in other ways too) here are some suggestions:
  • Look for areas where you can assist - even seemingly unrelated areas - because doing so frees up resources for your favorite topics and ideas.
  • Submit a proposed change - that attempts to addresses your issue - as a pull request.
  • Participate in a discussion on some other unresolved submitted idea ("issues") to help move it along.
  • Post a comment or review on someone else's proposed change ("pull request") to help move it along.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the AI Overview Documentation's systemd service section linked in the issue, then compare its existing example with the proposed nextcloud-ai-worker@.service and taskprocessing.sh snippets. Done means the section includes a clear Docker-based example using docker exec without allocating a TTY, with wording and commands that fit the documented AI worker setup.

Written by the indexing model from the issue text.

Assessment

Tech stack
bash, docker
Domain
devops, documentation
Issue type
Documentation
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.