A web-based file browser service running on AWS ECS (Elastic Container Service) that provides a user-friendly interface to browse and manage files stored in Amazon EFS (Elastic File System.
It deploys Filebrowser in a standard configuration.
module "efs_file_browser" {
source = "github.com/tecracer/efs-file-browser-on-ecs&ref=v1.0.0"
name_prefix = "application-xyz"
enable_execute_command = true
ecs_cluster_arn = aws_ecs_cluster.this.arn
cloudwatch_log_group_name = aws_cloudwatch_log_group.this.name
aws_region = data.aws_region.current.name
container_image_label = "latest"
filebrowser_username = "admin"
filebrowser_password = "password"
alb_arn = aws_lb.this.arn
enable_https = true
alb_listener_port = "443"
alb_listener_certificate_arn = aws_acm_certificate_validation.this.certificate_arn
alb_whitelist_own_ip = true
alb_ip_whitelist = [0.0.0.0/0]
efs_file_system_id = aws_efs_file_system.this.id
access_point_id = aws_efs_access_point.this.id
vpc_id = aws_vpc.this.id
subnet_ids = local.private_subnet_ids
ecs_service_security_group_id = aws_security_group.ecs_service.id
task_execution_role_arn = aws_iam_role.execution.arn
task_role_arn = aws_iam_role.task.arn
cpu = 1024
memory = 2048
}| Name | Version |
|---|---|
| terraform | >= 1.5.6 |
| aws | ~> 5.74 |
| http | ~> 3.4 |
| Name | Version |
|---|---|
| aws | ~> 5.74 |
| http | ~> 3.4 |
| Name | Source | Version |
|---|---|---|
| ecs_service_efs_file_browser | terraform-aws-modules/ecs/aws//modules/service | 5.11.4 |
| Name | Type |
|---|---|
| aws_lb_listener.efs_file_browser | resource |
| aws_lb_listener_rule.efs_file_browser | resource |
| aws_lb_target_group.efs_file_browser | resource |
| http_http.myip | data source |
| Name | Description | Type | Default | Required |
|---|---|---|---|---|
| access_point_id | ID of the EFS access point | string |
n/a | yes |
| alb_arn | ARN of the ALB | string |
n/a | yes |
| alb_ip_whitelist | List of IP addresses to whitelist | list(string) |
[] |
no |
| alb_listener_certificate_arn | ARN of the ACM certificate for the LB listener | string |
n/a | yes |
| alb_listener_port | Port of the LB listener | number |
n/a | yes |
| alb_whitelist_own_ip | Whether to whitelist the current IP of the host executing the terraform code | bool |
false |
no |
| aws_region | AWS region | string |
n/a | yes |
| cloudwatch_log_group_name | Name of the CloudWatch log group | string |
n/a | yes |
| container_image_label | Label of the container image | string |
"latest" |
no |
| cpu | CPU for the file browser | number |
n/a | yes |
| ecs_cluster_arn | ARN of the ECS cluster | string |
n/a | yes |
| ecs_service_security_group_id | ID of the ECS service security group. Needs access to the EFS file system. | string |
n/a | yes |
| efs_file_system_id | ID of the EFS file system | string |
n/a | yes |
| enable_execute_command | Whether to enable ECS execute command | bool |
false |
no |
| enable_https | Whether to enable HTTPS | bool |
true |
no |
| filebrowser_password | Password for the file browser | string |
n/a | yes |
| filebrowser_username | Username for the file browser | string |
n/a | yes |
| memory | Memory for the file browser | number |
n/a | yes |
| name_prefix | Name prefix of the application | string |
n/a | yes |
| subnet_ids | List of subnet IDs | list(string) |
n/a | yes |
| task_execution_role_arn | ARN of the task execution role | string |
n/a | yes |
| task_role_arn | ARN of the task role. Needs permissions to access the EFS file system. | string |
n/a | yes |
| vpc_id | ID of the VPC | string |
n/a | yes |
| Name | Description |
|---|---|
| container_port | Port of the container |
| target_group_arn | ARN of the target group |