refactor: create docker-stack workspace for deployment configs

Created dedicated workspace for Docker deployment configurations and scripts.
Improves organization by grouping all deployment-related files together.

## New Structure
- docker-stack/: Docker Compose files and deployment scripts
  - docker-compose-standalone.yaml
  - docker-compose-swarm.yml
  - docker-compose-debug.yml
  - deploy-standalone.sh
  - deploy-swarm.sh
  - README.md (deployment documentation)
  - package.json

## Changes
- Moved all docker-compose YAML files to docker-stack/
- Moved deploy scripts to docker-stack/
- Updated VS Code workspace to include docker-stack
- Updated documentation (README, CLAUDE.md)

## Deployment Workflow
1. Build: `cd web-app && ./build.sh 2.20.0`
2. Deploy: `cd docker-stack && ./deploy-standalone.sh 2.20.0`

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
Knee Cola
2025-12-25 13:21:46 +01:00
parent b4424edd4e
commit 36accc3b30
10 changed files with 74 additions and 6 deletions

View File

@@ -6,6 +6,7 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
This is a multi-project repository containing:
- **web-app/**: Next.js 14 utility bills tracking application
- **docker-stack/**: Docker Compose configurations and deployment scripts
- **housekeeping/**: Database backup and maintenance scripts
Each project is self-contained with its own dependencies.
@@ -30,10 +31,10 @@ All commands should be run from within the respective project directory.
## Deployment Commands
**Building Docker Image** (from web-app directory):
- `cd web-app && ./build.sh <version>` - Build Docker image
**Building Docker Image** (`cd web-app`):
- `./build.sh <version>` - Build Docker image
**Deploying** (from repository root):
**Deploying** (`cd docker-stack`):
- `./deploy-standalone.sh <version>` - Deploy with docker-compose (standalone)
- `./deploy-swarm.sh <version>` - Deploy with Docker Swarm

View File

@@ -17,14 +17,15 @@ Each location record is marked with a user ID.
All the actions user `withUser` to fetch user ID, which is then used in all the DB operations.
# Monorepo Structure
# Repository Structure
This repository contains multiple independent projects:
- **web-app/**: Next.js application for tracking utility bills
- **docker-stack/**: Docker Compose configurations and deployment scripts
- **housekeeping/**: Database backup and maintenance scripts
Each project is self-contained with its own dependencies and package.json.
Each project is self-contained with its own dependencies and configuration.
## Working with Projects
@@ -34,6 +35,10 @@ cd web-app
npm install
npm run dev
# Deploy with Docker
cd docker-stack
./deploy-standalone.sh 2.20.0
# Housekeeping scripts
cd housekeeping
./db-backup--standalone.sh
@@ -128,9 +133,11 @@ The image will be stored in the local Docker instance.
## Deploying Docker Service
From the repository root:
From the `docker-stack/` directory:
```bash
cd docker-stack
# Standalone deployment
./deploy-standalone.sh 2.20.0

46
docker-stack/README.md Normal file
View File

@@ -0,0 +1,46 @@
# Docker Stack
Docker Compose configurations and deployment scripts for the Evidencija Režija application.
## Files
### Docker Compose Configurations
- `docker-compose-standalone.yaml` - Standalone deployment with docker-compose
- `docker-compose-swarm.yml` - Docker Swarm deployment
- `docker-compose-debug.yml` - Debug/development deployment
### Deployment Scripts
- `deploy-standalone.sh` - Deploy standalone configuration
- `deploy-swarm.sh` - Deploy swarm configuration
## Usage
### Deploying Standalone
```bash
cd docker-stack
./deploy-standalone.sh 2.20.0
```
### Deploying to Swarm
```bash
cd docker-stack
./deploy-swarm.sh 2.20.0
```
## Prerequisites
- Docker image must be built first: `cd ../web-app && ./build.sh 2.20.0`
- MongoDB data directory: `../mongo-volume/`
- MongoDB backup directory: `../mongo-backup/`
## Configuration
All compose files reference:
- Web app image: `utility-bills-tracker:${IMAGE_VERSION}`
- Volume mounts: `../web-app/etc/hosts/`
- MongoDB data: `../mongo-volume/`
- MongoDB backups: `../mongo-backup/`

10
docker-stack/package.json Normal file
View File

@@ -0,0 +1,10 @@
{
"name": "docker-stack",
"version": "2.20.0",
"private": true,
"description": "Docker deployment configurations and scripts",
"scripts": {
"deploy:standalone": "./deploy-standalone.sh",
"deploy:swarm": "./deploy-swarm.sh"
}
}

View File

@@ -4,6 +4,10 @@
"name": "🌐 web-app",
"path": "web-app"
},
{
"name": "🐳 docker-stack",
"path": "docker-stack"
},
{
"name": "🔧 housekeeping",
"path": "housekeeping"