Skip to content

Commit f66cdcf

Browse files
committed
Added S3 bucket setup directions.
1 parent 1dc9a64 commit f66cdcf

1 file changed

Lines changed: 79 additions & 0 deletions

File tree

‎README.md‎

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,85 @@ Deactivate with `deactivate` when you're done.
7373
- __Static files__
7474
During development, static files are served automatically. No `collectstatic` is needed.
7575
76+
## AWS S3 Setup (Required for File Uploads)
77+
78+
The application uses AWS S3 for document storage and file uploads. Follow these steps to set up your S3 bucket:
79+
80+
### 1. Create an S3 Bucket
81+
82+
- Log into the AWS Console and navigate to S3
83+
- Create a new bucket (e.g., `forms-mvp-your-suffix`)
84+
- Choose your preferred region (default: `us-east-1`)
85+
- Keep the bucket private - the application uses pre-signed URLs to grant access to Tyler (no need to make the bucket public)
86+
87+
### 2. Configure Bucket Permissions
88+
89+
Apply this bucket policy to allow public read access for Tyler to download documents:
90+
91+
```json
92+
{
93+
"Version": "2012-10-17",
94+
"Statement": [
95+
{
96+
"Sid": "PublicReadGetObject",
97+
"Effect": "Allow",
98+
"Principal": "*",
99+
"Action": "s3:GetObject",
100+
"Resource": "arn:aws:s3:::YOUR-BUCKET-NAME/*"
101+
}
102+
]
103+
}
104+
```
105+
106+
Replace `YOUR-BUCKET-NAME` with your actual bucket name.
107+
108+
### 3. Create IAM User and Permissions
109+
110+
Create an IAM user with the following policy for application access:
111+
112+
```json
113+
{
114+
"Version": "2012-10-17",
115+
"Statement": [
116+
{
117+
"Effect": "Allow",
118+
"Action": [
119+
"s3:PutObject",
120+
"s3:PutObjectAcl",
121+
"s3:GetObject"
122+
],
123+
"Resource": "arn:aws:s3:::YOUR-BUCKET-NAME/*"
124+
},
125+
{
126+
"Sid": "VisualEditor1",
127+
"Effect": "Allow",
128+
"Action": "s3:*",
129+
"Resource": "arn:aws:s3:::YOUR-BUCKET-NAME"
130+
}
131+
]
132+
}
133+
```
134+
135+
### 4. Configure Environment Variables
136+
137+
Copy the example environment file and update the S3 settings:
138+
139+
```bash
140+
cp efile_app/.env.example efile_app/.env
141+
```
142+
143+
Edit `efile_app/.env` with your AWS credentials:
144+
145+
```bash
146+
# AWS S3 Configuration
147+
AWS_ACCESS_KEY_ID = "your-aws-access-key-id-here"
148+
AWS_SECRET_ACCESS_KEY = "your-aws-secret-access-key-here"
149+
AWS_S3_BUCKET_NAME = "your-bucket-name-here"
150+
AWS_S3_REGION_NAME = "us-east-1"
151+
```
152+
153+
**Note**: The application generates pre-signed URLs for secure document access, so there's no need to make your S3 bucket public. The bucket policy above allows Tyler's systems to download documents when needed.
154+
76155
## Development: dev dependencies and Ruff
77156
78157
Ruff is configured in `pyproject.toml` under `[tool.ruff]`.

0 commit comments

Comments
 (0)