Skip to content
/ Podsy Public

Podsy is a lightweight CLI tool that lets you orchestrate Podman containers using simple YAML files inspired by Docker Compose, built with Go.

License

Notifications You must be signed in to change notification settings

YacineMK/Podsy

Repository files navigation

Podsy

Podsy Logo

A lightweight Podman Compose alternative for managing multi-container applications

🚀 Overview

Podsy is a developer-friendly CLI orchestrator that brings Docker Compose-style workflows to Podman. It lets you define multi-container applications in simple YAML files and run them with a single command.

✨ Features

  • Simple YAML Configuration: Define your multi-container setup in a single file
  • Podman Integration: Leverages Podman's rootless containers for better security
  • Resource Management: Handles networks, volumes, secrets, and configs
  • Self-updating: Easy updates to the latest version with a single command

📥 Installation

Using Pre-built Binaries

Download the latest release from GitHub Releases.

# Download the binary
curl -L -o podsy https://github.com/YacineMK/Podsy/releases/latest/download/podsy-linux-amd64

# Make it executable
chmod +x podsy

# Move to a directory in your PATH
sudo mv podsy /usr/local/bin/

Building from Source

# Clone the repository
git clone https://github.com/YacineMK/Podsy.git
cd Podsy

# Build
make build

# Install
sudo cp dist/podsy /usr/local/bin/

🛠️ Quick Start

  1. Create a podman-compose.yaml file:
version: "0.0.1"

services:
  web:
    image: nginx:alpine
    ports:
      - "8080:80"
    volumes:
      - web-content:/usr/share/nginx/html:ro
    networks:
      - podman

  redis:
    image: redis:alpine
    networks:
      - podman
    volumes:
      - redis-data:/data

networks:
  podman:
    external: true
    name: podman

volumes:
  web-content:
  redis-data:
  1. Start your application:
podsy up
  1. Stop your application:
podsy down

📖 Command Reference

podsy up

Start services defined in a Podman compose file.

podsy up [--file/-f filename]

podsy down

Stop and remove containers (without deleting volumes, configs, or networks).

podsy down [--file/-f filename]

podsy validate

Validate a Podman Compose YAML file.

podsy validate [--file/-f filename]

podsy config

Edit Podman registry configuration file.

podsy config

podsy update

Check for updates and upgrade Podsy to the latest version.

podsy update

podsy version

Print the version of Podsy.

podsy version

🧩 Advanced Features

Using Secrets and Configs

Podsy supports Docker Compose-style secrets and configs:

services:
  web:
    image: nginx:alpine
    secrets:
      - source: web_secret
    configs:
      - source: web_config

secrets:
  web_secret:
    file: ./secret.txt

configs:
  web_config:
    file: ./nginx.conf

🤝 Contributing

Contributions are welcome! Please see our Contributing Guide for more details.

📄 License

Podsy is licensed under the MIT License. See the LICENSE file for details.

About

Podsy is a lightweight CLI tool that lets you orchestrate Podman containers using simple YAML files inspired by Docker Compose, built with Go.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published