Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/rgolangh/gnome-shell-extension-containers

containers is a gnome-shell extension to manage linux container, run by podman
https://github.com/rgolangh/gnome-shell-extension-containers

containers gnome podman

Last synced: 15 days ago
JSON representation

containers is a gnome-shell extension to manage linux container, run by podman

Awesome Lists containing this project

README

        

![Project Icon](src/podman-icon.png)
# GNOME Shell Extension: Containers

**Manage Linux containers seamlessly using Podman within the GNOME Shell.**

![GitHub stars](https://img.shields.io/github/stars/rgolangh/gnome-shell-extension-containers)
![GitHub issues](https://img.shields.io/github/issues/rgolangh/gnome-shell-extension-containers)

## Features ✨

This extension provides a convenient GNOME Shell menu to manage your Podman containers. Supported actions include:

- **Start**: Initialize containers. πŸš€
- **Stop**: Terminate running containers. πŸ›‘
- **Remove**: Delete containers. πŸ—‘οΈ
- **Pause**: Suspend container processes. ⏸️
- **Restart**: Reboot containers. πŸ”„
- **Top Resources**: Display resource usage stats. πŸ“Š
- **Shell Access**: Open a terminal shell in the container. πŸ”§
- **Live Stats**: View real-time statistics in a new terminal. πŸ“ˆ
- **Logs Monitoring**: Follow logs in a new terminal session. πŸ“‹
- **Inspect Info**: View and copy detailed inspection information. πŸ”

## Installation πŸ› οΈ

### From GNOME Extensions Page 🌐
You can install this extension directly from the [GNOME Extensions page](https://extensions.gnome.org/extension/1500/containers/).

### From Source πŸ“‚

1. **Clone the repository:**
```bash
git clone https://github.com/rgolangh/gnome-shell-extension-containers
cd gnome-shell-extension-containers
```

2. Build and install:

```bash
make all
```

3. Enable the extension:

```bash
make enable
```

Alternatively, enable it via Extensions -> Toggle 'Containers'.

## Preferences βš™

- __*extra-info*__
Show information about the container, see the screenshot
- __*terminal*__
The terminal program to use when performing the `Show Logs`, `Watch Top`, `Open Shell`, and `Watch Statistics`

Tested values:
| value | notes |
| ----- | ----- |
|__*gnome-terminal --*__| default terminal program for all gnome version till 46, inclusive |
|__*ptyxis --*__| default terminal program for gnome version from 47 onward |
|__*kitty*__| no extra arguments needed |
|__*flatpak run app.studiodev.Ptyxis --*__| Some flatpak environments doesn't have podman on the path |
|__*flatpak run com.gexperts.Tilix -e*__| Some flatpak environments doesn't have podman on the path |

Note: The value for __*terminal*__ may not work for you. Please report any working value you have so in time we would have a proper list.
There is a system wide gsettings `org.gnome.desktop.default-applications.terminal exec` but depending on the value different args are needed, as seen from above.

## Development / Contributing 🀝

To contribute to the development of this extension:

Clone the repository and make your changes.
Debugging: Spin up an inline GNOME Shell session in a dedicated window:

```bash
make debug
```

Contributions are welcome! Please ensure your code follows the project’s style guidelines and is thoroughly tested before submitting a pull request.

## Screenshot πŸ“Έ

![Project Icon](screenshot.png)

## License πŸ“œ

Apache-2.0 License