Files
bin/CLAUDE.md
2026-03-15 18:03:08 +01:00

32 lines
1.4 KiB
Markdown

# CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
## Overview
Personal `~/bin` repository containing Podman pod creation scripts for self-hosted services on a Linux server. Each script creates a rootless Podman pod with systemd user service integration.
## Repository
- Main branch: `main`
- Remote: `ssh://git@git.destengs.com:8085/pln/bin.git` (Gitea)
- Run by user `pln` with rootless Podman permissions
## Shell script conventions
All pod creation scripts follow the same pattern (see existing scripts and examples in `/home/lwc/bin/create_pod_langflow.sh`, `/home/krt/bin/create_pod_qdrant.sh`):
- Naming: `create_pod_<service>.sh`
- `#!/bin/bash` shebang with `set -e`
- Variables declared at top: `POD_NAME`, `CTR_NAME`, container images with pinned tags, ports, bind dirs
- Data persisted under `$HOME/.local/share/<pod_name>/`
- Pod ports bound to `127.0.0.1` (localhost only)
- Containers removed and recreated on each run (idempotent)
- Systemd user service files generated via `podman generate systemd --name --new --files`
- Pod stopped/removed after systemd generation, then re-started via `systemctl --user enable --now`
- Readiness check loop using `curl` with 30 attempts, 2s interval
## Current services
- **AFFiNE** (`create_pod_affine.sh`): AFFiNE v0.26.3 with pgvector/PostgreSQL and Redis. Web UI on port 8092, GraphQL API at `/graphql`.