# Cloud9

version: "2.1" services: cloud9: image: lscr.io/linuxserver/cloud9 container_name: cloud9 environment: - PUID=1000 - PGID=1000 - TZ=Europe/London - GITURL=https://github.com/linuxserver/docker-cloud9.git - USERNAME=cp - PASSWORD=changeme volumes: - /var/www:/code - /var/run/docker.sock:/var/run/docker.sock ports: - "104.192.7.185:5555:8000" restart: unless-stopped


## Parameters

Docker images are configured using parameters passed at runtime (such as those above). These parameters are separated by a colon and indicate `<external>`:`<internal>` respectively. For example, `-p 8080:80` would expose `port 80` from inside the container to be accessible from the host's IP on `port 8080` outside the container

### Ports (-p)

| Parameter | Function                              |
| --------- | ------------------------------------- |
| 8000      | The port for the Cloud9 web interface |

Environment Variables (-e)
| Env                                                       | Function                                        |
| --------------------------------------------------------- | ----------------------------------------------- |
| PUID=1000                                                 | for UserID - see below for explanation          |
| PGID=1000                                                 | for GroupID - see below for explanation         |
| TZ=Europe/London                                          | Specify a timezone to use EG Europe/London      |
| GITURL=`https://github.com/linuxserver/docker-cloud9.git` | Specify a git repo to checkout on first startup |
| USERNAME=                                                 | Optionally specify a username for http auth     |
| PASSWORD=                                                 | Optionally specify a password for http auth     |

> if USERNAME and PASSWORD are not set, there will be no http auth

## Volume Mappings (-v)

| Volume               | Function                                                                          |
| -------------------- | --------------------------------------------------------------------------------- |
| /code                | Optionally if you want to mount up a local folder of code instead of checking out |
| /var/run/docker.sock | Needed if you plan to use Docker or compose commands                              |

## Environment variables from files (Docker secrets)

You can set any environment variable from a file by using a special prepend FILE__.
As an example:
-e FILE__PASSWORD=/run/secrets/mysecretpassword