diff --git a/CLAUDE.md b/CLAUDE.md index 4e3ff86..939c65f 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -22,15 +22,23 @@ supporting container alike. Upstream's official compose file or Docker guide is a starting point, not a spec: adapt it to the conventions in this file rather than copying its layout and names as they are. -Inside `compose.yml`, a service is named after its image — `code-server`, not -`code-server-lsio`. A supporting container may instead be named for its role — -`db`, `database`, `cache` and the like — so the software behind it can be -swapped without renaming: Redis for Valkey, MySQL for MariaDB, or one SQL -database for PostgreSQL. +Inside `compose.yml`, the main service is named after its image — +`code-server`, not `code-server-lsio`. Where the image's repository name is not +the software's (`traffmonetizer/cli_v2`), use the software's name +(`traffmonetizer`). A supporting container is named for its +role, so the software behind it can be swapped without renaming: `db` for any +database, `cache` for Redis, Valkey or Memcached, and a short role name such as +`dockerproxy` for anything else. Swapping Redis for Valkey, MySQL for MariaDB, +or one SQL database for PostgreSQL then leaves every name, hostname and volume +as it is. A volume is named `-`, after the service that mounts it and its mount point or meaning — `code-server-home`, `code-server-workspace`, -`db-data`. A network is named after the main service: `code-server-network`. +`db-data`, `cache-data`. + +Services declare no networks. Coolify creates one per app and attaches every +container to it, so there is nothing to add. Should a service ever need its own, +it is named after the main service: `code-server-network`. ## Installing software in an image diff --git a/TODO.md b/TODO.md index abb9578..a112635 100644 --- a/TODO.md +++ b/TODO.md @@ -1,23 +1,22 @@ # TODO -## Names that differ from the upstream Docker guide +## Supporting service and volume names -Renaming a volume on a running deployment orphans its data, so each rename -needs a volume migration (the `migrate-service` skill), not just an edit. +Supporting containers take a role name — `db` for a database, `cache` for +Redis-like stores — and volumes are `-`. Renaming a +volume on a running deployment orphans its data, so each rename needs a volume +migration (the `migrate-service` skill), not just an edit. A service rename +also changes the hostname other containers reach it by. Update the service +README in the same change. -- [ ] `owncloud` — upstream names its volumes `oc_files`, `mysql` and `redis`; - here they are `owncloud-data`, `owncloud-mysql-data` and - `owncloud-redis-data`. -- [ ] `litellm` — upstream's database service is `db` with volume - `postgres_data`; here it is `postgres` with `pg-data`. -- [ ] `openclaw` — upstream's service is `openclaw-gateway`; here it is - `openclaw`. Upstream uses bind mounts, so the volume names are free. -- [ ] `gitea` — Gitea's install guide names the app service `server`; here it - is `gitea`. Confirm against the current guide before renaming. - -## README contradiction - -- [ ] `code-server-lsio/README.md` says the `universal-docker` mod adds `abc` to - the Docker socket's group, so `docker` works without `sudo`. - `webtop/README.md` says `abc` is not in that group and must use `sudo`. - Both use the same mod; check which is true and fix the other. +- [ ] `litellm` — service `postgres` → `db` and volume `pg-data` → `db-data`; + service `redis` → `cache` and volume `redis-data` → `cache-data`. Point + `DATABASE_URL` at `db` and `REDIS_HOST` at `cache`. +- [ ] `owncloud` — service `mariadb` → `db` and volume `owncloud-mysql-data` → + `db-data`; service `redis` → `cache` and volume `owncloud-redis-data` → + `cache-data`. Point `OWNCLOUD_DB_HOST` at `db` and `OWNCLOUD_REDIS_HOST` + at `cache`. +- [ ] `goclaw` — service `postgres` → `db` and volume `postgres-data` → + `db-data`. Point the host in `GOCLAW_POSTGRES_DSN` at `db`. +- [ ] `couchbase` — volume `couchbase_data` → `couchbase-data`. +- [ ] `open-webui` — volume `open-webui` → `open-webui-data`.