Skip to content

feat: Updated for podman support - #82

Open
aneillans wants to merge 1 commit into
Portabase:mainfrom
aneillans:feat/podman_support
Open

feat: Updated for podman support#82
aneillans wants to merge 1 commit into
Portabase:mainfrom
aneillans:feat/podman_support

Conversation

@aneillans

@aneillans aneillans commented Jul 17, 2026

Copy link
Copy Markdown

Adding support for Podman into the Portabase Agent; appears this is all that is needed to get volume support going!

I also updated the contrib doc as it was missing chunks (reference to stuff in readme that ... wasnt there)

I presume to properly close Portabase/portabase#391, there will need to be a companion update to the cli to detect podman client as well as docker?

Summary by CodeRabbit

  • New Features

    • Added support for running local development services with Docker or Podman.
    • Added configurable environment settings for agent access, database seeding, container sockets, Redis, and helper images.
    • Added automatic setup for required container networks and database volumes.
    • Improved compatibility with rootless Podman environments.
  • Bug Fixes

    • Improved container identification across Docker and Podman.
    • Updated Redis readiness checks for improved reliability.
  • Documentation

    • Updated contributor setup instructions with Docker-based development steps.

@coderabbitai

coderabbitai Bot commented Jul 17, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: d7eeb6b9-3d79-4a08-b812-907c1f308721

📥 Commits

Reviewing files that changed from the base of the PR and between 82ffb71 and 8cdd956.

📒 Files selected for processing (8)
  • .env.example
  • .github/CONTRIBUTING.md
  • docker-compose.test.yml
  • docker-compose.yml
  • docker/entrypoints/app-dev-entrypoint.sh
  • entrypoint.sh
  • src/domain/docker_volume/docker.rs
  • src/tests/domain/docker_volume.rs

📝 Walkthrough

Walkthrough

The development setup now supports Docker and Podman, configurable container sockets, engine-specific Compose orchestration, external resource provisioning, and Podman container ID extraction. Environment templates, setup documentation, and Redis readiness checks were also updated.

Changes

Podman-compatible development runtime

Layer / File(s) Summary
Runtime configuration and setup
.env.example, docker-compose.yml, docker-compose.test.yml, .github/CONTRIBUTING.md, entrypoint.sh
Adds environment templates and configurable socket mounts, documents Docker-based setup commands, and targets Redis through 127.0.0.1.
Engine detection and service orchestration
docker/entrypoints/app-dev-entrypoint.sh
Detects Docker or Podman, resolves Compose, creates required network and volume resources, configures Podman sockets, and starts services through the selected Compose implementation.
Podman container ID extraction
src/domain/docker_volume/docker.rs, src/tests/domain/docker_volume.rs
Recognizes additional Podman path markers and tests extraction from rootless mountinfo and libpod cgroup paths.

Estimated code review effort: 3 (Moderate) | ~25 minutes

Sequence Diagram(s)

sequenceDiagram
  participant Developer
  participant app-dev-entrypoint.sh
  participant ContainerEngine
  participant Compose
  participant Services
  Developer->>app-dev-entrypoint.sh: start development environment
  app-dev-entrypoint.sh->>ContainerEngine: detect Docker or Podman
  app-dev-entrypoint.sh->>ContainerEngine: inspect or create network and volume
  app-dev-entrypoint.sh->>Compose: resolve and invoke Compose
  Compose->>Services: stop databases and start service stack
Loading

Possibly related PRs

  • Portabase/agent#53: Modifies the development entrypoint and Compose wiring for stack startup and environment handling.
  • Portabase/agent#55: Modifies rust-app environment templating for EDGE_KEY.

Suggested reviewers: rambokdev

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 66.67% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly reflects the main change: adding Podman support.
Linked Issues check ✅ Passed The PR adds Podman-aware socket, compose, volume, and parsing support needed for mixed Docker/Podman backups.
Out of Scope Changes check ✅ Passed The changes stay focused on Podman support and related setup/docs, with no unrelated feature work evident.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai
coderabbitai Bot requested a review from RambokDev July 17, 2026 18:10

@Asuniia Asuniia left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

pls remove all comments in your code

Comment thread .github/CONTRIBUTING.md
Comment thread docker-compose.yml
EDGE_KEY: "eyJzZXJ2ZXJVcmwiOiJodHRwOi8vbG9jYWxob3N0Ojg4ODciLCJhZ2VudElkIjoiZWZhYTM0YTQtZDY1NC00OGQ3LTgwNDYtNjRkMWExYTA1M2FlIiwibWFzdGVyS2V5QjY0IjoiMUh0djdtWCtYVkJxL0IzUEV2WDlZZjlQeUdVZW5oRHlXemo5THRqNW90WT0ifQ=="
# Reach the container-local Redis by IP; "localhost" is remapped to the
# host by the extra_hosts entry below, which would break the connection.
CELERY_BROKER_URL: "redis://127.0.0.1:65515/"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why? @RambokDev

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Podman support?

2 participants