docs: name supporting services by role and track renames

Supporting containers are db, cache or a short role name; services
declare no networks since Coolify creates one per app. TODO lists the
services whose names still differ.
This commit is contained in:
tiennm99 committed 2026-10-06 17:22:20 +07:00
1 parent f38a3a2871
commit 7aafbd2d8b
2 files changed
+32 -25

No files matched your search

+14 -6
View File
@@ -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 `<service>-<what it holds>`, 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
+18 -19
View File
@@ -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 `<service>-<what it holds>`. 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`.