-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Signed-off-by: Prudhvi Godithi <pgodithi@amazon.com>
- Loading branch information
1 parent
bab72ee
commit 08a004e
Showing
7 changed files
with
90 additions
and
5 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
FROM node:20 | ||
WORKDIR /usr/share/app | ||
COPY ../ . | ||
RUN npm cache clean --force |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,55 @@ | ||
# GitHub Automation App Setup with Docker | ||
|
||
The GitHub Automation App can be deployed using Docker and Docker Compose to run as a service with configurable resource and operation settings. Multiple services can be run simultaneously using different configurations. | ||
|
||
## Prerequisites | ||
|
||
Make sure the following installed on the system: | ||
|
||
- Docker: [Get Docker](https://docs.docker.com/get-docker/) | ||
- Docker Compose: [Get Docker Compose](https://docs.docker.com/compose/install/) | ||
|
||
## Project Structure | ||
|
||
```bash | ||
. | ||
├── configs/ | ||
│ ├── operations/ | ||
│ │ └── sample-operation.yml | ||
│ └── resources/ | ||
│ └── sample-resource.yml | ||
├── docker/ | ||
│ ├── Dockerfile | ||
│ └── docker-compose.yml | ||
``` | ||
|
||
## Docker Setup | ||
|
||
The `docker-compose.yml` is configured to use a Node.js image and to run the app. This mounts the project directory to the container for live reloading. | ||
|
||
### Dockerfile | ||
|
||
The [Dockerfile](Dockerfile) is used to create a Docker image for the app. | ||
|
||
|
||
### Docker Compose File | ||
|
||
The [compose.yml](compose.yaml) file sets up a service (automation-app) to run the app: | ||
|
||
|
||
### Run multiple Services | ||
|
||
This allows to run multiple instances of the service with different configurations and ports. | ||
|
||
#### This will run the service on port 8080 with the sample-operation.yml configuration. | ||
|
||
```bash | ||
PORT=8080 RESOURCE_CONFIG=configs/resources/sample-resource.yml OPERATION_CONFIG=configs/operations/sample-operation.yml docker-compose -p automation-app-1 up -d | ||
``` | ||
|
||
#### This will run the second service on port 8081 with the sample-operation-2.yml configuration. | ||
|
||
``` | ||
PORT=8081 RESOURCE_CONFIG=configs/resources/sample-resource.yml OPERATION_CONFIG=configs/operations/sample-operation-2.yml docker-compose -p automation-app-2 up -d | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
services: | ||
web: | ||
build: | ||
context: ../ | ||
dockerfile: docker/Dockerfile | ||
command: | ||
- /bin/bash | ||
- -c | ||
- | | ||
npm install | ||
npm start | ||
environment: | ||
- RESOURCE_CONFIG=${RESOURCE_CONFIG} | ||
- OPERATION_CONFIG=${OPERATION_CONFIG} | ||
volumes: | ||
- ../:/usr/share/app | ||
- /usr/share/app/node_modules | ||
ports: | ||
- '${PORT}:3000' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters