mirror of
https://github.com/tiennm99/composes.git
synced 2026-10-11 03:13:16 +00:00
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:
1 parent
f38a3a2871
commit
7aafbd2d8b
2 files changed
+32
-25
No files matched your search
@@ -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
|
||||
|
||||
|
||||
@@ -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`.
|
||||
Reference in new issue
Block a user