From 713f205255a44f746669f746a2eb2b1289678640 Mon Sep 17 00:00:00 2001 From: Edwin Eames Date: Sat, 17 Jan 2026 15:27:46 -0500 Subject: [PATCH] first commit --- .claude/settings.local.json | 8 ++++++++ README.md | 1 + build_and_push.sh | 20 +++++++++++++++++++ docker-compose.dev.yml | 39 +++++++++++++++++++++++++++++++++++++ docker-compose.local.yml | 30 ++++++++++++++++++++++++++++ docker-compose.prod.yml | 29 +++++++++++++++++++++++++++ 6 files changed, 127 insertions(+) create mode 100644 .claude/settings.local.json create mode 100644 README.md create mode 100644 build_and_push.sh create mode 100755 docker-compose.dev.yml create mode 100644 docker-compose.local.yml create mode 100644 docker-compose.prod.yml diff --git a/.claude/settings.local.json b/.claude/settings.local.json new file mode 100644 index 0000000..8f1f73a --- /dev/null +++ b/.claude/settings.local.json @@ -0,0 +1,8 @@ +{ + "permissions": { + "allow": [ + "Bash(ls:*)", + "Bash(docker compose:*)" + ] + } +} diff --git a/README.md b/README.md new file mode 100644 index 0000000..4a8d593 --- /dev/null +++ b/README.md @@ -0,0 +1 @@ +# Deploy \ No newline at end of file diff --git a/build_and_push.sh b/build_and_push.sh new file mode 100644 index 0000000..2999425 --- /dev/null +++ b/build_and_push.sh @@ -0,0 +1,20 @@ +#!/bin/bash + +# Set the name of the Docker Compose file +COMPOSE_FILE="docker-compose.build.yml" + +# Build the images using docker-compose +echo "Building Docker images..." +docker-compose -f $COMPOSE_FILE build + +# Check if the build was successful +if [ $? -eq 0 ]; then + echo "Build successful. Pushing images to Docker registry..." + # Push the images to the registry + docker-compose -f $COMPOSE_FILE push +else + echo "Build failed. Aborting push to registry." + exit 1 +fi + +echo "Images have been built and pushed to the Docker registry." diff --git a/docker-compose.dev.yml b/docker-compose.dev.yml new file mode 100755 index 0000000..2f9361c --- /dev/null +++ b/docker-compose.dev.yml @@ -0,0 +1,39 @@ + + +name: customer_gateway +services: + + api_dev: + restart: always + tty: true + stdin_open: true + build: + context: ../api + dockerfile: Dockerfile.dev + volumes: + - ../api:/app + - images:/images + ports: + - '8000:8000' + env_file: + - ../api/.env.dev + environment: + - MODE=DEVELOPMENT + command: 'uvicorn main:app --reload --host 0.0.0.0 --port 8000' + + + frontend_dev: + restart: on-failure + tty: true + stdin_open: true + build: + context: ../frontend + dockerfile: Dockerfile.dev + volumes: + - ../frontend:/app + ports: + - '5173:5173' + command: 'vite dev --host --port 5173' + +volumes: + images: diff --git a/docker-compose.local.yml b/docker-compose.local.yml new file mode 100644 index 0000000..93251a5 --- /dev/null +++ b/docker-compose.local.yml @@ -0,0 +1,30 @@ + +name: customer_gateway +services: + + api_local: + restart: always + build: + context: ../api + dockerfile: Dockerfile.local + volumes: + - images:/images + ports: + - '8000:8000' + env_file: + - ../api/.env.local + environment: + - MODE=LOCAL + command: 'uvicorn main:app --reload --host 0.0.0.0 --port 8000' + + + frontend_local: + restart: on-failure + build: + context: ../frontend + dockerfile: Dockerfile.local + ports: + - '80:80' + +volumes: + images: diff --git a/docker-compose.prod.yml b/docker-compose.prod.yml new file mode 100644 index 0000000..7fb789e --- /dev/null +++ b/docker-compose.prod.yml @@ -0,0 +1,29 @@ + +name: customer_gateway +services: + + api_prod: + restart: always + build: + context: ../api + dockerfile: Dockerfile.prod + volumes: + - images:/images + ports: + - '8000:80' + env_file: + - ../api/.env.prod + environment: + - MODE=PRODUCTION + + + frontend_prod: + restart: on-failure + build: + context: ../frontend + dockerfile: Dockerfile.prod + ports: + - '3000:80' + +volumes: + images: