https://github.com/max-te/barrels
A dwarven customary container format for Wine hoarding
https://github.com/max-te/barrels
Last synced: about 1 year ago
JSON representation
A dwarven customary container format for Wine hoarding
- Host: GitHub
- URL: https://github.com/max-te/barrels
- Owner: max-te
- License: mit
- Created: 2024-11-27T19:31:10.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-02-23T19:46:29.000Z (over 1 year ago)
- Last Synced: 2025-02-23T20:31:42.410Z (over 1 year ago)
- Language: Shell
- Homepage:
- Size: 10.7 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Barrels - Customary dwarven Wine hoarding containers
Version 1: Alder
A tool for creating portable, self-contained Wine environments using [dwarfs](https://github.com/mhx/dwarfs) compressed filesystem images. It allows you to package Windows applications (primarily games) into portable containers that can be easily distributed and run on Linux systems.
## Overview
Barrels packages Wine and Wine Mono ([Kron4ek builds](https://github.com/Kron4ek/Wine-Builds)) into a single compressed archives using the dwarfs filesystem. The main executable (`barrels`) serves as both a Wine environment and a driver for creating and running application containers, allowing you to create portable Windows application packages that can run anywhere with just the driver and the application's `.dwarfs` container.
## Prerequisites
- Linux system
- dwarfs filesystem tools (`dwarfs`, `mkdwarfs`)
- fuse-overlayfs
- wget
- Basic build tools (make, tar)
## Building
To build the Wine environment driver:
```bash
make barrels
```
This will:
1. Download the required Wine and Wine Mono versions
2. Create a Wine prefix with necessary components
3. Package everything into a compressed dwarfs filesystem
4. Create a self-contained executable driver
## Usage
### Creating Application Containers
To create a new application container:
```bash
./barrels --create .dwarfs
```
This will set up the necessary mounts and Wine prefix.
You now need to do the following:
1. Install your Windows application into the Wine prefix
2. Create an `entrypoint.sh` script (example provided in `example-entrypoint.sh`)
Once you're done, exit the shell, and the application container will be created.
### Editing Application Containers
To modify an existing application container:
```bash
./barrels --edit .dwarfs
```
This will mount the existing container and allow you to make changes to it.
The original container will be backed up as `.dwarfs.backup` before creating
the new container with your changes.
### Running Applications
To run a packaged application:
```bash
./barrels .dwarfs [-- ]
```
The application container will be mounted and launched according to its entrypoint script.
Any arguments after `--` will be passed to the entrypoint script.
Alternatively, you can specify a command to run instead of the entrypoint:
```bash
./barrels .dwarfs [...]
```
User data will be stored in `~/.local/share/dwarf-`.