https://github.com/jenssegers/captain
⚓️ Easily start and stop docker compose projects
https://github.com/jenssegers/captain
Last synced: 8 months ago
JSON representation
⚓️ Easily start and stop docker compose projects
- Host: GitHub
- URL: https://github.com/jenssegers/captain
- Owner: jenssegers
- Created: 2017-12-01T20:04:33.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2022-12-08T07:39:21.000Z (over 3 years ago)
- Last Synced: 2025-04-09T23:15:54.691Z (11 months ago)
- Language: Go
- Homepage:
- Size: 1.92 MB
- Stars: 244
- Watchers: 8
- Forks: 11
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- fucking-awesome-docker - captain - Easily start and stop docker compose projects from any directory. By [@jenssegers](https://github.com/jenssegers) (Container Operations / User Interface)
- awesome-docker - captain - Easily start and stop docker compose projects from any directory. By [jenssegers](https://github.com/jenssegers). (Container Operations / User Interface)
- awesome-docker - captain - Easily start and stop docker compose projects from any directory. By [@jenssegers](https://github.com/jenssegers) (Container Operations / User Interface)
- awesome-docker - captain - Easily start and stop docker compose projects from any directory. By [@jenssegers](https://github.com/jenssegers) (Container Operations / User Interface)
README
# Captain
[](https://travis-ci.org/jenssegers/captain)
Easily start and stop docker compose projects with captain, arrrrr.
## Installation
Binaries can be manually downloaded from GitHub releases: https://github.com/jenssegers/captain/releases
#### OSX
```
curl -L https://github.com/jenssegers/captain/releases/download/0.3.3/captain-osx > /usr/local/bin/captain && chmod +x /usr/local/bin/captain
```
#### Linux
```
curl -L https://github.com/jenssegers/captain/releases/download/0.3.3/captain-linux > /usr/local/bin/captain && chmod +x /usr/local/bin/captain
```
#### Windows (untested)
Download `captain.exe` via https://github.com/jenssegers/captain/releases/download/0.3.3/captain.exe
## Usage
Captain searches for docker-compose projects in your `$HOME` folder and allows you to start and stop those projects by matching the project's directory name.
### Starting a project
If I have a folder called `my-secret-project` that contains a `docker-compose.yml` file, I can start that project using:
```
captain start my-secret-project
```
Captain will also do partial matching of the project name, so that you can also use:
```
captain start secret
```
Captain is smart, and does fuzzy matching:
```
captain start scrt
```
### Stopping a project
Stopping a project works similarly:
```
captain stop secret
```
### Restarting a project
Restart a project using:
```
captain restart my-secret-project
```
### Viewing project logs
View logs of a project using:
```
captain logs my-secret-project
```
### Listing projects
You can see all managable projects using:
```
captain list
```
### Stopping all containers
To quickly stop all running docker containers, use:
```
captain abandon
```
### Executing command in a service
Executing command in a running service container
```
captain exec
captain exec my-secret-project web bash
```
Executing command as a new service container
```
captain run
captain run my-secret-project cli bash
```
## Tweak the running
You can tweak some behaviour through some environmental variables:
* CAPTAIN_ROOT: the starting directory from where the docker-compose are searched (default: home dir of the user)
* CAPTAIN_DEPTH: the number of subdirectory where to search the docker-compose.yml files (default: 5)