>! GitHub repository maintained @ https://github.com/amarinediary/Marionette. The following might not be up to date. Refer to the GitHub link for a maintained version.
___
You can add AWS Elastic Beanstalk configuration files (`.ebextensions`) to your web application's source code to configure your environment and customize the AWS resources that it contains.
In our case, if we don't enable [EPEL][1] and if we continue installing Chromium as part of npm install, Puppeteer cannot launch Chromium due to unavailability of `libatk-1.0.so.0`.
- Source @ [Running Puppeteer on AWS EC2 instance running Amazon-Linux][2]
## Hotfix
Add the following to your app root:
1. Create a `.npmrc` file.
2. Add the following to your `.npmrc` file:
```
unsafe-perm=true
```
The `.npmrc` file defines how npm should behave when running commands. Setting `unsafe-perm` to `true` suppress the UID/GID switching when running package scripts. Set the unsafe-perm flag to run scripts with root privileges.
- Source @ [unsafe-perm][3]
3. Create a `.ebextensions` folder.
4. Inside `.ebextensions` folder, create a `01_enableEPEL.config` file and add the following.
```
commands:
01_enableEPEL:
command: sudo amazon-linux-extras install epel -y
```
5. Inside `.ebextensions` folder, create a `02_installEPELPackages.config` file and add the following
```
packages:
yum:
chromium: []
```
[1]: https://fedoraproject.org/wiki/EPEL#What_is_Extra_Packages_for_Enterprise_Linux_.28or_EPEL.29.3F
[2]: https://github.com/puppeteer/puppeteer/blob/main/docs/troubleshooting.md#running-puppeteer-on-aws-ec2-instance-running-amazon-linux
[3]: https://docs.npmjs.com/cli/v6/using-npm/config#unsafe-perm
>! GitHub repository maintained @ https://github.com/amarinediary/Marionette. The following might not be up to date. Refer to the GitHub link for a maintained version.
___
You can add AWS Elastic Beanstalk configuration files (`.ebextensions`) to your web application's source code to configure your environment and customize the AWS resources that it contains.
In our case, if we don't enable [EPEL][1] and if we continue installing Chromium as part of npm install, Puppeteer cannot launch Chromium due to unavailability of `libatk-1.0.so.0`.
- Source @ [Running Puppeteer on AWS EC2 instance running Amazon-Linux][2]
## Hotfix
Add the following to your app root:
1. Create a `.npmrc` file.
2. Add the following to your `.npmrc` file:
```
unsafe-perm=true
```
The `.npmrc` file defines how npm should behave when running commands. Setting `unsafe-perm` to `true` suppress the UID/GID switching when running package scripts. Set the unsafe-perm flag to run scripts with root privileges.
- Source @ [unsafe-perm][3]
3. Create a `.ebextensions` folder.
4. Inside `.ebextensions` folder, create a `01_enableEPEL.config` file and add the following.
```
commands:
01_enableEPEL:
command: sudo amazon-linux-extras install epel -y
```
5. Inside `.ebextensions` folder, create a `02_installEPELPackages.config` file and add the following
```
packages:
yum:
chromium: []
```
[1]: https://fedoraproject.org/wiki/EPEL#What_is_Extra_Packages_for_Enterprise_Linux_.28or_EPEL.29.3F
[2]: https://github.com/puppeteer/puppeteer/blob/main/docs/troubleshooting.md#running-puppeteer-on-aws-ec2-instance-running-amazon-linux
[3]: https://docs.npmjs.com/cli/v6/using-npm/config#unsafe-perm