smart_ide/docs/repo/systemd-units.md
Nicolas Cantu ac96434351 docs: centralize README content under docs/repo/
**Motivations:**
- Single canonical documentation tree under docs/; reduce drift between README copies.

**Evolutions:**
- Add docs/repo/ with operational guides (cron, systemd, projects, logs, docv, ia_dev, services, scripts, extension).
- Replace scattered README.md files with pointers to docs/repo/*.md.
- Refresh docs/README.md index and cross-links across docs/, .cursor rules/agents.
- Bump ia_dev submodule to matching doc pointer commits.
2026-04-03 18:20:31 +02:00

52 lines
1.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Unités systemd (smart_ide)
## Ollama
Installé par l[installateur officiel Ollama Linux](https://ollama.com/download/linux). Unité : `ollama.service`.
Exposer lAPI à Docker sur le même hôte (AnythingLLM) avec un drop-in :
```ini
# /etc/systemd/system/ollama.service.d/override.conf
[Service]
Environment="OLLAMA_HOST=0.0.0.0:11434"
```
Puis : `sudo systemctl daemon-reload && sudo systemctl restart ollama`
Script daide dans le dépôt : `setup/configure-ollama-for-docker.sh` (écrit ce drop-in).
## AnythingLLM
- `anythingllm.service` — image Docker officielle au premier plan sous systemd (`Type=simple`).
- Défauts : `/etc/default/anythingllm` (copier depuis `systemd/anythingllm.default` si absent).
- Helper : `/usr/local/sbin/anythingllm-docker-exec.sh` (installé depuis `scripts/anythingllm-docker-exec.sh`).
Installation / rafraîchissement :
```bash
sudo ./scripts/install-systemd-services.sh
```
Commandes :
```bash
sudo systemctl status anythingllm
sudo systemctl restart anythingllm
journalctl -u anythingllm -f
```
Nécessite `docker.service`, utilisateur autorisé à utiliser Docker, et chemins dans `/etc/default/anythingllm` si stockage non standard.
## Git pull des clones projet (utilisateur, pas root)
Tirage **périodique** des dépôts listés dans `projects/*/conf.json` (voir [cron-git-pull.md](./cron-git-pull.md)) :
- Unités : `systemd/user/git-pull-project-clones.service.in` + `systemd/user/git-pull-project-clones.timer`
- Installation : `scripts/install-git-pull-systemd-user.sh` (écrit dans `~/.config/systemd/user/`, **sans** `sudo`)
- Configuration : `cron/config.env`
## Linger (session fermée)
Les timers **user** ne tournent en général que lorsquune session utilisateur systemd est active. Pour exécuter les timers après déconnexion graphique complète, activer le **linger** pour lutilisateur : `loginctl enable-linger <user>` (décision dadministration machine).