diff --git a/compose.prod.yaml b/compose.prod.yaml index 54f682fbe..c5104c4a5 100644 --- a/compose.prod.yaml +++ b/compose.prod.yaml @@ -104,7 +104,6 @@ services: expose: - "5432" volumes: - - "./compose/postgres:/docker-entrypoint-initdb.d:ro" - "postgres-data-prod:/var/lib/postgresql/data:rw" environment: POSTGRES_USER: "postgres" @@ -158,10 +157,32 @@ volumes: seaweedfs-data: configs: - # Read fresh from the repo on every `up`, then mounted as a real file in - # the container (not a host bind mount). Avoids the classic Docker footgun - # where a bind-mounted file whose host source doesn't exist yet at - # container-creation time gets silently auto-created as a directory - # instead — which is what caused "s3.json: is a directory" here. + # Inlined (not `file:`) because Coolify only deploys this compose file + # itself into its artifacts directory — sibling repo files like + # compose/seaweedfs/s3.json aren't present there, so any reference to an + # external path (bind mount or `configs.file:`) fails with "source path + # does not exist". Keeping the content inline makes this file + # self-contained regardless of what the deploy environment checks out. seaweedfs_s3_json: - file: ./compose/seaweedfs/s3.json + content: | + { + "identities": [ + { + "name": "probod", + "credentials": [ + { + "accessKey": "probod", + "secretKey": "thisisnotasecret" + } + ], + "actions": [ + "Admin", + "Read", + "Write", + "List", + "Tagging", + "Lock" + ] + } + ] + }