This is an automated email from the ASF dual-hosted git repository.
xuang7 pushed a commit to branch release/v1.2
in repository https://gitbox.apache.org/repos/asf/texera.git
The following commit(s) were added to refs/heads/release/v1.2 by this push:
new 7628e26b8e fix(dev): update single-node restart policy [release/v1.2
backport] (#5933)
7628e26b8e is described below
commit 7628e26b8ea4f03dd3b09b23d8a4dec6f7dc2f64
Author: Tanishq Gandhi <[email protected]>
AuthorDate: Wed Jun 24 11:14:57 2026 -0700
fix(dev): update single-node restart policy [release/v1.2 backport] (#5933)
### What changes were proposed in this PR?
- Backport of #5752 to `release/v1.2`, applied as `git cherry-pick -x
8a90f1f66`.
- Updates the single-node Docker Compose restart policy for the 12
long-running services from `always` to `unless-stopped` (postgres,
lakefs, lakekeeper, file-service, config-service,
access-control-service, workflow-computing-unit-managing-service,
workflow-compiling-service, workflow-runtime-coordinator-service,
dashboard-service, litellm, agent-service).
- This keeps automatic restart behavior for service stability, while
preventing containers from automatically restarting after a user
explicitly stops them.
- The cherry-pick applied cleanly with no conflicts; one-shot jobs that
already use `restart: "no"` are unchanged.
### Any related issues, documentation, discussions?
Related to #4039 (closed on `main` by #5752).
### How was this PR tested?
Behavior is unchanged from #5752 (config-only). On `release/v1.2` the
compose file was validated with:
```bash
docker compose -f bin/single-node/docker-compose.yml config --quiet
```
and the resulting policy confirmed via:
```bash
docker inspect texera-postgres texera-lakefs dashboard-service litellm \
--format '{{.Name}} {{.HostConfig.RestartPolicy.Name}}'
```
### Was this PR authored or co-authored using generative AI tooling?
No
---
bin/single-node/docker-compose.yml | 24 ++++++++++++------------
1 file changed, 12 insertions(+), 12 deletions(-)
diff --git a/bin/single-node/docker-compose.yml
b/bin/single-node/docker-compose.yml
index e26fe8aa95..a7efb81382 100644
--- a/bin/single-node/docker-compose.yml
+++ b/bin/single-node/docker-compose.yml
@@ -62,7 +62,7 @@ services:
postgres:
image: groonga/pgroonga:4.0.1-debian-15
container_name: texera-postgres
- restart: always
+ restart: unless-stopped
env_file:
- .env
healthcheck:
@@ -79,7 +79,7 @@ services:
lakefs:
image: treeverse/lakefs:1.51
container_name: texera-lakefs
- restart: always
+ restart: unless-stopped
depends_on:
postgres:
condition: service_healthy
@@ -122,7 +122,7 @@ services:
lakekeeper:
image: vakamo/lakekeeper:v0.11.0
container_name: texera-lakekeeper
- restart: always
+ restart: unless-stopped
depends_on:
postgres:
condition: service_healthy
@@ -269,7 +269,7 @@ services:
file-service:
image:
${IMAGE_REGISTRY:-ghcr.io/apache}/texera-file-service:${IMAGE_TAG:-latest}
container_name: file-service
- restart: always
+ restart: unless-stopped
depends_on:
minio:
condition: service_started
@@ -287,7 +287,7 @@ services:
config-service:
image:
${IMAGE_REGISTRY:-ghcr.io/apache}/texera-config-service:${IMAGE_TAG:-latest}
container_name: config-service
- restart: always
+ restart: unless-stopped
depends_on:
postgres:
condition: service_healthy
@@ -303,7 +303,7 @@ services:
access-control-service:
image:
${IMAGE_REGISTRY:-ghcr.io/apache}/texera-access-control-service:${IMAGE_TAG:-latest}
container_name: access-control-service
- restart: always
+ restart: unless-stopped
depends_on:
postgres:
condition: service_healthy
@@ -319,7 +319,7 @@ services:
workflow-computing-unit-managing-service:
image:
${IMAGE_REGISTRY:-ghcr.io/apache}/texera-workflow-computing-unit-managing-service:${IMAGE_TAG:-latest}
container_name: workflow-computing-unit-managing-service
- restart: always
+ restart: unless-stopped
depends_on:
postgres:
condition: service_healthy
@@ -335,7 +335,7 @@ services:
workflow-compiling-service:
image:
${IMAGE_REGISTRY:-ghcr.io/apache}/texera-workflow-compiling-service:${IMAGE_TAG:-latest}
container_name: workflow-compiling-service
- restart: always
+ restart: unless-stopped
depends_on:
file-service:
condition: service_started
@@ -351,7 +351,7 @@ services:
workflow-runtime-coordinator-service:
image:
${IMAGE_REGISTRY:-ghcr.io/apache}/texera-workflow-execution-coordinator:${IMAGE_TAG:-latest}
container_name: workflow-runtime-coordinator-service
- restart: always
+ restart: unless-stopped
depends_on:
workflow-compiling-service:
condition: service_started
@@ -368,7 +368,7 @@ services:
dashboard-service:
image:
${IMAGE_REGISTRY:-ghcr.io/apache}/texera-dashboard-service:${IMAGE_TAG:-latest}
container_name: dashboard-service
- restart: always
+ restart: unless-stopped
depends_on:
workflow-runtime-coordinator-service:
condition: service_started
@@ -390,7 +390,7 @@ services:
litellm:
image: ghcr.io/berriai/litellm:v1.83.10-stable
container_name: litellm
- restart: always
+ restart: unless-stopped
# Keys read from shell first, falling back to .env.
environment:
ANTHROPIC_API_KEY: ${ANTHROPIC_API_KEY:-}
@@ -411,7 +411,7 @@ services:
agent-service:
image:
${IMAGE_REGISTRY:-ghcr.io/apache}/texera-agent-service:${IMAGE_TAG:-latest}
container_name: agent-service
- restart: always
+ restart: unless-stopped
depends_on:
dashboard-service:
condition: service_healthy