<commit_before>![Docker Compose UI](https://raw.githubusercontent.com/francescou/docker-compose-ui/master/static/images/logo.png)

## What is it

Docker Compose UI is a web interface for Docker Compose.

![screenshot project detail](https://raw.githubusercontent.com/francescou/docker-compose-ui/master/screenshots/project-detail.png)

![screenshot project wizard](https://raw.githubusercontent.com/francescou/docker-compose-ui/master/screenshots/project-wizard.png)

![screenshot project logs](https://raw.githubusercontent.com/francescou/docker-compose-ui/master/screenshots/logs.png)


## Requirements

[Docker Engine 1.9.1 or later, or 1.10.0 if you're using version 2 of the Compose File format](https://github.com/docker/compose/releases/tag/1.6.2)

(only if you need Docker clustering) [Docker Swarm 1.0](https://docs.docker.com/swarm/)

## Getting started

Run the following command in terminal:

    docker run \
    --name docker-compose-ui \
    -p 5000:5000 \
    -v /var/run/docker.sock:/var/run/docker.sock \
    francescou/docker-compose-ui:0.14

You have to wait while Docker pulls the container from the Docker Hub: https://registry.hub.docker.com/u/francescou/docker-compose-ui

Then open your browser to `http://localhost:5000`

### Real time notifications (Experimental)

use `francescou/docker-compose-ui:1.0.RC1` if you want to try the new real time notification system, more info on [issue #14](https://github.com/francescou/docker-compose-ui/issues/14)

### Add your own docker-compose projects

If you want to use your own docker-compose projects, put them into a directory */home/user/docker-compose-ui/demo-projects* and then run:

    docker run \
        --name docker-compose-ui \
        -p 5000:5000 \
        -v /home/user/docker-compose-ui/demo-projects:/opt/docker-compose-projects:ro \
        -v /var/run/docker.sock:/var/run/docker.sock \
        francescou/docker-compose-ui:0.14

you can download my example projects into */home/user/docker-compose-ui/demo-projects/* from https://github.com/francescou/docker-compose-ui/tree/master/demo-projects

### Note about scaling services

Note that some of the services provided by the demo projects are not "scalable" with `docker-compose scale SERVICE=NUM` because of published ports conflicts.

Check out this project if you are interested in scaling up and down a docker-compose service without having any down time: https://github.com/francescou/consul-template-docker-compose


### Note about volumes

since you're running docker-compose inside a container you must pay attention to volumes mounted with relative paths, see [Issue #6](https://github.com/francescou/docker-compose-ui/issues/6)

## Remote docker host

You can also run containers on a remote docker host, e.g.

    docker run \
        --name docker-compose-ui \
        -p 5000:5000 \
        -v /home/user/docker-compose-ui/demo-projects:/opt/docker-compose-projects:ro \
        -e DOCKER_HOST=remote-docker-host:2375 \
        francescou/docker-compose-ui:0.14


### Docker Swarm or HTTPS Remote docker host

The project has been tested on a Docker Swarm 1.0 cluster.

You need to add two environment properties to use an HTTPS remote docker host: `DOCKER_CERT_PATH` and `DOCKER_TLS_VERIFY`, see [example by @ymote](https://github.com/francescou/docker-compose-ui/issues/5#issuecomment-135697832)

### Authenticated docker registries

If your projects require you to pull images from a private docker registry that requires authentication, you will need to provide a `docker.json` file with the necessary configuration options to the docker-compose-ui container at `/root/.docker.config.json`. You can generate the file on any host by performing `docker login [your private registry address]` and copying the resulting file from your ~/.docker directory to where it is needed.

For example:

    docker run \
        --name docker-compose-ui \
        -p 5000:5000 \
        -v /home/user/.docker/config.json:/root/.docker/config.json:ro \
        francescou/docker-compose-ui:0.14
<commit_msg>Private repo support documentation #23<commit_after>![Docker Compose UI](https://raw.githubusercontent.com/francescou/docker-compose-ui/master/static/images/logo.png)

## What is it

Docker Compose UI is a web interface for Docker Compose.

![screenshot project detail](https://raw.githubusercontent.com/francescou/docker-compose-ui/master/screenshots/project-detail.png)

![screenshot project wizard](https://raw.githubusercontent.com/francescou/docker-compose-ui/master/screenshots/project-wizard.png)

![screenshot project logs](https://raw.githubusercontent.com/francescou/docker-compose-ui/master/screenshots/logs.png)


## Requirements

[Docker Engine 1.9.1 or later, or 1.10.0 if you're using version 2 of the Compose File format](https://github.com/docker/compose/releases/tag/1.6.2)

(only if you need Docker clustering) [Docker Swarm 1.0](https://docs.docker.com/swarm/)

## Getting started

Run the following command in terminal:

    docker run \
    --name docker-compose-ui \
    -p 5000:5000 \
    -v /var/run/docker.sock:/var/run/docker.sock \
    francescou/docker-compose-ui:0.14

You have to wait while Docker pulls the container from the Docker Hub: https://registry.hub.docker.com/u/francescou/docker-compose-ui

Then open your browser to `http://localhost:5000`

### Real time notifications (Experimental)

use `francescou/docker-compose-ui:1.0.RC1` if you want to try the new real time notification system, more info on [issue #14](https://github.com/francescou/docker-compose-ui/issues/14)

### Add your own docker-compose projects

If you want to use your own docker-compose projects, put them into a directory */home/user/docker-compose-ui/demo-projects* and then run:

    docker run \
        --name docker-compose-ui \
        -p 5000:5000 \
        -v /home/user/docker-compose-ui/demo-projects:/opt/docker-compose-projects:ro \
        -v /var/run/docker.sock:/var/run/docker.sock \
        francescou/docker-compose-ui:0.14

you can download my example projects into */home/user/docker-compose-ui/demo-projects/* from https://github.com/francescou/docker-compose-ui/tree/master/demo-projects

### Note about scaling services

Note that some of the services provided by the demo projects are not "scalable" with `docker-compose scale SERVICE=NUM` because of published ports conflicts.

Check out this project if you are interested in scaling up and down a docker-compose service without having any down time: https://github.com/francescou/consul-template-docker-compose


### Note about volumes

since you're running docker-compose inside a container you must pay attention to volumes mounted with relative paths, see [Issue #6](https://github.com/francescou/docker-compose-ui/issues/6)

## Remote docker host

You can also run containers on a remote docker host, e.g.

    docker run \
        --name docker-compose-ui \
        -p 5000:5000 \
        -v /home/user/docker-compose-ui/demo-projects:/opt/docker-compose-projects:ro \
        -e DOCKER_HOST=remote-docker-host:2375 \
        francescou/docker-compose-ui:0.14


### Docker Swarm or HTTPS Remote docker host

The project has been tested on a Docker Swarm 1.0 cluster.

You need to add two environment properties to use an HTTPS remote docker host: `DOCKER_CERT_PATH` and `DOCKER_TLS_VERIFY`, see [example by @ymote](https://github.com/francescou/docker-compose-ui/issues/5#issuecomment-135697832)

### Authenticated docker registries

If your projects require you to pull images from a private docker registry that requires authentication, you will need to provide a `config.json` file with the necessary configuration options to the docker-compose-ui container at `/root/.docker/config.json`. You can generate the file on any host by performing `docker login [your private registry address]` and copying the resulting file from your ~/.docker directory to where it is needed.

For example:

    docker run \
        --name docker-compose-ui \
        -p 5000:5000 \
        -v /home/user/.docker/config.json:/root/.docker/config.json:ro \
        francescou/docker-compose-ui:0.14

{'fraction_non_alphanumeric': 0.10741971207087486, 'fraction_numerical': 0.021410114433370247, 'mean_word_length': 3.690132717830352, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 24, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3153190', 'n_tokens_mistral': 2700, 'n_tokens_neox': 2429, 'n_words': 744}