https://github.com/lkdm/oneshot
Oneshot makes it easy to use CLI programs inside a temporary container.
https://github.com/lkdm/oneshot
podman shell-scripts
Last synced: about 2 months ago
JSON representation
Oneshot makes it easy to use CLI programs inside a temporary container.
- Host: GitHub
- URL: https://github.com/lkdm/oneshot
- Owner: lkdm
- License: gpl-3.0
- Created: 2025-02-21T23:55:30.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-08-28T05:42:37.000Z (10 months ago)
- Last Synced: 2026-03-31T06:35:21.854Z (3 months ago)
- Topics: podman, shell-scripts
- Language: Rust
- Homepage:
- Size: 8.48 MB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Oneshot
Oneshot executes arbitrary scripts or starts a shell in a minimal temporary Podman container. It is designed to be an ergonomic interface for creating one-off scripts inside of short-lived temporary containers.
## Usage
### Interactive shell
```sh
oneshot shell
```
### Run command
#### Download a YouTube video
This script installs `yt-dlp` using `uv` and runs it.
```sh
oneshot run -s "yt-dlp dQw4w9WgXcQ" --from-uv yt-dlp
```
## Development
You can develop within a devcontainer that includes Rust, Homebrew, NeoVim,
Docker-outside-of-docker, and Podman features.
```sh
devpod up .
devpod ssh .
```
Then just use cargo to interact with the application. Arguments after the `--`
are read by the app.
```sh
cargo run -- --help
```
Example
```sh
cargo run -- run -s "yt-dlp dQw4w9WgXcQ" --from-uv yt-dlp
```