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 |