otherworld/README.md

56 lines
1.9 KiB
Markdown

# Otherworld
Otherworld creates a persistent Docker container running your choice of GNU/Linux distribution, with a matching user account (no need to run everything as root) and with x11 and PulseAudio mappings. The container is created the first time you run otherworld and sticks around until you dispose of it manually.
## Usage
### Run command as user
`otherworld <command> <arguments>`
### Run command as root
`otherworld --sudo <command> <arguments>`
### Run command without printing anything else
`otherworld --quiet <command> <arguments>`
### Remove the container
`otherworld --rm`
## Arguments
These are arguments that go between `otherworld` and the command.
### --container=<container>
Name to assign to container (default: `otherworld_$USER`)
### --image=<image>
Image to create the container with (default: `image_$CONTAINER_NAME`, or `debian:stable` if that image does not exist)
### --sudo
Runs command as root, instead of current user.
### --rm
Removes the specified container.
### --rmi
Removes image generated by the `otherworld` script (`image_$CONTAINER_NAME`)
### --commit
Commits the container to an image named `image_$CONTAINER_NAME`.
### --build=<path>
Path to build context to build the image from. This overrides `--image`/`OW_IMAGE`. The resulting image is named `image_$CONTAINER_NAME`
### --volume=<volume>
Volume to map to the container. `~` is expanded automatically. If the directory exists in the user's home directory it will be created to ensure it has the correct ownership and permissions.
### --env=<key>=<value>
Set the environment variable `key` to `value` in the command. **Note that this does not set environment variables in the container itself**.
## Environment variables
### OW_IMAGE
Image to create the container with (default: `debian:stable`)
### OW_CONTAINER
Name to assign to container (default: `otherworld_$USER`)
## License
[GNU GPL v3](https://www.gnu.org/licenses/gpl-3.0.en.html) or later