Problem
After upgrading Terraform Enterprise to version v202111-1 or later, the application fails to start. You may see one of the following errors in the container logs.
Note: After Terraform Enterprise v202205-1, the ptfe_atlas container is renamed to tfe-atlas.
Example errors:
ptfe_atlas: ExecJS::RuntimeUnavailable: Could not find a JavaScript runtime. See https://github.com/rails/execjs for a list of available runtimes.
ptfe_atlas/ptfe_sidekiq/ptfe_migrations are throwing this error `/root` is not writable
Cause
Terraform Enterprise version v202111-1 and later use updated application container images based on Alpine 3.14. This version of Alpine has specific version requirements for Docker, runc, and libseccomp. The startup failure occurs when the host environment does not meet these minimum requirements.
Prerequisites
Before applying a solution, you must stop the Terraform Enterprise and Replicated services. Execute the following commands on the Terraform Enterprise host:
# Stop the Terraform Enterprise application sudo replicatedctl app stop # Stop the Replicated services sudo systemctl stop replicated replicated-ui replicated-operator
Solutions
To resolve this issue, you must update your host's Docker environment to meet the minimum requirements. After completing the steps for one of the options below, proceed to the Verification section to restart the services.
Option 1: Use a Compatible runc Version
This approach involves updating Docker Engine along with a compatible version of runc. Follow the instructions provided in the Docker Engine With a Compatible runc Version section of the requirements documentation.
Option 2: Use a Compatible libseccomp Version
This approach involves updating Docker Engine along with a compatible version of libseccomp. Follow the instructions provided in the Docker Engine With a Compatible libseccomp Version section of the requirements documentation.
Option 3: Use a Modified libseccomp Profile
This approach involves using a modified libseccomp profile with your existing Docker Engine installation. Follow the instructions provided in the Docker Engine Using a Modified libseccomp Profile section of the requirements documentation.
Verification
After you have successfully updated the Docker environment using one of the options above, follow these steps to restart all services.
-
If you updated the Docker version, you may need to unmask and restart the Docker service. Run the following commands:
sudo systemctl unmask docker sudo systemctl start docker
-
Start the Replicated and Terraform Enterprise services.
# Start the Replicated services sudo systemctl start replicated replicated-operator replicated-ui # Start the Terraform Enterprise application replicatedctl app start
Terraform Enterprise should now start successfully.
Additional Information
For a complete list of dependencies, refer to the official Terraform Enterprise Docker Engine Requirements.