1.4 KiB
1.4 KiB
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
plnwith 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/bashshebang withset -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
curlwith 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.