@@ -28,6 +28,22 @@ This repository provides standardized deployment infrastructure for MXCP project
28
28
- ` start.sh ` - Generic container startup script
29
29
- ` requirements.txt ` - Base MXCP dependencies
30
30
31
+ ## Prerequisites
32
+
33
+ ### AWS Setup
34
+ 1 . ** AWS Account** with App Runner service access
35
+ 2 . ** IAM Role** : ` AppRunnerECRAccessRole ` with ECR access permissions
36
+ 3 . ** Repository Secrets** in GitHub:
37
+ - ` AWS_ACCESS_KEY_ID ` - For deployment access
38
+ - ` AWS_SECRET_ACCESS_KEY ` - For deployment access
39
+ - ` MXCP_DATA_ACCESS_KEY_ID ` - For data download (if needed)
40
+ - ` MXCP_DATA_SECRET_ACCESS_KEY ` - For data download (if needed)
41
+
42
+ ### Required Tools
43
+ - ** Git** - For repository management
44
+ - ** Docker** - For local testing (optional)
45
+ - ** just** - Modern task runner (optional but recommended)
46
+
31
47
## Usage
32
48
33
49
### For New MXCP Projects
@@ -54,7 +70,17 @@ vim deployment/config.env
54
70
# APP_RUNNER_SERVICE=your-project-mxcp-server
55
71
```
56
72
57
- ** 3. Customize Docker Configuration**
73
+ ** 3. Setup Task Runner (Optional but Recommended)**
74
+ ``` bash
75
+ # Copy and customize the modern task runner
76
+ cp justfile.template justfile
77
+ sed -i " s/{{PROJECT_NAME}}/your-project/g" justfile
78
+
79
+ # Install just (if not already installed)
80
+ curl --proto ' =https' --tlsv1.2 -sSf https://just.systems/install.sh | bash -s -- --to ~ /.local/bin
81
+ ```
82
+
83
+ ** 4. Customize Docker Configuration**
58
84
``` bash
59
85
# Update MXCP configuration
60
86
cp deployment/mxcp-site-docker.yml.template deployment/mxcp-site-docker.yml
@@ -65,14 +91,45 @@ cp deployment/profiles-docker.yml.template deployment/profiles-docker.yml
65
91
sed -i " s/{{PROJECT_NAME}}/your-project/g; s/{{AWS_REGION}}/your-region/g" deployment/profiles-docker.yml
66
92
```
67
93
68
- ** 4. Add Project-Specific Components**
94
+ ** 5. Initialize MXCP Project Structure**
95
+ ``` bash
96
+ # Initialize MXCP project with example endpoints
97
+ mxcp init --bootstrap
98
+
99
+ # This creates:
100
+ # - mxcp-site.yml (main configuration)
101
+ # - tools/ directory with example endpoints
102
+ # - Basic project structure
103
+ ```
104
+
105
+ ** 6. Choose Your Data Strategy**
106
+
107
+ The template supports three data patterns:
108
+
109
+ ** Option A: Static Data (simplest)**
110
+ ``` bash
111
+ # Place your data files in data/ directory
112
+ mkdir -p data/
113
+ # Copy your CSV/JSON files here
114
+ # Modify Dockerfile to skip download step
115
+ ```
116
+
117
+ ** Option B: Downloaded Data**
118
+ ``` bash
119
+ # Create data download script (customize for your source)
120
+ mkdir -p scripts/
121
+ # Create scripts/download_real_data.py for your data source (S3, API, etc.)
122
+ # Docker will run this during build
123
+ ```
124
+
125
+ ** Option C: Live API Integration**
69
126
``` bash
70
- # Add your project-specific directories
71
- mkdir -p tools/ models/ sql/ scripts/
72
- # Add your MXCP tools, dbt models, SQL queries, etc.
127
+ # No data download needed - your tools connect to live APIs
128
+ # Remove data download from Dockerfile
129
+ # Configure API endpoints in your tools/
73
130
```
74
131
75
- ** 5 . Deploy**
132
+ ** 7 . Deploy**
76
133
``` bash
77
134
# Set GitHub repository secrets (AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY)
78
135
# Push to trigger automatic deployment
0 commit comments