This commit is contained in:
ncd
2025-12-04 22:37:47 +01:00
parent c16d5ea349
commit ab4a753979

View File

@@ -7,9 +7,11 @@ set -e
# Environment variables # Environment variables
POD_NAME='langflow_pod' POD_NAME='langflow_pod'
LANGFLOW_CTR_NAME='langflow_ctr' LANGFLOW_CTR_NAME='langflow_ctr'
LANGFLOW_IMAGE='docker.io/langflowai/langflow:v1.6.9' # Use a valid Langflow image tag
LANGFLOW_IMAGE='docker.io/langflowai/langflow:1.6.9'
POSTGRES_CTR_NAME='postgres' POSTGRES_CTR_NAME='postgres'
POSTGRES_IMAGE='docker.io/library/postgres:18.1' # Match original docker-compose version
POSTGRES_IMAGE='docker.io/library/postgres:16'
HOST_LOCAL_IP='127.0.0.1' HOST_LOCAL_IP='127.0.0.1'
# Expose Langflow on 8090 -> 7860; Postgres is only reachable inside the pod # Expose Langflow on 8090 -> 7860; Postgres is only reachable inside the pod
LANGFLOW_HOST_PORT='8090' LANGFLOW_HOST_PORT='8090'
@@ -31,9 +33,9 @@ else
echo "Pod '$POD_NAME' already exists." echo "Pod '$POD_NAME' already exists."
fi fi
# Remove any old containers # Remove any old containers (ignore errors if they don't exist)
podman rm -f "$LANGFLOW_CTR_NAME" podman rm -f "$LANGFLOW_CTR_NAME" || true
podman rm -f "$POSTGRES_CTR_NAME" podman rm -f "$POSTGRES_CTR_NAME" || true
# Postgres container # Postgres container
podman run -d --name "$POSTGRES_CTR_NAME" --pod "$POD_NAME" \ podman run -d --name "$POSTGRES_CTR_NAME" --pod "$POD_NAME" \
@@ -45,8 +47,10 @@ podman run -d --name "$POSTGRES_CTR_NAME" --pod "$POD_NAME" \
echo "Container '$POSTGRES_CTR_NAME' started (rc=$?)" echo "Container '$POSTGRES_CTR_NAME' started (rc=$?)"
# Langflow container # Langflow container
# In a Podman pod all containers share the same network namespace,
# so Postgres is reachable via localhost instead of the container name.
podman run -d --name "$LANGFLOW_CTR_NAME" --pod "$POD_NAME" \ podman run -d --name "$LANGFLOW_CTR_NAME" --pod "$POD_NAME" \
-e LANGFLOW_DATABASE_URL=postgresql://langflow:langflow@postgres:5432/langflow \ -e LANGFLOW_DATABASE_URL=postgresql://langflow:langflow@localhost:5432/langflow \
-e LANGFLOW_CONFIG_DIR=/app/langflow \ -e LANGFLOW_CONFIG_DIR=/app/langflow \
-v "$LANGFLOW_DATA_DIR:/app/langflow:Z" \ -v "$LANGFLOW_DATA_DIR:/app/langflow:Z" \
"$LANGFLOW_IMAGE" "$LANGFLOW_IMAGE"
@@ -58,7 +62,7 @@ podman generate systemd --name --new --files "$POD_NAME"
echo "Generated systemd service files (rc=$?)" echo "Generated systemd service files (rc=$?)"
# Stop & remove live pod and containers # Stop & remove live pod and containers
podman pod stop --ignore --time 15 "$POD_NAME" podman pod stop --ignore --time 30 "$POD_NAME"
podman pod rm -f --ignore "$POD_NAME" podman pod rm -f --ignore "$POD_NAME"
if podman pod exists "$POD_NAME"; then if podman pod exists "$POD_NAME"; then
echo "ERROR: Pod $POD_NAME still exists." >&2 echo "ERROR: Pod $POD_NAME still exists." >&2