{"id":18585998,"url":"https://github.com/cloud66-oss/nginx-compiler","last_synced_at":"2025-04-10T13:31:39.257Z","repository":{"id":42123649,"uuid":"373155089","full_name":"cloud66-oss/nginx-compiler","owner":"cloud66-oss","description":"Compile NGINX + Passenger","archived":false,"fork":false,"pushed_at":"2024-10-16T15:28:32.000Z","size":63,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-24T21:42:23.830Z","etag":null,"topics":["cloud66","docker","nginx","passenger"],"latest_commit_sha":null,"homepage":"","language":"Dockerfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cloud66-oss.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-06-02T12:11:46.000Z","updated_at":"2024-10-16T15:13:50.000Z","dependencies_parsed_at":"2024-06-28T10:51:23.317Z","dependency_job_id":"3175c036-09b9-49a4-b64d-7741324ba9b0","html_url":"https://github.com/cloud66-oss/nginx-compiler","commit_stats":null,"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloud66-oss%2Fnginx-compiler","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloud66-oss%2Fnginx-compiler/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloud66-oss%2Fnginx-compiler/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloud66-oss%2Fnginx-compiler/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cloud66-oss","download_url":"https://codeload.github.com/cloud66-oss/nginx-compiler/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248225708,"owners_count":21068078,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cloud66","docker","nginx","passenger"],"created_at":"2024-11-07T00:36:18.101Z","updated_at":"2025-04-10T13:31:34.247Z","avatar_url":"https://github.com/cloud66-oss.png","language":"Dockerfile","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cimg src=\"http://cdn2-cloud66-com.s3.amazonaws.com/images/oss-sponsorship.png\" width=150/\u003e\n\n# NGINX compiler\nThis project is used to compile a self-contained NGINX that comes with useful modules and generate a deb file for easy installation on Debian based systems.\n\nIt is used by Cloud 66 to compile the default NGINX + Passenger installation for all servers. It can also be used by Cloud 66 users to generate their own NGINX installation and then upload it to a public location and tell Cloud 66 to install it via the [manifest](https://help.cloud66.com/rails/references/manifest-web-settings.html#nginx).\n\n## Requirements\nThis project uses Docker to compile NGINX. You must have Docker installed on your host machine for the scripts to work.\n\n## Compilation\nYou can compile NGINX for a specific combination of Ubuntu + NGINX + Passenger + release versions. The release version is used to cover dependencies that are not covered by the other versions, e.g. build dependency/NGINX module update. For Ubuntu 18.04, NGINX 1.20.1, Passenger 6.0.10 and release 1.0.0, this is done by running the following:\n```bash\n./compile_nginx.sh 18.04 1.20.1 6.0.10 1.0.0\n```\n\nThis will result in a Docker image which will contain NGINX + Passenger in separate tarballs.\n\n### Passenger Enterprise\nYou can optionally compile Passenger Enterprise. To do this, you must have both the `passenger_enterprise/passenger-enterprise-license` (containing the Passenger Enterprise license) and `passenger_enterprise/passenger-enterprise-server-${PASSENGER_VERSION}.tar.gz` (containing the Passenger Enterprise source code) files present in the source root. Both can be acquired from the Passenger Enterprise portal.\n\n## Extraction\nTo extract the tarballs from the Docker image, you can run the following (for your combination of Ubuntu + NGINX + Passenger + release versions):\n```\n./extract_nginx.sh 18.04 1.20.1 6.0.10 1.0.0\n```\n\nThis will place the resulting tarballs in the `output` directory. For the previous extraction example, you will find one file under `output/binaries`: `ubuntu-18.04-nginx-1.0.0.tar.gz`.\n\n## Installation\nThe resulting tarballs from the extraction step can be uploaded to the target server and installed as follows:\n```\ntar --no-same-owner -C / -zxvf \u003cTARBALL\u003e\n```\n\nDoing this for the NGINX and Passenger tarballs will result in the following files under `/usr/local/debs`:\n```\n$ find /usr/local/debs/\n/usr/local/debs/\n/usr/local/debs/ubuntu-18.04-nginx-1.0.0\n/usr/local/debs/ubuntu-18.04-nginx-1.0.0/passenger-module\n/usr/local/debs/ubuntu-18.04-nginx-1.0.0/passenger-module/nginx-module-http-passenger_6.0.10+nginx1.20.1-1.0.0~bionic1_amd64.deb\n/usr/local/debs/ubuntu-18.04-nginx-1.0.0/nginx\n/usr/local/debs/ubuntu-18.04-nginx-1.0.0/nginx/nginx_1.20.1-1.0.0~bionic1_amd64.deb\n/usr/local/debs/ubuntu-18.04-nginx-1.0.0/prerequisites\n/usr/local/debs/ubuntu-18.04-nginx-1.0.0/prerequisites/openresty-lua-lrucache_0.10-1.0.0~bionic1_amd64.deb\n/usr/local/debs/ubuntu-18.04-nginx-1.0.0/prerequisites/modsecurity_3.0.4-1.0.0~bionic1_amd64.deb\n/usr/local/debs/ubuntu-18.04-nginx-1.0.0/prerequisites/openresty-luajit_2.1-20210510-1.0.0~bionic1_amd64.deb\n/usr/local/debs/ubuntu-18.04-nginx-1.0.0/prerequisites/openresty-lua-core_0.1.21-1.0.0~bionic1_amd64.deb\n/usr/local/debs/ubuntu-18.04-nginx-1.0.0/passenger\n/usr/local/debs/ubuntu-18.04-nginx-1.0.0/passenger/passenger_6.0.10-1.0.0~bionic1_amd64.deb\n```\n\nYou can then install NGINX with the following:\n```\nsudo apt-get install /usr/local/debs/ubuntu-18.04-nginx-1.0.0/prerequisites/*.deb /usr/local/debs/ubuntu-18.04-nginx-1.0.0/nginx/*.deb\n```\n\nand Passenger (which depends on this NGINX installation) with the following:\n```\nsudo apt-get install /usr/local/debs/ubuntu-18.04-nginx-1.0.0/passenger/*.deb /usr/local/debs/ubuntu-18.04-nginx-1.0.0/passenger-module/*.deb\n```\n\nFor Passenger Enterprise, you will also have the `/usr/local/debs/ubuntu-18.04-nginx-1.0.0/passenger-enterprise` and `/usr/local/debs/ubuntu-18.04-nginx-1.0.0/passenger-enterprise-module` directories, which you can install instead of the standard Passenger installation as follows:\n```\nsudo apt-get install /usr/local/debs/ubuntu-18.04-nginx-1.0.0/passenger-enterprise/*.deb /usr/local/debs/ubuntu-18.04-nginx-1.0.0/passenger-enterprise-module/*.deb\n```\n\nBe sure to purge any traces of previous NGINX or Passenger installations before attempting this.\n\n## Cloud 66 Integration\nYou can use these scripts to compile a version of NGINX for Cloud 66 (for example, with additional modules, or a different version of Passenger).\n\nIn order to do this, perform the [compilation](#compilation) and [extraction](#extraction) steps on your local machine, and then upload the resulting tarball to a public location (for example, using S3). You can then link to this location via the [manifest](https://help.cloud66.com/rails/references/manifest-web-settings.html#nginx), and this will result in your version of NGINX being installed for new servers.\n\nPlease make sure that the name of the tarball is not changed when uploaded to your public location.\n\n## Tested Versions\nEach release will be compiled for a specific version of NGINX + Passenger. Please see the [releases](https://github.com/cloud66-oss/nginx-compiler/releases) for specific versions.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcloud66-oss%2Fnginx-compiler","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcloud66-oss%2Fnginx-compiler","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcloud66-oss%2Fnginx-compiler/lists"}