From 5a0d91580772ff01309780c82d742b06e4a55ca2 Mon Sep 17 00:00:00 2001 From: Zimovskii Anatolii Date: Mon, 14 Nov 2022 15:16:13 +0300 Subject: [PATCH] updates --- ...picmorg.base.images.postgresql.testing.yml | 30 -- .../workflows/epicmorg.base.images.web.yml | 17 +- CHANGELOG.md | 2 + DESCRIPTION.md | 40 --- Makefile | 116 ++++++- README.md | 34 +- linux/ecosystem/nginx/latest/main/.env | 2 - linux/ecosystem/nginx/latest/main/Dockerfile | 254 -------------- linux/ecosystem/nginx/latest/main/Makefile | 19 - linux/ecosystem/nginx/latest/main/README.md | 30 -- .../nginx/latest/main/docker-compose.yml | 9 - .../nginx/latest/main/docker-entrypoint.sh | 16 - .../main/pre/ip2location-description-pak | 1 - .../latest/main/pre/luajit2-description-pak | 1 - .../latest/main/pre/nginx-description-pak | 1 - .../nginx/latest/main/pre/ngninx.pre.tar.gz | Bin 9573 -> 0 bytes linux/ecosystem/nginx/latest/php/.env | 2 - linux/ecosystem/nginx/latest/php/Dockerfile | 265 -------------- linux/ecosystem/nginx/latest/php/Makefile | 19 - linux/ecosystem/nginx/latest/php/README.md | 30 -- .../nginx/latest/php/docker-compose.yml | 9 - .../nginx/latest/php/docker-entrypoint.sh | 16 - linux/ecosystem/nginx/latest/quic/.env | 2 - linux/ecosystem/nginx/latest/quic/Dockerfile | 26 -- .../nginx/latest/quic/Dockerfile.experimental | 325 ------------------ linux/ecosystem/nginx/latest/quic/Makefile | 19 - linux/ecosystem/nginx/latest/quic/README.md | 291 ---------------- .../nginx/latest/quic/docker-compose.yml | 9 - .../nginx/latest/quic/docker-entrypoint.sh | 16 - .../nginx/latest/quic/pre/boringssl-build.sh | 111 ------ .../quic/pre/ip2location-description-pak | 1 - .../latest/quic/pre/luajit2-description-pak | 1 - .../latest/quic/pre/nginx-description-pak | 1 - .../nginx/latest/quic/pre/ngninx.pre.tar.gz | Bin 9573 -> 0 bytes linux/ecosystem/nginx/latest/rtmp-hls/.env | 2 - .../nginx/latest/rtmp-hls/Dockerfile | 131 ------- .../ecosystem/nginx/latest/rtmp-hls/Makefile | 19 - .../ecosystem/nginx/latest/rtmp-hls/README.md | 78 ----- .../nginx/latest/rtmp-hls/conf/nginx.conf | 134 -------- .../latest/rtmp-hls/conf/nginx_no-ffmpeg.conf | 118 ------- .../conf/nginx_rtmp_minimal_no-stats.conf | 16 - .../nginx/latest/rtmp-hls/docker-compose.yml | 9 - .../latest/rtmp-hls/docker-entrypoint.sh | 16 - .../nginx/latest/rtmp-hls/players/dash.html | 23 -- .../nginx/latest/rtmp-hls/players/hls.html | 23 -- .../latest/rtmp-hls/players/hls_hlsjs.html | 41 --- .../nginx/latest/rtmp-hls/players/rtmp.html | 24 -- .../latest/rtmp-hls/players/rtmp_hls.html | 30 -- .../sources.list.d/sources.buster.list | 19 - .../rtmp-hls/sources.list.d/sources.sid.list | 19 - .../sources.list.d/sources.stretch.list | 19 - 51 files changed, 153 insertions(+), 2283 deletions(-) delete mode 100644 .github/workflows/epicmorg.base.images.postgresql.testing.yml delete mode 100644 linux/ecosystem/nginx/latest/main/.env delete mode 100644 linux/ecosystem/nginx/latest/main/Dockerfile delete mode 100644 linux/ecosystem/nginx/latest/main/Makefile delete mode 100644 linux/ecosystem/nginx/latest/main/README.md delete mode 100644 linux/ecosystem/nginx/latest/main/docker-compose.yml delete mode 100755 linux/ecosystem/nginx/latest/main/docker-entrypoint.sh delete mode 100644 linux/ecosystem/nginx/latest/main/pre/ip2location-description-pak delete mode 100644 linux/ecosystem/nginx/latest/main/pre/luajit2-description-pak delete mode 100644 linux/ecosystem/nginx/latest/main/pre/nginx-description-pak delete mode 100644 linux/ecosystem/nginx/latest/main/pre/ngninx.pre.tar.gz delete mode 100644 linux/ecosystem/nginx/latest/php/.env delete mode 100644 linux/ecosystem/nginx/latest/php/Dockerfile delete mode 100644 linux/ecosystem/nginx/latest/php/Makefile delete mode 100644 linux/ecosystem/nginx/latest/php/README.md delete mode 100644 linux/ecosystem/nginx/latest/php/docker-compose.yml delete mode 100755 linux/ecosystem/nginx/latest/php/docker-entrypoint.sh delete mode 100644 linux/ecosystem/nginx/latest/quic/.env delete mode 100644 linux/ecosystem/nginx/latest/quic/Dockerfile delete mode 100644 linux/ecosystem/nginx/latest/quic/Dockerfile.experimental delete mode 100644 linux/ecosystem/nginx/latest/quic/Makefile delete mode 100644 linux/ecosystem/nginx/latest/quic/README.md delete mode 100644 linux/ecosystem/nginx/latest/quic/docker-compose.yml delete mode 100755 linux/ecosystem/nginx/latest/quic/docker-entrypoint.sh delete mode 100755 linux/ecosystem/nginx/latest/quic/pre/boringssl-build.sh delete mode 100644 linux/ecosystem/nginx/latest/quic/pre/ip2location-description-pak delete mode 100644 linux/ecosystem/nginx/latest/quic/pre/luajit2-description-pak delete mode 100644 linux/ecosystem/nginx/latest/quic/pre/nginx-description-pak delete mode 100644 linux/ecosystem/nginx/latest/quic/pre/ngninx.pre.tar.gz delete mode 100644 linux/ecosystem/nginx/latest/rtmp-hls/.env delete mode 100644 linux/ecosystem/nginx/latest/rtmp-hls/Dockerfile delete mode 100644 linux/ecosystem/nginx/latest/rtmp-hls/Makefile delete mode 100644 linux/ecosystem/nginx/latest/rtmp-hls/README.md delete mode 100644 linux/ecosystem/nginx/latest/rtmp-hls/conf/nginx.conf delete mode 100644 linux/ecosystem/nginx/latest/rtmp-hls/conf/nginx_no-ffmpeg.conf delete mode 100644 linux/ecosystem/nginx/latest/rtmp-hls/conf/nginx_rtmp_minimal_no-stats.conf delete mode 100644 linux/ecosystem/nginx/latest/rtmp-hls/docker-compose.yml delete mode 100755 linux/ecosystem/nginx/latest/rtmp-hls/docker-entrypoint.sh delete mode 100644 linux/ecosystem/nginx/latest/rtmp-hls/players/dash.html delete mode 100644 linux/ecosystem/nginx/latest/rtmp-hls/players/hls.html delete mode 100644 linux/ecosystem/nginx/latest/rtmp-hls/players/hls_hlsjs.html delete mode 100644 linux/ecosystem/nginx/latest/rtmp-hls/players/rtmp.html delete mode 100644 linux/ecosystem/nginx/latest/rtmp-hls/players/rtmp_hls.html delete mode 100644 linux/ecosystem/nginx/latest/rtmp-hls/sources.list.d/sources.buster.list delete mode 100644 linux/ecosystem/nginx/latest/rtmp-hls/sources.list.d/sources.sid.list delete mode 100644 linux/ecosystem/nginx/latest/rtmp-hls/sources.list.d/sources.stretch.list diff --git a/.github/workflows/epicmorg.base.images.postgresql.testing.yml b/.github/workflows/epicmorg.base.images.postgresql.testing.yml deleted file mode 100644 index 858120b55..000000000 --- a/.github/workflows/epicmorg.base.images.postgresql.testing.yml +++ /dev/null @@ -1,30 +0,0 @@ -name: EpicMorg EcoSystem PostgreSQL 16 Test Image - -on: -# push: -# branches: -# - 'master' - schedule: - - cron: '5 5 * * 1,3,5' - -jobs: - - build-pgsql16-images: - name: Build EpicMorg PostgreSQL 16 Test Image - runs-on: ubuntu-22.04 - - steps: - - uses: actions/checkout@v3 - - name: Log into registry - run: echo "${{ secrets.DOCKER_SERVER_KEY }}" | docker login -u "${{ secrets.DOCKER_SERVER_LOGIN }}" --password-stdin - - - name: Test Make - run: make - - - name: "Build and Deploy PostgreSQL 16 Image:" - run: cd linux/ecosystem/postgres/16 && pwd && make build && make deploy - -################################################################################## - - - name: Cleanup - run: make docker-clean diff --git a/.github/workflows/epicmorg.base.images.web.yml b/.github/workflows/epicmorg.base.images.web.yml index 8bb6c6af1..43736b3d1 100644 --- a/.github/workflows/epicmorg.base.images.web.yml +++ b/.github/workflows/epicmorg.base.images.web.yml @@ -88,13 +88,22 @@ jobs: run: make - name: "Build and Deploy NginX Image:" - run: cd linux/ecosystem/nginx/latest/main && pwd && make build && make deploy + run: cd linux/ecosystem/nginx/latest/mainline/main && pwd && make build && make deploy - - name: "Build and Deploy NginX + PHP Image:" - run: cd linux/ecosystem/nginx/latest/php && pwd && make build && make deploy + - name: "Build and Deploy NginX + PHP7.4 Image:" + run: cd linux/ecosystem/nginx/latest/mainline/php && pwd && make build && make deploy - name: "Build and Deploy NginX + RTMP-HLS Image:" - run: cd linux/ecosystem/nginx/latest/rtmp-hls && pwd && make build && make deploy + run: cd linux/ecosystem/nginx/latest/mainline/rtmp-hls && pwd && make build && make deploy + + - name: "Build and Deploy NginX (quic, http3) Image:" + run: cd linux/ecosystem/nginx/latest/quic/main && pwd && make build && make deploy + + - name: "Build and Deploy NginX (quic, http3) + PHP7.4 Image:" + run: cd linux/ecosystem/nginx/latest/quic/php && pwd && make build && make deploy + + - name: "Build and Deploy NginX (quic, http3) + RTMP-HLS Image:" + run: cd linux/ecosystem/nginx/latest/quic/rtmp-hls && pwd && make build && make deploy ################################################################################## diff --git a/CHANGELOG.md b/CHANGELOG.md index 04dc461ec..4563d0122 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,8 @@ * build and ci fixes * added `gitlab-runner` images * updated `nextcloud`, `nginx` and `postgres` images + * added `nginx` with `http3` and `quic` support + * fixed `GitHub Actions` and `Makefile` * `oct` * just fixes * `sep` diff --git a/DESCRIPTION.md b/DESCRIPTION.md index fb86c58aa..3d1e4eac7 100644 --- a/DESCRIPTION.md +++ b/DESCRIPTION.md @@ -1,45 +1,5 @@ # [![Activity](https://img.shields.io/github/commit-activity/m/EpicMorg/docker-scripts?label=commits&style=flat-square)](https://github.com/EpicMorg/docker-scripts/commits) [![GitHub issues](https://img.shields.io/github/issues/EpicMorg/docker-scripts.svg?style=popout-square)](https://github.com/EpicMorg/docker-scripts/issues) [![GitHub forks](https://img.shields.io/github/forks/EpicMorg/docker-scripts.svg?style=popout-square)](https://github.com/EpicMorg/docker-scripts/network) [![GitHub stars](https://img.shields.io/github/stars/EpicMorg/docker-scripts.svg?style=popout-square)](https://github.com/EpicMorg/docker-scripts/stargazers) [![Size](https://img.shields.io/github/repo-size/EpicMorg/docker-scripts?label=size&style=flat-square)](https://github.com/EpicMorg/docker-scripts/archive/master.zip) [![Release](https://img.shields.io/github/v/release/EpicMorg/docker-scripts?style=flat-square)](https://github.com/EpicMorg/docker-scripts/releases) [![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/3658/badge)](https://bestpractices.coreinfrastructure.org/projects/3658) [![CodeScene System Mastery](https://codescene.io/projects/6535/status-badges/system-mastery)](https://codescene.io/projects/6535) [![GitHub license](https://img.shields.io/github/license/EpicMorg/docker-scripts.svg?style=popout-square)](LICENSE.md) [![Changelog](https://img.shields.io/badge/Changelog-yellow.svg?style=popout-square)](CHANGELOG.md) -| Master | Develop | -|:-------------|:-------------| -| [![GHA](https://img.shields.io/github/workflow/status/EpicMorg/docker-scripts/master-linux/master?label=build%20master-linux&style=flat-square)](https://github.com/EpicMorg/docker-scripts/actions?query=workflow%3Amaster-linux) | [![GHA](https://img.shields.io/github/workflow/status/EpicMorg/docker-scripts/develop-linux/develop?label=build%20develop-linux&style=flat-square)](https://github.com/EpicMorg/docker-scripts/actions?query=workflow%3Adevelop-linux) -| [![GHA](https://img.shields.io/github/workflow/status/EpicMorg/docker-scripts/master-win32/master?label=build%20master-win32&style=flat-square)](https://github.com/EpicMorg/docker-scripts/actions?query=workflow%3Amaster-win32) | [![GHA](https://img.shields.io/github/workflow/status/EpicMorg/docker-scripts/develop-win32/develop?label=build%20develop-win32&style=flat-square)](https://github.com/EpicMorg/docker-scripts/actions?query=workflow%3Adevelop-win32) - -## Description -A collection of docker images for production use. This repo contains 2 types of images - `advanced` and `ecosystem`. We support `linux x86_64` docker engine (`Win64` is still in the ***testing*** stage). - -* `linux/advanced` folder contains improved images like `nextcloud` or `teamcity server`, `zabbix collection`, etc. These images just forked from original developers and patched a bit. -* `linux/ecosystem` folder contains images developed by our team like full `Atlassian Stack`, compilled `nginx`, `php`, `testrail` and othres. - -![](https://raw.githubusercontent.com/EpicMorg/docker-scripts/master/.github/logo.png) - -## Quick navigation for sub-repositories -Containers was Splited to another sub-repositories. Now current repo will be contain only fresh and latest versions of images. All older versions will be appeared in sub-repos. More fater building, less bad load to CI. - -| Bitbucket | Confluence | Jira | EpicMorg | -|-------------:|-------------:|:-------------|:-------------| -| [![atlassian-bitbucket-7](https://img.shields.io/badge/Atlassian-Bitbucket%207-brightgreen?style=popout-square)](https://github.com/EpicMorg/docker-scripts/tree/master/atlassian/bitbucket/7) [![GHA](https://img.shields.io/github/workflow/status/EpicMorg/docker-scripts/master/master?label=build%20master&style=flat-square)](https://github.com/EpicMorg/docker-scripts/actions?query=workflow%3Amaster) | [![confluence-7](https://img.shields.io/badge/Atlassian-Confluence%207-brightgreen?style=popout-square)](https://github.com/EpicMorg/docker-scripts/tree/master/atlassian/confluence/7) [![GHA](https://img.shields.io/github/workflow/status/EpicMorg/docker-scripts/master/master?label=build%20master&style=flat-square)](https://github.com/EpicMorg/docker-scripts/actions?query=workflow%3Amaster) | [![atlassian-jira-8](https://img.shields.io/badge/Atlassian-Jira%208-brightgreen?style=popout-square)](https://github.com/EpicMorg/docker-scripts/tree/master/atlassian/jira/8) [![GHA](https://img.shields.io/github/workflow/status/EpicMorg/docker-scripts/master/master?label=build%20master&style=flat-square)](https://github.com/EpicMorg/docker-scripts/actions?query=workflow%3Amaster) | [![Deprecated](https://img.shields.io/badge/EpicMorg-Deprecated-red?style=popout-square)](https://github.com/EpicMorgVault/docker-deprecated-images) [![GHA](https://img.shields.io/badge/build-none-lightgrey?style=flat-square)](https://github.com/EpicMorgVault/docker-deprecated-images) | -| [![atlassian-bitbucket-6](https://img.shields.io/badge/Atlassian-Bitbucket%206-brightgreen?style=popout-square)](https://github.com/EpicMorg/docker-scripts/tree/master/atlassian/bitbucket/6) [![GHA](https://img.shields.io/github/workflow/status/EpicMorg/docker-scripts/master/master?label=build%20master&style=flat-square)](https://github.com/EpicMorg/docker-scripts/actions?query=workflow%3Amaster) | [![confluence-6](https://img.shields.io/badge/Atlassian-Confluence%206-yellow?style=popout-square)](https://github.com/EpicMorg/docker-scripts/tree/master/atlassian/confluence/6) [![GHA](https://img.shields.io/github/workflow/status/EpicMorg/docker-scripts/master/master?label=build%20master&style=flat-square)](https://github.com/EpicMorg/docker-scripts/actions?query=workflow%3Amaster) | [![atlassian-jira-7](https://img.shields.io/badge/Atlassian-Jira%207-yellow?style=popout-square)](https://github.com/EpicMorg/docker-scripts/tree/master/atlassian/jira/7) [![GHA](https://img.shields.io/github/workflow/status/EpicMorg/docker-scripts/master/master?label=build%20master&style=flat-square)](https://github.com/EpicMorg/docker-scripts/actions?query=workflow%3Amaster) | [![Experimental](https://img.shields.io/badge/EpicMorg-Experimental-orange?style=popout-square)](https://github.com/EpicMorgVault/docker-experimental-images) [![GHA](https://img.shields.io/github/workflow/status/EpicMorg/docker-scripts/testing/testing?label=build%20testing&style=flat-square)](https://github.com/EpicMorg/docker-scripts/actions?query=workflow%3Atesting) | -| ` ` | [![confluence-5](https://img.shields.io/badge/Atlassian-Confluence%205-orange?style=popout-square)](https://github.com/EpicMorg/docker-scripts/tree/master/atlassian/confluence/5) [![GHA](https://img.shields.io/github/workflow/status/EpicMorg/docker-scripts/master/master?label=build%20master&style=flat-square)](https://github.com/EpicMorg/docker-scripts/actions?query=workflow%3Amaster) | [![atlassian-jira-6](https://img.shields.io/badge/Atlassian-Jira%206-orange?style=popout-square)](https://github.com/EpicMorg/docker-scripts/tree/master/atlassian/jira/6) [![GHA](https://img.shields.io/github/workflow/status/EpicMorg/docker-scripts/master/master?label=build%20master&style=flat-square)](https://github.com/EpicMorg/docker-scripts/actions?query=workflow%3Amaster) | [![NextCloud](https://img.shields.io/badge/EpicMorg-NextCloud%20Backports-yellow?style=popout-square)](https://github.com/EpicMorg/docker-scripts/tree/master/nextcloud) [![GHA](https://img.shields.io/github/workflow/status/EpicMorg/docker-scripts/master/master?label=build%20master&style=flat-square)](https://github.com/EpicMorg/docker-scripts/actions?query=workflow%3Amaster) | -| ` ` | ` ` | [![atlassian-jira-5](https://img.shields.io/badge/Atlassian-Jira%205-red?style=popout-square)](https://github.com/EpicMorg/docker-scripts/tree/master/atlassian/jira/5) [![GHA](https://img.shields.io/github/workflow/status/EpicMorg/docker-scripts/master/master?label=build%20master&style=flat-square)](https://github.com/EpicMorg/docker-scripts/actions?query=workflow%3Amaster) | [![PostgreSQL](https://img.shields.io/badge/EpicMorg-PostgreSQL%20Backports-yellow?style=popout-square)](https://github.com/EpicMorg/docker-scripts/tree/master/postgres) [![GHA](https://img.shields.io/github/workflow/status/EpicMorg/docker-scripts/master/master?label=build%20master&style=flat-square)](https://github.com/EpicMorg/docker-scripts/actions?query=workflow%3Amaster) | | - -# Some popular products [![ko-fi](https://www.ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/B0B81CUI4) - -| Application | Pulls | Notes -| ------ | ------ | ------ -| [![Atlassian Bitbucket](https://img.shields.io/badge/Atlassian%20Bitbucket--brightgreen.svg?style=popout-square)](https://www.atlassian.com/software/bitbucket/download) | [![](https://img.shields.io/docker/pulls/epicmorg/bitbucket.svg?style=popout-square)](https://hub.docker.com/r/epicmorg/bitbucket/) | `Atlassian Bitbucket` server. You also can install `datacenter` edition. -| [![Atlassian Confluence](https://img.shields.io/badge/Atlassian%20Confluence--brightgreen.svg?style=popout-square)](https://www.atlassian.com/software/confluence/download) | [![](https://img.shields.io/docker/pulls/epicmorg/confluence.svg?style=popout-square)](https://hub.docker.com/r/epicmorg/confluence/) | `Atlassian Confluence` server. You also can install `datacenter` edition. -| [![Atlassian Jira](https://img.shields.io/badge/Atlassian%20Jira--brightgreen.svg?style=popout-square)](https://www.atlassian.com/software/jira/download) | [![](https://img.shields.io/docker/pulls/epicmorg/jira.svg?style=popout-square)](https://hub.docker.com/r/epicmorg/jira/) | `Atlassian Jira: Softrware` server. You also can install `servicedesk`, `core` or `datacenter` editions. -| [![Nginx Mainline](https://img.shields.io/badge/Nginx--brightgreen.svg?style=popout-square)](https://nginx.org/en/download.html) | [![](https://img.shields.io/docker/pulls/epicmorg/nginx.svg?style=popout-square)](https://hub.docker.com/r/epicmorg/nginx/) | Mainline custom build by [EpicMorg Team](https://github.com/EpicMorg) with http2 support and some modules. -| [![Apache2](https://img.shields.io/badge/Apache2--brightgreen.svg?style=popout-square)](https://deb.sury.org/) | [![](https://img.shields.io/docker/pulls/epicmorg/apache2.svg?style=popout-square)](https://hub.docker.com/r/epicmorg/apache2/ ) | Latest pure apache2. -| [![php7](https://img.shields.io/badge/php7--brightgreen.svg?style=popout-square)](https://deb.sury.org/) | [![](https://img.shields.io/docker/pulls/epicmorg/apache2.svg?style=popout-square)](https://hub.docker.com/r/epicmorg/apache2/ ) | php 7.3 custom build by [Ondrej Sury](https://launchpad.net/~ondrej). Component of container above. -| [![nc](https://img.shields.io/badge/NextCloud--brightgreen.svg?style=popout-square)](https://hub.docker.com/_/nextcloud) | [![](https://img.shields.io/docker/pulls/epicmorg/nextcloud.svg?style=popout-square)](https://hub.docker.com/r/epicmorg/nextcloud/ ) | Fixed `nextcloud:latest` build by [EpicMorg Team](https://github.com/EpicMorg) with benefits. -| [![zabbix-agent](https://img.shields.io/badge/Zabbix%20Agent--brightgreen.svg?style=popout-square)](https://github.com/zabbix/zabbix-docker) | [![](https://img.shields.io/docker/pulls/epicmorg/zabbix-agent.svg?style=popout-square)](https://hub.docker.com/r/epicmorg/zabbix-agent/ ) | Fixed `zabbix/zabbix-agent:ubuntu-latest` build by [EpicMorg Team](https://github.com/EpicMorg) with benefits. -| [![zabbix-server](https://img.shields.io/badge/Zabbix%20Server--brightgreen.svg?style=popout-square)](https://github.com/zabbix/zabbix-docker) | [![](https://img.shields.io/docker/pulls/epicmorg/zabbix-server-mysql.svg?style=popout-square)](https://hub.docker.com/r/epicmorg/zabbix-server-mysql/ ) | Fixed `zabbix/zabbix-server-mysql:ubuntu-latest` build by [EpicMorg Team](https://github.com/EpicMorg) with benefits. -| [![zabbix-web](https://img.shields.io/badge/Zabbix%20Web--brightgreen.svg?style=popout-square)](https://github.com/zabbix/zabbix-docker) | [![](https://img.shields.io/docker/pulls/epicmorg/zabbix-web-apache-mysql.svg?style=popout-square)](https://hub.docker.com/r/epicmorg/zabbix-web-apache-mysql/ ) | Fixed `zabbix/zabbix-web-apache-mysql:ubuntu-latest` build by [EpicMorg Team](https://github.com/EpicMorg) with benefits. -| [![zabbix-java-gateway](https://img.shields.io/badge/Zabbix%20JavaGW--brightgreen.svg?style=popout-square)](https://github.com/zabbix/zabbix-docker) | [![](https://img.shields.io/docker/pulls/epicmorg/zabbix-java-gateway.svg?style=popout-square)](https://hub.docker.com/r/epicmorg/zabbix-java-gateway/ ) | Fixed `zabbix/zabbix-java-gateway:ubuntu-latest` build by [EpicMorg Team](https://github.com/EpicMorg) with benefits. -| [![teamcity-agent](https://img.shields.io/badge/TeamCity%20Agent--brightgreen.svg?style=popout-square)](https://github.com/JetBrains/teamcity-docker-agent) | [![](https://img.shields.io/docker/pulls/epicmorg/teamcity-agent.svg?style=popout-square)](https://hub.docker.com/r/epicmorg/teamcity-agent/ ) | Custom build by [EpicMorg Team](https://github.com/EpicMorg) with benefits. -| [![qbittorrent](https://img.shields.io/badge/qBittorrent--brightgreen.svg?style=popout-square)](https://github.com/qbittorrent/qBittorrent) | [![](https://img.shields.io/docker/pulls/epicmorg/qbittorrent.svg?style=popout-square)](https://hub.docker.com/r/epicmorg/qbittorrent/ ) | Custom build by [EpicMorg Team](https://github.com/EpicMorg) with benefits. # Containers Map diff --git a/Makefile b/Makefile index f73160130..4d3981139 100644 --- a/Makefile +++ b/Makefile @@ -79,11 +79,103 @@ advanced-redash-images: cd `pwd`/linux/advanced/redash && pwd && make sync && make patch && make build && make deploy advanced-zabbix-images: - cd `pwd`/linux/advanced/zabbix/agent && pwd && make build && make deploy - cd `pwd`/linux/advanced/zabbix/java-gateway && pwd && make build && make deploy - cd `pwd`/linux/advanced/zabbix/proxy && pwd && make build && make deploy - cd `pwd`/linux/advanced/zabbix/server && pwd && make build && make deploy - cd `pwd`/linux/advanced/zabbix/web && pwd && make build && make deploy + cd `pwd`/linux/advanced/zabbix/latest/agent && pwd && make build && make deploy + cd `pwd`/linux/advanced/zabbix/latest/agent2 && pwd && make build && make deploy + cd `pwd`/linux/advanced/zabbix/latest/java-gateway && pwd && make build && make deploy + cd `pwd`/linux/advanced/zabbix/latest/proxy-mysql && pwd && make build && make deploy + cd `pwd`/linux/advanced/zabbix/latest/proxy-sqlite3 && pwd && make build && make deploy + cd `pwd`/linux/advanced/zabbix/latest/server-mysql && pwd && make build && make deploy + cd `pwd`/linux/advanced/zabbix/latest/server-pgsql && pwd && make build && make deploy + cd `pwd`/linux/advanced/zabbix/latest/snmptraps && pwd && make build && make deploy + cd `pwd`/linux/advanced/zabbix/latest/web-mysql && pwd && make build && make deploy + cd `pwd`/linux/advanced/zabbix/latest/web-pgsql && pwd && make build && make deploy + + cd `pwd`/linux/advanced/zabbix/3.0/agent && pwd && make build && make deploy + cd `pwd`/linux/advanced/zabbix/3.0/java-gateway && pwd && make build && make deploy + cd `pwd`/linux/advanced/zabbix/3.0/proxy-mysql && pwd && make build && make deploy + cd `pwd`/linux/advanced/zabbix/3.0/proxy-sqlite3 && pwd && make build && make deploy + cd `pwd`/linux/advanced/zabbix/3.0/server-mysql && pwd && make build && make deploy + cd `pwd`/linux/advanced/zabbix/3.0/server-pgsql && pwd && make build && make deploy + cd `pwd`/linux/advanced/zabbix/3.0/snmptraps && pwd && make build && make deploy + cd `pwd`/linux/advanced/zabbix/3.0/web-mysql && pwd && make build && make deploy + cd `pwd`/linux/advanced/zabbix/3.0/web-pgsql && pwd && make build && make deploy + + cd `pwd`/linux/advanced/zabbix/4.0/agent && pwd && make build && make deploy + cd `pwd`/linux/advanced/zabbix/4.0/java-gateway && pwd && make build && make deploy + cd `pwd`/linux/advanced/zabbix/4.0/proxy-mysql && pwd && make build && make deploy + cd `pwd`/linux/advanced/zabbix/4.0/proxy-sqlite3 && pwd && make build && make deploy + cd `pwd`/linux/advanced/zabbix/4.0/server-mysql && pwd && make build && make deploy + cd `pwd`/linux/advanced/zabbix/4.0/server-pgsql && pwd && make build && make deploy + cd `pwd`/linux/advanced/zabbix/4.0/snmptraps && pwd && make build && make deploy + cd `pwd`/linux/advanced/zabbix/4.0/web-mysql && pwd && make build && make deploy + cd `pwd`/linux/advanced/zabbix/4.0/web-pgsql && pwd && make build && make deploy + + cd `pwd`/linux/advanced/zabbix/5.0/agent && pwd && make build && make deploy + cd `pwd`/linux/advanced/zabbix/5.0/agent2 && pwd && make build && make deploy + cd `pwd`/linux/advanced/zabbix/5.0/java-gateway && pwd && make build && make deploy + cd `pwd`/linux/advanced/zabbix/5.0/proxy-mysql && pwd && make build && make deploy + cd `pwd`/linux/advanced/zabbix/5.0/proxy-sqlite3 && pwd && make build && make deploy + cd `pwd`/linux/advanced/zabbix/5.0/server-mysql && pwd && make build && make deploy + cd `pwd`/linux/advanced/zabbix/5.0/server-pgsql && pwd && make build && make deploy + cd `pwd`/linux/advanced/zabbix/5.0/snmptraps && pwd && make build && make deploy + cd `pwd`/linux/advanced/zabbix/5.0/web-mysql && pwd && make build && make deploy + cd `pwd`/linux/advanced/zabbix/5.0/web-pgsql && pwd && make build && make deploy + + cd `pwd`/linux/advanced/zabbix/5.2/agent && pwd && make build && make deploy + cd `pwd`/linux/advanced/zabbix/5.2/agent2 && pwd && make build && make deploy + cd `pwd`/linux/advanced/zabbix/5.2/java-gateway && pwd && make build && make deploy + cd `pwd`/linux/advanced/zabbix/5.2/proxy-mysql && pwd && make build && make deploy + cd `pwd`/linux/advanced/zabbix/5.2/proxy-sqlite3 && pwd && make build && make deploy + cd `pwd`/linux/advanced/zabbix/5.2/server-mysql && pwd && make build && make deploy + cd `pwd`/linux/advanced/zabbix/5.2/server-pgsql && pwd && make build && make deploy + cd `pwd`/linux/advanced/zabbix/5.2/snmptraps && pwd && make build && make deploy + cd `pwd`/linux/advanced/zabbix/5.2/web-mysql && pwd && make build && make deploy + cd `pwd`/linux/advanced/zabbix/5.2/web-pgsql && pwd && make build && make deploy + + cd `pwd`/linux/advanced/zabbix/5.4/agent && pwd && make build && make deploy + cd `pwd`/linux/advanced/zabbix/5.4/agent2 && pwd && make build && make deploy + cd `pwd`/linux/advanced/zabbix/5.4/java-gateway && pwd && make build && make deploy + cd `pwd`/linux/advanced/zabbix/5.4/proxy-mysql && pwd && make build && make deploy + cd `pwd`/linux/advanced/zabbix/5.4/proxy-sqlite3 && pwd && make build && make deploy + cd `pwd`/linux/advanced/zabbix/5.4/server-mysql && pwd && make build && make deploy + cd `pwd`/linux/advanced/zabbix/5.4/server-pgsql && pwd && make build && make deploy + cd `pwd`/linux/advanced/zabbix/5.4/snmptraps && pwd && make build && make deploy + cd `pwd`/linux/advanced/zabbix/5.4/web-mysql && pwd && make build && make deploy + cd `pwd`/linux/advanced/zabbix/5.4/web-pgsql && pwd && make build && make deploy + + cd `pwd`/linux/advanced/zabbix/6.0/agent && pwd && make build && make deploy + cd `pwd`/linux/advanced/zabbix/6.0/agent2 && pwd && make build && make deploy + cd `pwd`/linux/advanced/zabbix/6.0/java-gateway && pwd && make build && make deploy + cd `pwd`/linux/advanced/zabbix/6.0/proxy-mysql && pwd && make build && make deploy + cd `pwd`/linux/advanced/zabbix/6.0/proxy-sqlite3 && pwd && make build && make deploy + cd `pwd`/linux/advanced/zabbix/6.0/server-mysql && pwd && make build && make deploy + cd `pwd`/linux/advanced/zabbix/6.0/server-pgsql && pwd && make build && make deploy + cd `pwd`/linux/advanced/zabbix/6.0/snmptraps && pwd && make build && make deploy + cd `pwd`/linux/advanced/zabbix/6.0/web-mysql && pwd && make build && make deploy + cd `pwd`/linux/advanced/zabbix/6.0/web-pgsql && pwd && make build && make deploy + + cd `pwd`/linux/advanced/zabbix/6.2/agent && pwd && make build && make deploy + cd `pwd`/linux/advanced/zabbix/6.2/agent2 && pwd && make build && make deploy + cd `pwd`/linux/advanced/zabbix/6.2/java-gateway && pwd && make build && make deploy + cd `pwd`/linux/advanced/zabbix/6.2/proxy-mysql && pwd && make build && make deploy + cd `pwd`/linux/advanced/zabbix/6.2/proxy-sqlite3 && pwd && make build && make deploy + cd `pwd`/linux/advanced/zabbix/6.2/server-mysql && pwd && make build && make deploy + cd `pwd`/linux/advanced/zabbix/6.2/server-pgsql && pwd && make build && make deploy + cd `pwd`/linux/advanced/zabbix/6.2/snmptraps && pwd && make build && make deploy + cd `pwd`/linux/advanced/zabbix/6.2/web-mysql && pwd && make build && make deploy + cd `pwd`/linux/advanced/zabbix/6.2/web-pgsql && pwd && make build && make deploy + + cd `pwd`/linux/advanced/zabbix/6.4/agent && pwd && make build && make deploy + cd `pwd`/linux/advanced/zabbix/6.4/agent2 && pwd && make build && make deploy + cd `pwd`/linux/advanced/zabbix/6.4/java-gateway && pwd && make build && make deploy + cd `pwd`/linux/advanced/zabbix/6.4/proxy-mysql && pwd && make build && make deploy + cd `pwd`/linux/advanced/zabbix/6.4/proxy-sqlite3 && pwd && make build && make deploy + cd `pwd`/linux/advanced/zabbix/6.4/server-mysql && pwd && make build && make deploy + cd `pwd`/linux/advanced/zabbix/6.4/server-pgsql && pwd && make build && make deploy + cd `pwd`/linux/advanced/zabbix/6.4/snmptraps && pwd && make build && make deploy + cd `pwd`/linux/advanced/zabbix/6.4/web-mysql && pwd && make build && make deploy + cd `pwd`/linux/advanced/zabbix/6.4/web-pgsql && pwd && make build && make deploy + advanced-nextcloud-images: cd `pwd`/linux/advanced/nextcloud/pure/14 && pwd && make build && make deploy @@ -110,6 +202,7 @@ advanced-nextcloud-patched-images: cd `pwd`/linux/advanced/nextcloud/patched/22 && pwd && make build && make deploy cd `pwd`/linux/advanced/nextcloud/patched/23 && pwd && make build && make deploy cd `pwd`/linux/advanced/nextcloud/patched/24 && pwd && make build && make deploy + cd `pwd`/linux/advanced/nextcloud/patched/25 && pwd && make build && make deploy ecosystem-images: make bundle-base-images @@ -252,6 +345,7 @@ ecosystem-php-images: cd `pwd`/linux/ecosystem/php/php7.3 && pwd && make build && make deploy cd `pwd`/linux/ecosystem/php/php7.4 && pwd && make build && make deploy cd `pwd`/linux/ecosystem/php/php8.0 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/php/php8.1 && pwd && make build && make deploy ecosystem-apache2-images: cd `pwd`/linux/ecosystem/apache2/latest && pwd && make build && make deploy @@ -259,6 +353,7 @@ ecosystem-apache2-images: cd `pwd`/linux/ecosystem/apache2/php7.3 && pwd && make build && make deploy cd `pwd`/linux/ecosystem/apache2/php7.4 && pwd && make build && make deploy cd `pwd`/linux/ecosystem/apache2/php8.0 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/apache2/php8.1 && pwd && make build && make deploy ecosystem-testrail-images: cd `pwd`/linux/ecosystem/cassandra/3.11 && pwd && make build && make deploy @@ -328,7 +423,7 @@ ecosystem-postgres-images: cd `pwd`/linux/ecosystem/postgres/13 && pwd && make build && make deploy cd `pwd`/linux/ecosystem/postgres/14 && pwd && make build && make deploy cd `pwd`/linux/ecosystem/postgres/15 && pwd && make build && make deploy - cd `pwd`/linux/ecosystem/postgres/16 && pwd && make build && make deploy +# cd `pwd`/linux/ecosystem/postgres/16 && pwd && make build && make deploy ecosystem-teamcity-agent-images: cd `pwd`/linux/ecosystem/teamcity/agent/latest && pwd && make build && make deploy @@ -349,9 +444,12 @@ ecosystem-teamcity-agent-images: cd `pwd`/linux/ecosystem/teamcity/agent/steam-sdk && pwd && make build && make deploy ecosystem-nginx-images: - cd `pwd`/linux/ecosystem/nginx/latest/main && pwd && make build && make deploy - cd `pwd`/linux/ecosystem/nginx/latest/php && pwd && make build && make deploy - cd `pwd`/linux/ecosystem/nginx/latest/rtmp-hls && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/nginx/latest/mainline/main && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/nginx/latest/mainline/php && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/nginx/latest/mainline/rtmp-hls && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/nginx/latest/quic/main && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/nginx/latest/quic/php && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/nginx/latest/quic/rtmp-hls && pwd && make build && make deploy ecosystem-vscode-server-images: cd `pwd`/linux/advanced/vscode-server/latest && pwd && make build && make deploy diff --git a/README.md b/README.md index 956570b39..761ddf180 100644 --- a/README.md +++ b/README.md @@ -7,17 +7,45 @@ A collection of docker images for production use. This repo contains 2 types of * `linux/advanced` folder contains improved images like `nextcloud` or `teamcity server`, `zabbix collection`, etc. These images just forked from original developers and patched a bit. * `linux/ecosystem` folder contains images developed by our team like full `Atlassian Stack`, compilled `nginx`, `php`, `testrail` and othres. -See more at [DESCRIPTION.md](DESCRIPTION.md) - ![](https://raw.githubusercontent.com/EpicMorg/docker-scripts/master/.github/logo.png) -# Few popular products [![ko-fi](https://www.ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/B0B81CUI4) +# CI Status + +| `Advanced` | `EcoSystem` | +|:-------------|:-------------| +| [![GHA](https://img.shields.io/github/workflow/status/EpicMorg/docker-scripts/EpicMorg%20Advanced%20Images?label=EpicMorg%20Advanced%20Images&logo=EpicMorg%20Advanced%20Images&style=flat-square)](https://github.com/EpicMorg/docker-scripts/blob/master/.github/workflows/epicmorg.advanced.images.yml) | [![GHA](https://img.shields.io/github/workflow/status/EpicMorg/docker-scripts/EpicMorg%20Debian%2010%20Images?label=Debian%2010%20Images&logo=Debian%2010%20Images&style=flat-square)](https://github.com/EpicMorg/docker-scripts/actions/workflows/epicmorg.base.images.current.debian10.yml) +| [![GHA](https://img.shields.io/github/workflow/status/EpicMorg/docker-scripts/EpicMorg%20Advanced%20Nextcloud%20Images?label=Nextcloud%20Images&logo=Nextcloud%20Images&style=flat-square)](https://github.com/EpicMorg/docker-scripts/actions/workflows/epicmorg.advanced.nextcloud.images.yml) | [![GHA](https://img.shields.io/github/workflow/status/EpicMorg/docker-scripts/EpicMorg%20Debian%2011%20Images?label=Debian%2011%20Images&logo=Debian%2011%20Images&style=flat-square)](https://github.com/EpicMorg/docker-scripts/actions/workflows/epicmorg.base.images.current.debian11.yml) +| [![GHA](https://img.shields.io/github/workflow/status/EpicMorg/docker-scripts/EpicMorg%20Advanced%20Vscode%20Server%20Images?label=Vscode%20Server%20Images&logo=Vscode%20Server%20Images&style=flat-square)](https://github.com/EpicMorg/docker-scripts/actions/workflows/epicmorg.advanced.vscode.images.yml) | [![GHA](https://img.shields.io/github/workflow/status/EpicMorg/docker-scripts/EpicMorg%20Debian%2012%20Images?label=Debian%2012%20Images&logo=Debian%2012%20Images&style=flat-square)](https://github.com/EpicMorg/docker-scripts/actions/workflows/epicmorg.base.images.current.debian12.yml) +| ` ` | [![GHA](https://img.shields.io/github/workflow/status/EpicMorg/docker-scripts/EpicMorg%20Debian%20Legacy%20Images?label=Debian%20Legacy%20Images&logo=Debian%20Legacy%20Images&style=flat-square)](https://github.com/EpicMorg/docker-scripts/actions/workflows/epicmorg.base.images.legacy.yml) +| ` ` | [![GHA](https://img.shields.io/github/workflow/status/EpicMorg/docker-scripts/EpicMorg%20Debian%20Python%20Images?label=Debian%20Python%20Images&logo=Debian%20Python%20Images&style=flat-square)](https://github.com/EpicMorg/docker-scripts/actions/workflows/epicmorg.base.images.python.yml) +| ` ` | [![GHA](https://img.shields.io/github/workflow/status/EpicMorg/docker-scripts/EpicMorg%20EcoSystem%20Misc%20Images?label=EcoSystem%20Misc%20Images&logo=EcoSystem%20Misc%20Images&style=flat-square)](https://github.com/EpicMorg/docker-scripts/actions/workflows/epicmorg.ecosysctem.misc.images.yml) +| ` ` | [![GHA](https://img.shields.io/github/workflow/status/EpicMorg/docker-scripts/EpicMorg%20EcoSystem%20Atlassian%20Main%20Images?label=Atlassian%20Images&logo=Atlassian%20Images&style=flat-square)](https://github.com/EpicMorg/docker-scripts/actions/workflows/epicmorg.base.images.current.atlassian.yml) +| ` ` | [![GHA](https://img.shields.io/github/workflow/status/EpicMorg/docker-scripts/EpicMorg%20EcoSystem%20NodeJS%20Images?label=NodeJS%20Images&logo=NodeJS%20Images&style=flat-square)](https://github.com/EpicMorg/docker-scripts/actions/workflows/epicmorg.base.images.nodejs.yml) +| ` ` | [![GHA](https://img.shields.io/github/workflow/status/EpicMorg/docker-scripts/EpicMorg%20EcoSystem%20Perfocre%20Images?label=Perfocre%20Images&logo=Perfocre%20Images&style=flat-square)](https://github.com/EpicMorg/docker-scripts/actions/workflows/epicmorg.base.images.perforce.yml) +| ` ` | [![GHA](https://img.shields.io/github/workflow/status/EpicMorg/docker-scripts/EpicMorg%20EcoSystem%20PostgreSQL%20Images?label=PostgreSQL%20Images&logo=PostgreSQL%20Images&style=flat-square)](https://github.com/EpicMorg/docker-scripts/actions/workflows/epicmorg.base.images.postgresql.yml) +| ` ` | [![GHA](https://img.shields.io/github/workflow/status/EpicMorg/docker-scripts/EpicMorg%20EcoSystem%20TeamCity%20Agents%20Images?label=TeamCity%20Agents%20Images&logo=TeamCity%20Agents%20Images&style=flat-square)](https://github.com/EpicMorg/docker-scripts/actions/workflows/epicmorg.base.images.teamcity.agents.yml) +| ` ` | [![GHA](https://img.shields.io/github/workflow/status/EpicMorg/docker-scripts/EpicMorg%20EcoSystem%20Testrail%20Images?label=Testrail%20Images&logo=Testrail%20Images&style=flat-square)](https://github.com/EpicMorg/docker-scripts/actions/workflows/epicmorg.base.images.testrail.yml) +| ` ` | [![GHA](https://img.shields.io/github/workflow/status/EpicMorg/docker-scripts/EpicMorg%20EcoSystem%20Web%20Images?label=Web%20Images&logo=Web%20Images&style=flat-square)](https://github.com/EpicMorg/docker-scripts/actions/workflows/epicmorg.base.images.web.yml) + + +# Few popular products [![ko-fi](https://www.ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/B0B81CUI4) | Application | Pulls | Notes | ------ | ------ | ------ | [![Atlassian Bitbucket](https://img.shields.io/badge/Atlassian%20Bitbucket--brightgreen.svg?style=popout-square)](https://www.atlassian.com/software/bitbucket/download) | [![](https://img.shields.io/docker/pulls/epicmorg/bitbucket.svg?style=popout-square)](https://hub.docker.com/r/epicmorg/bitbucket/) | `Atlassian Bitbucket` server. You also can install `datacenter` edition. | [![Atlassian Confluence](https://img.shields.io/badge/Atlassian%20Confluence--brightgreen.svg?style=popout-square)](https://www.atlassian.com/software/confluence/download) | [![](https://img.shields.io/docker/pulls/epicmorg/confluence.svg?style=popout-square)](https://hub.docker.com/r/epicmorg/confluence/) | `Atlassian Confluence` server. You also can install `datacenter` edition. | [![Atlassian Jira](https://img.shields.io/badge/Atlassian%20Jira--brightgreen.svg?style=popout-square)](https://www.atlassian.com/software/jira/download) | [![](https://img.shields.io/docker/pulls/epicmorg/jira.svg?style=popout-square)](https://hub.docker.com/r/epicmorg/jira/) | `Atlassian Jira: Softrware` server. You also can install `servicedesk`, `core` or `datacenter` editions. +| [![Nginx Mainline](https://img.shields.io/badge/Nginx--brightgreen.svg?style=popout-square)](https://nginx.org/en/download.html) | [![](https://img.shields.io/docker/pulls/epicmorg/nginx.svg?style=popout-square)](https://hub.docker.com/r/epicmorg/nginx/) | Mainline custom build by [EpicMorg Team](https://github.com/EpicMorg) with http2 support and some modules. +| [![Apache2](https://img.shields.io/badge/Apache2--brightgreen.svg?style=popout-square)](https://deb.sury.org/) | [![](https://img.shields.io/docker/pulls/epicmorg/apache2.svg?style=popout-square)](https://hub.docker.com/r/epicmorg/apache2/ ) | Latest pure apache2. +| [![php7](https://img.shields.io/badge/php7--brightgreen.svg?style=popout-square)](https://deb.sury.org/) | [![](https://img.shields.io/docker/pulls/epicmorg/apache2.svg?style=popout-square)](https://hub.docker.com/r/epicmorg/apache2/ ) | php 7.3 custom build by [Ondrej Sury](https://launchpad.net/~ondrej). Component of container above. +| [![nc](https://img.shields.io/badge/NextCloud--brightgreen.svg?style=popout-square)](https://hub.docker.com/_/nextcloud) | [![](https://img.shields.io/docker/pulls/epicmorg/nextcloud.svg?style=popout-square)](https://hub.docker.com/r/epicmorg/nextcloud/ ) | Fixed `nextcloud:latest` build by [EpicMorg Team](https://github.com/EpicMorg) with benefits. +| [![zabbix-agent](https://img.shields.io/badge/Zabbix%20Agent--brightgreen.svg?style=popout-square)](https://github.com/zabbix/zabbix-docker) | [![](https://img.shields.io/docker/pulls/epicmorg/zabbix-agent.svg?style=popout-square)](https://hub.docker.com/r/epicmorg/zabbix-agent/ ) | Fixed `zabbix/zabbix-agent:ubuntu-latest` build by [EpicMorg Team](https://github.com/EpicMorg) with benefits. +| [![zabbix-server](https://img.shields.io/badge/Zabbix%20Server--brightgreen.svg?style=popout-square)](https://github.com/zabbix/zabbix-docker) | [![](https://img.shields.io/docker/pulls/epicmorg/zabbix-server-mysql.svg?style=popout-square)](https://hub.docker.com/r/epicmorg/zabbix-server-mysql/ ) | Fixed `zabbix/zabbix-server-mysql:ubuntu-latest` build by [EpicMorg Team](https://github.com/EpicMorg) with benefits. +| [![zabbix-web](https://img.shields.io/badge/Zabbix%20Web--brightgreen.svg?style=popout-square)](https://github.com/zabbix/zabbix-docker) | [![](https://img.shields.io/docker/pulls/epicmorg/zabbix-web-apache-mysql.svg?style=popout-square)](https://hub.docker.com/r/epicmorg/zabbix-web-apache-mysql/ ) | Fixed `zabbix/zabbix-web-apache-mysql:ubuntu-latest` build by [EpicMorg Team](https://github.com/EpicMorg) with benefits. +| [![zabbix-java-gateway](https://img.shields.io/badge/Zabbix%20JavaGW--brightgreen.svg?style=popout-square)](https://github.com/zabbix/zabbix-docker) | [![](https://img.shields.io/docker/pulls/epicmorg/zabbix-java-gateway.svg?style=popout-square)](https://hub.docker.com/r/epicmorg/zabbix-java-gateway/ ) | Fixed `zabbix/zabbix-java-gateway:ubuntu-latest` build by [EpicMorg Team](https://github.com/EpicMorg) with benefits. +| [![teamcity-agent](https://img.shields.io/badge/TeamCity%20Agent--brightgreen.svg?style=popout-square)](https://github.com/JetBrains/teamcity-docker-agent) | [![](https://img.shields.io/docker/pulls/epicmorg/teamcity-agent.svg?style=popout-square)](https://hub.docker.com/r/epicmorg/teamcity-agent/ ) | Custom build by [EpicMorg Team](https://github.com/EpicMorg) with benefits. +| [![qbittorrent](https://img.shields.io/badge/qBittorrent--brightgreen.svg?style=popout-square)](https://github.com/qbittorrent/qBittorrent) | [![](https://img.shields.io/docker/pulls/epicmorg/qbittorrent.svg?style=popout-square)](https://hub.docker.com/r/epicmorg/qbittorrent/ ) | Custom build by [EpicMorg Team](https://github.com/EpicMorg) with benefits. + # Stargazers [![Stargazers repo roster for @EpicMorg/docker-scripts](https://reporoster.com/stars/dark/EpicMorg/docker-scripts)](https://github.com/EpicMorg/docker-scripts/stargazers) diff --git a/linux/ecosystem/nginx/latest/main/.env b/linux/ecosystem/nginx/latest/main/.env deleted file mode 100644 index 15b9807c4..000000000 --- a/linux/ecosystem/nginx/latest/main/.env +++ /dev/null @@ -1,2 +0,0 @@ -NGINX_VERSION=latest -NGINX_DOWNLOAD_URL=http://nginx.org/download/nginx-1.23.2.tar.gz diff --git a/linux/ecosystem/nginx/latest/main/Dockerfile b/linux/ecosystem/nginx/latest/main/Dockerfile deleted file mode 100644 index 9bef2f4a0..000000000 --- a/linux/ecosystem/nginx/latest/main/Dockerfile +++ /dev/null @@ -1,254 +0,0 @@ -################################################################## -# Set Global ARG to build process -################################################################## -ARG NGINX_VERSION - -################################################################## -# Start build process -################################################################## -FROM epicmorg/debian:bullseye-develop AS builder -LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ENV BuildDocker true -ARG BUILDS_DIR=/builds -ARG SRC_DIR=${BUILDS_DIR}/src -ARG EXPORT_DIR=${BUILDS_DIR}/export -ARG PRE_DIR=${BUILDS_DIR}/pre -ARG NGINX_SRC_DIR=${SRC_DIR}/nginx -ARG NGINX_VERSION -ARG NGINX_DOWNLOAD_URL -ARG LUAJIT_INC=/usr/local/include/luajit-2.1 -ARG LUAJIT_LIB=/usr/local/lib - -################################################################## -# Files and folders -################################################################## -RUN mkdir -p ${PRE_DIR} ${NGINX_SRC_DIR} /usr/lib/nginx -ADD pre/luajit2-description-pak ${PRE_DIR} -ADD pre/nginx-description-pak ${PRE_DIR} -ADD pre/ip2location-description-pak ${PRE_DIR} - -################################################################## -# IP2Location support for prod nginx module -################################################################## -RUN cd ${SRC_DIR} && \ - git clone https://github.com/chrislim2888/IP2Location-C-Library.git ip2 && \ - cp -fv ${PRE_DIR}/ip2location-description-pak ${SRC_DIR}/ip2/description-pak && \ - cd ${SRC_DIR}/ip2 && \ - ls -las && \ - autoreconf -i -v --force && \ - aclocal && \ - automake --gnu --add-missing && \ - autoconf && \ - autoreconf -i -v --force && \ - ./configure && \ - ls -las && \ - make clean && \ - make && \ - make -C data convert && \ - make check && \ - ls -las && \ - fakeroot checkinstall -D --pakdir=${EXPORT_DIR} --maintainer="EpicMorg, developer@epicm.org" --pkgname=ip2-custom --conflicts=ip2 --install=yes -y && \ - ln -s /usr/local/lib/libIP2Location.so /usr/lib/libIP2Location.so && \ - ln -s /usr/local/lib/libIP2Location.so.1 /usr/lib/libIP2Location.so.1 && \ - ln -s /usr/local/lib/libIP2Location.so.2 /usr/lib/libIP2Location.so.2 && \ - ln -s /usr/local/lib/libIP2Location.so /lib/libIP2Location.so && \ - ln -s /usr/local/lib/libIP2Location.so.1 /lib/libIP2Location.so.1 && \ - ln -s /usr/local/lib/libIP2Location.so.2 /lib/libIP2Location.so.2 && \ - ln -s /lib/x86_64-linux-gnu/libcrypto.so.1.1 /lib/x86_64-linux-gnu/libcrypto.so.1 && \ - dpkg --force-all -i ${EXPORT_DIR}/*.deb - -################################################################## -# luaJIT 2 support for prod nginx module -################################################################## -RUN cd ${SRC_DIR} && \ - git clone https://github.com/openresty/luajit2.git luajit2 && \ - cp -fv ${PRE_DIR}/luajit2-description-pak ${SRC_DIR}/luajit2/description-pak && \ - cd ${SRC_DIR}/luajit2 && \ - make && \ - make install && \ - fakeroot checkinstall -D --pakdir=${EXPORT_DIR} --maintainer="EpicMorg, developer@epicm.org" --pkgname=luajit2-custom --conflicts=luajit2 --install=no -y - -################################################################## -# nginx preparing -################################################################## -RUN wget -qO - ${NGINX_DOWNLOAD_URL} | tar -zxv --strip-components=1 -C ${NGINX_SRC_DIR} && \ - cd ${NGINX_SRC_DIR} && \ - git clone https://github.com/openresty/headers-more-nginx-module.git http-headers-more-filter && \ - git clone https://github.com/sto/ngx_http_auth_pam_module.git http-auth-pam && \ - git clone https://github.com/arut/nginx-dav-ext-module.git http-dav-ext && \ - git clone https://github.com/openresty/echo-nginx-module.git http-echo && \ - git clone https://github.com/aperezdc/ngx-fancyindex.git http-fancyindex && \ - git clone https://github.com/slact/nchan.git nchan && \ - git clone https://github.com/masterzen/nginx-upload-progress-module.git http-uploadprogress && \ - git clone https://github.com/yaoweibin/ngx_http_substitutions_filter_module http-subs-filter && \ - git clone https://github.com/grahamedgecombe/nginx-ct.git ssl-ct && \ -# git clone https://github.com/stnoonan/spnego-http-auth-nginx-module.git spnego-http-auth-nginx-module && \ - git clone https://github.com/leev/ngx_http_geoip2_module http-geoip2 && \ - git clone https://github.com/flavioribeiro/nginx-audio-track-for-hls-module.git nginx-audio-track-for-hls-module && \ - git clone https://github.com/chrislim2888/ip2location-nginx.git ip2location-nginx && \ - git clone https://github.com/kaltura/nginx-vod-module.git nginx-vod-module && \ - git clone https://github.com/vozlt/nginx-module-vts.git nginx-module-vts && \ - git clone https://github.com/evanmiller/mod_zip.git mod-zip && \ - git clone https://github.com/alibaba/nginx-http-user-agent.git nginx-http-user-agent && \ - git clone https://github.com/youzee/nginx-unzip-module.git nginx-unzip-module && \ - git clone https://github.com/vladbondarenko/ngx_webp.git ngx-webp && \ - git clone https://github.com/openresty/xss-nginx-module.git xss-nginx-module && \ - git clone https://github.com/openresty/set-misc-nginx-module.git set-misc-nginx-module && \ - git clone https://github.com/arut/nginx-rtmp-module.git rtmp && \ - git clone https://github.com/kvspb/nginx-auth-ldap.git http-auth-ldap && \ - git clone https://github.com/simplresty/ngx_devel_kit.git http-ndk && \ - git clone https://github.com/chrislim2888/IP2Location-C-Library.git ip2location-c-7.0.0 && \ - git clone https://github.com/itoffshore/nginx-upstream-fair.git http-upstream-fair && \ - git clone https://github.com/yaoweibin/nginx_upstream_check_module.git nginx-upstream-check-module && \ - git clone https://github.com/openresty/lua-nginx-module http-lua - -################################################################## -# nginx compilling -################################################################## -RUN cd ${NGINX_SRC_DIR} && \ - ./configure \ - --sbin-path=/usr/sbin/nginx \ - --prefix=/usr/share/nginx \ - --conf-path=/etc/nginx/nginx.conf \ - --http-log-path=/var/log/nginx/access.log \ - --error-log-path=/var/log/nginx/error.log \ - --lock-path=/var/lock/nginx.lock \ - --pid-path=/run/nginx.pid \ - --modules-path=/usr/lib/nginx/modules \ - --http-client-body-temp-path=/var/lib/nginx/body \ - --http-fastcgi-temp-path=/var/lib/nginx/fastcgi \ - --http-proxy-temp-path=/var/lib/nginx/proxy \ - --http-scgi-temp-path=/var/lib/nginx/scgi \ - --http-uwsgi-temp-path=/var/lib/nginx/uwsgi \ - --with-cc-opt='-I/usr/local/include/luajit-2.1 -g -O2 -lz -fstack-protector-strong -Wformat -Wno-error=date-time -Wno-error=implicit-fallthrough= -Wno-error=cast-function-type -Wno-error=format-security -Wno-error=implicit-function-declaration -Wno-error=deprecated-declarations -Wno-error=unused-result -fPIC -Wdate-time -D_FORTIFY_SOURCE=2' \ - --with-ld-opt='-Wl,-z,relro -Wl,-z,now -lz -fPIC -L/usr/local/lib' \ - --with-file-aio \ - --with-compat \ - --with-debug \ - --with-threads \ - --with-pcre-jit \ - --with-http_ssl_module \ - --with-http_stub_status_module \ - --with-http_realip_module \ - --with-http_auth_request_module \ - --with-http_v2_module \ - --with-http_dav_module \ - --with-http_slice_module \ - --with-http_addition_module \ - --with-http_flv_module \ - --with-http_geoip_module=dynamic \ - --with-http_gunzip_module \ - --with-http_gzip_static_module \ - --with-http_image_filter_module=dynamic \ - --with-http_mp4_module \ - --with-http_perl_module=dynamic \ - --with-http_random_index_module \ - --with-http_secure_link_module \ - --with-http_sub_module \ - --with-http_xslt_module=dynamic \ - --with-mail=dynamic \ - --with-mail_ssl_module \ - --with-stream=dynamic \ - --with-stream_ssl_module \ - --with-stream_ssl_preread_module \ - --add-dynamic-module=http-headers-more-filter \ - --add-dynamic-module=http-auth-pam \ - --add-dynamic-module=http-dav-ext \ - --add-dynamic-module=http-ndk \ - --add-dynamic-module=http-echo \ - --add-dynamic-module=http-fancyindex \ - --add-dynamic-module=nchan \ - --add-dynamic-module=http-uploadprogress \ - --add-dynamic-module=http-subs-filter \ - --add-dynamic-module=ssl-ct \ - --add-dynamic-module=http-geoip2 \ -# --add-dynamic-module=spnego-http-auth-nginx-module \ - --add-dynamic-module=http-auth-ldap \ -# --add-dynamic-module=nginx-audio-track-for-hls-module \ - --add-dynamic-module=ip2location-nginx \ - --add-dynamic-module=nginx-vod-module \ -# --add-dynamic-module=nginx-module-vts \ - --add-dynamic-module=mod-zip \ - --add-dynamic-module=nginx-http-user-agent \ - --add-dynamic-module=nginx-unzip-module \ - --add-dynamic-module=ngx-webp \ - --add-dynamic-module=set-misc-nginx-module \ - --add-dynamic-module=rtmp \ - --add-dynamic-module=http-upstream-fair \ - --add-dynamic-module=nginx-upstream-check-module \ - --add-dynamic-module=http-lua && \ - cp -fv ${PRE_DIR}/nginx-description-pak ${NGINX_SRC_DIR}/description-pak && \ - fakeroot checkinstall -D --pakdir=/builds/export --maintainer="EpicMorg, developer@epicm.org" --pkgname=nginx-custom --install=no -y && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb - -################################################################## -################################################################## -################################################################## - -FROM epicmorg/debian:bullseye -LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# LDAP Fix -################################################################## -RUN echo "TLS_REQCERT never" >> /etc/ldap/ldap.conf - -################################################################## -# Installing nginx from deb -################################################################## -ADD pre/ngninx.pre.tar.gz / -COPY --from=builder /builds/export /tmp/deb -RUN apt-get update && \ - apt-get install -y --allow-unauthenticated \ - geoip-database \ - geoip-bin \ - libgeoip1 \ - libmaxminddb0 \ - libgd3 \ - libxslt1.1 && \ - dpkg --force-all -i /tmp/deb/*.deb && \ - ln -s /usr/local/lib/libIP2Location.so /usr/lib/libIP2Location.so && \ - ln -s /usr/local/lib/libIP2Location.so.1 /usr/lib/libIP2Location.so.1 && \ - ln -s /usr/local/lib/libIP2Location.so.2 /usr/lib/libIP2Location.so.2 && \ - ln -s /usr/local/lib/libIP2Location.so.3 /usr/lib/libIP2Location.so.3 && \ - ln -s /usr/local/lib/libIP2Location.so.4 /usr/lib/libIP2Location.so.4 && \ - ln -s /usr/local/lib/libIP2Location.so.5 /usr/lib/libIP2Location.so.5 && \ - ln -s /usr/local/lib/libIP2Location.so /lib/libIP2Location.so && \ - ln -s /usr/local/lib/libIP2Location.so.1 /lib/libIP2Location.so.1 && \ - ln -s /usr/local/lib/libIP2Location.so.2 /lib/libIP2Location.so.2 && \ - ln -s /usr/local/lib/libIP2Location.so.3 /lib/libIP2Location.so.3 && \ - ln -s /usr/local/lib/libIP2Location.so.4 /lib/libIP2Location.so.4 && \ - ln -s /usr/local/lib/libIP2Location.so.5 /lib/libIP2Location.so.5 && \ - ln -sf /dev/stdout /var/log/nginx/access.log && \ - ln -sf /dev/stderr /var/log/nginx/error.log && \ - ln -sf /etc/ssl/dhparam.pem /etc/nginx/dhparam.pem && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rf /var/lib/apt/lists/* && \ - rm -rf /var/cache/apt/archives/*.deb && \ - rm -rf /tmp/deb/* && \ - rm -rf /builds/* && \ - rm -rf /valve/* - -#healthcheck. good practice -HEALTHCHECK --interval=2m --timeout=3s CMD curl -f http://localhost:80/ || exit 1 - -# Add image configuration and scripts -COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh -RUN chmod 755 /usr/bin/docker-entrypoint.sh - -#Final config -VOLUME ["/var/cache/nginx"] -EXPOSE 80 443 - -ENTRYPOINT ["tini", "-s", "--", "docker-entrypoint.sh"] -CMD ["docker-entrypoint.sh"] diff --git a/linux/ecosystem/nginx/latest/main/Makefile b/linux/ecosystem/nginx/latest/main/Makefile deleted file mode 100644 index 9ef622aa9..000000000 --- a/linux/ecosystem/nginx/latest/main/Makefile +++ /dev/null @@ -1,19 +0,0 @@ -all: app - -app: - make build - make deploy - make clean - -build: - docker-compose build --compress --parallel --progress plain - -deploy: - docker-compose push - -clean: - docker container prune -f - docker image prune -f - docker network prune -f - docker volume prune -f - docker system prune -af diff --git a/linux/ecosystem/nginx/latest/main/README.md b/linux/ecosystem/nginx/latest/main/README.md deleted file mode 100644 index 034784bc0..000000000 --- a/linux/ecosystem/nginx/latest/main/README.md +++ /dev/null @@ -1,30 +0,0 @@ -# Compose example - -```yml -version: '3.7' -services: - balancer: - image: epicmorg/balancer - restart: unless-stopped - ports: - - "0.0.0.0:80:80" - - "0.0.0.0:443:443" - volumes: - - /etc/localtime:/etc/localtime - - /etc/timezone:/etc/timezone - - /etc/letsencrypt:/etc/letsencrypt - - nginx:/etc/nginx - - nginx-usr:/usr/share/nginx/html - - /var/lib/nginx -# extra_hosts: -# - "example.com:192.168.0.11" - depends_on: - - websites - tmpfs: - - /tmp -volumes: - nginx: - external: true - nginx-usr: - external: true -``` diff --git a/linux/ecosystem/nginx/latest/main/docker-compose.yml b/linux/ecosystem/nginx/latest/main/docker-compose.yml deleted file mode 100644 index 4d5d761fb..000000000 --- a/linux/ecosystem/nginx/latest/main/docker-compose.yml +++ /dev/null @@ -1,9 +0,0 @@ -version: '3.9' -services: - app: - image: "epicmorg/nginx:${NGINX_VERSION}" - build: - context: . - args: - NGINX_VERSION: ${NGINX_VERSION} - NGINX_DOWNLOAD_URL: ${NGINX_DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/nginx/latest/main/docker-entrypoint.sh b/linux/ecosystem/nginx/latest/main/docker-entrypoint.sh deleted file mode 100755 index 9ebcd6a91..000000000 --- a/linux/ecosystem/nginx/latest/main/docker-entrypoint.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/bash - -if [[ -z "${FIX_WWW_DATA}" ]]; then - echo "[nginx] env FIX_WWW_DATA is not set. Skipping..." -elif [ "${FIX_WWW_DATA}" == "false" ]; then - echo "[nginx] env FIX_WWW_DATA is set to false. Skipping..." -elif [ "${FIX_WWW_DATA}" == "true" ]; then - echo "[nginx] Changing permissions for /var/www path. Dont worry, please wait." - chown www-data:www-data /var/www -R - echo "[nginx] Done" -else - echo "[nginx] env FIX_WWW_DATA is set to strange value. Skipping..." -fi - -echo "[nginx] Starting up" -nginx -g 'daemon off;' diff --git a/linux/ecosystem/nginx/latest/main/pre/ip2location-description-pak b/linux/ecosystem/nginx/latest/main/pre/ip2location-description-pak deleted file mode 100644 index e93eb7783..000000000 --- a/linux/ecosystem/nginx/latest/main/pre/ip2location-description-pak +++ /dev/null @@ -1 +0,0 @@ -Custom build of ip2location lib by EpicMorg. diff --git a/linux/ecosystem/nginx/latest/main/pre/luajit2-description-pak b/linux/ecosystem/nginx/latest/main/pre/luajit2-description-pak deleted file mode 100644 index 4305e8e88..000000000 --- a/linux/ecosystem/nginx/latest/main/pre/luajit2-description-pak +++ /dev/null @@ -1 +0,0 @@ -Custom build of luajit2 for Nginx module, by EpicMorg. diff --git a/linux/ecosystem/nginx/latest/main/pre/nginx-description-pak b/linux/ecosystem/nginx/latest/main/pre/nginx-description-pak deleted file mode 100644 index b6c186ed8..000000000 --- a/linux/ecosystem/nginx/latest/main/pre/nginx-description-pak +++ /dev/null @@ -1 +0,0 @@ -Custom build of Nginx with some modules by EpicMorg. \ No newline at end of file diff --git a/linux/ecosystem/nginx/latest/main/pre/ngninx.pre.tar.gz b/linux/ecosystem/nginx/latest/main/pre/ngninx.pre.tar.gz deleted file mode 100644 index bf9c2735172faf460d34cb157f13291f42cdef88..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9573 zcmV-rC7RkFiwFRv!iZe}1MEF(QyaOm`_=O+wAi%?yZCKP4ivk^f|F2(00)~*ZDn(O zh8fw`Wjr%G(g5C&``d4KYsT}i%_9MCPF*V%u=VI}b+=klt0gMc@18x?AZ=}K(r-xl z-}JfO+-x=Kt$J;<4f$JJ^~QH>^Z7~p?z>PbGhpny!1L5y_3kVGFHM!|l^Hy<4m?o) zpaJczMg#Ie3+lC%{Fjlm{2g)ej5_dm`PUm@23GQ4LQ3TC4uyO3EL!k*`8Qg%`bz%G zNRj-#;Wsw^w^s6BN=oGaZH@nWYbF0>BrX5z>+5f8{5P8``7b3U@*k?V2 zTdn_>k}A)<_Q&*i`PW+Q)%t%aNy}eOq~c@yne^Zb#(#aa|65MV%3uF}YBhMg{F|G# zmH%%kX|DWfD^QU{U0{qv}Ee5aBp12whjW!wnYcC{yMom(229 z6?hInGhI8Oqt`im$6gLhshAvv%J#0^DIH@|xM?!>hy>I1piq<26Jzd$3cJ?j*6!x| z20<5tgecPyS3Dtx5Cbeg{m;XrBSd8a(TFbKh!9ARaRSvq02W0VY#4Z<&tCo$`uWbY z`R-WUaC^N%Jk}Vc7`mn-0oZ^C9A#vC);1K6l=8Q$(Ma`zVU@d8D3aBPF%?|S1E3G* zu23J111_yV_)2*0?j9S7;fVP>0C|r|@Yno;;czE@*vtfc@L3Y2H&v1p+RCL&oXh z!E530-6}{s>XR>QL+hCtsM7$-LK#%$g@`J!vSQ^wS$W7_*d`x)F7wUI*U9cUbd)HEAl6tgf43Q0rN1dvNUNV0#{<`Y z$@wq*Y&2KvzhxvX|8L^_FD3t#|9@F2k^kTB|4+$(<^Nw+s#LkMz76}I@&9eD?Eg}d zmOt!MROPwce_wL`({8W)|4T_3`O_5e^f>O8f4#QVYUcgFTg{dKXDO-peU-MOBf}^b zi|p6Vo5N#vczoD{AFof0B0CMdD`9iFU0_q+&>4rVYQXI>ZL7B#q>|%VrqdrtRtjJ{ zt2lj(90IH)C(`kTkYSEtPnvk-!$8Mhzq|job8vpt*iqH`bS;#K#7_2t z2|C{RjS5Ul#r{U^E4REZjGd~cnVx+}v{~7$uSb0S zi>;M_hP8y3NKwv-gPhdWU8sJ3bolPDmudl8%M}Y9F$NAnJ^U#_Llrs{=Ln_{RgEAK zcv8^5cG#`6PXrXRNbR-CRwIu;lwt81S7G4FZTyVm2M|ZDs*x$#1?R5TdKivWqn@g9 zZKA6*0A5UD53a7%NL8}D(6O28DFBv$n&%m#yp)G5_Jtv5;VZx4)>MV}TP{xAv!P_TeH#OhChgJ4Eq`zNQpE^GX}2w}tctQEeG8YhM^|9ePhVs&(37?69_ zC`@rFmcf%k)A;#^I>N?|)2GDc=rRyaqn5*kILaMtPlws!=U>6bOY;BXl0pa79%)=Ii~4Y{a2 zwOKyCj_eGu5-f;5W-!s)|MvVeK3B+d_>OL9cRs_$3l%L*d_-oA$n%s5lOjxlGN$f~ zvKY>b2thss_j&iM{&?h}KMYKpXPI;2I>O~FDvPuj$4RJYVktcIm|}raYJiDOh8B9( z2cY?r7-?EVr)M;%c(X=_4qk+ z5IIzP5X&16VR>xsfrR%am~T9eyMPfxRN%Rc%dcZHd{vXjO{_og5|2+|L_|>U?up-eq#0iU^dN6lv5rmR<9)! z6Qrq)gU>L}z|ZL*E7+dPsXHB5N=?)V7fJ$;M8JA%u=upl(Uv5~Z=>)q=Hdcl4s-Jz zpUdY&#R~=QNS?}S8oE1Cb~1H9CX5Hml!&9g1~YIp>eitejKsdCvp<$Ywnj57_PT`2 zvNdRd_`whrQqwVfi@^P&!4(R%+xj{V>pmD9f>dKWJ6O7qIGkizVbxOJJG5nv}$AW*{bQGGfGu@fNsm@v{ChU!+(vm1tIaUm@Qjwdjq6 zjEy^Y6>J{CZde|y9AL>0TQG}j1LBr#AuprJ0EWI9OsM_XoG@Dq24Fh}fj6eg!Yz-1 ze%L;Mq1s>;8_#xT`PB(;8Xwi&6kJNK2LSnVR)5a~ca#=*FUR%vq>ayo^H(|td zv6V)WTAM9GK|_#RBM-=x=8$jexrlwDL3@i@e;e7$+c^X7RnLyv{3#} zcou*Hz9as#w%Kmyz#fylu!=eea|mgR|f;Wq|yy4UN`Ji z5Mg(0I*wj4;ogq<9_*+w^b;3Bd@vA}fK^)BlkR(glDn^JRb}~xk;2=(2XXglFt=LG z4C>b*#>Cx;8Fs)=NWiPwMoh!sE%hW-GVbH&!SQ(e->BEOR`!1xsWN+f@Z>n|v;Xbd zX8!(1y}dgBT}mplV^6_mF0oZ*Z=i;-u`c4{MX9jgD5g0>pA z5gj#^Z8oEoIIY;_Y1Q}$icZ=KLFkr!3dy;z-3~Pv2>gYIxkLky;7OIx;9hx`yc}2+ zJ8~mOIP)j(DF~mxp(XvJQY94?^ISL{Z~yD<`s)7oQc_y}(iOhXmHY8;dC5KDP=wsq?rDKA z@0XRIe)*#U8nphhTKRFkw1cjf{U~xGax9&`J!Kj^p7l#5W8ac*(zb&MWvF1%*CBgz zDcWt-S_Jyn2{zLHDvScxNT!Wpe*&7FC7vkNzMk#aZ-pV`DZiB-7)n@|TveNmx`9F0 zrKFp)@OF$OD=^0lWB&UX{-0_F1jm(xYXkS`Co*ft5K+W_RDs6dGg`Cs_#cylPL{cg zp0}s-1U-KJ*J`ice_BpT%Rju9vD(U~#Bq=P$JhR5&i_~Uzm}7Xl+YRb*Lmmc_kOo` zc6j_Iy6aT>Gvr`Jr3%0x?_{f=b)Z4F*MHaPy*)Y5)dLOPN1Aw{!Me=d6EvcG5f9KRKfMdPR(3aLThhX8}X;z~G(c zPzjGG#(B=ru{6u163$?FwX5%Xs!vY1S?;_$>2>;h2M1>dVyO1%$yqO7 z8xOP>bT(Z(?(D+a6akm3jnn#S`M#`FnR_elX>r_R{~P$nK63t_HvavOmHmJIgpWW? z-Say}bU2&5SZ0O_maBNZBzt8sS*YHzfc!C9y&C)qOr*qfg$M!UyIkMkWLxc5J9zDe zUZv`rmc?N|;JG_^&jM{4G=pNgBJ`^%g@s4Oc=9YM*C^nvEV}c7Z3@cr!2tT99Hqb0 zIfc%+VBw{~)sV71>5xGgAVJ%TcijX+n0=-I&&7CQ5$>5-*k^s1hvIG#)g+#K&r zIn?bQ&G1J$)A>fS-ck3eu76hI-wnJ*a1cas_W$+^?D8A7UD4mg-Au5cQeuJ8`Q&M;qya*wwigMNcKXYUwQyJZ~s4i8sLdM0FU4Q zZ?59Mmz2`-&p580&;xMa{(oyT@BeLWuJ-@SNjY!j13Un^1`qK8?1z6DFPCr1d zO?Ut7@U)lRVa{_`=fLQ<%q{2`;(yt4J91in;jM#ziO`#jasZgpZKWBCM=0 z2I2`_yqlQi!@=QMXCLI>+v}Z^bQ`tW9JfkkW})}gv;UX*|5x!J%Sm_1KiYbJHI94c z|JLSaYv%p`*2@30lvKpG<}vtRj_7@p`Emc}XGbsS^?EO`^&R+OU`n5vOnQ#6S?EGG zFw(_K*Z|NQu;bY`jiRSl(qN*;TwI5na-^SV!P`_*0F~&edx_h|>+4GFq8wKPF1--U zprq}jeowvnxZ29|g(a&hR9+xVhaRN?YWu!W1Ji-;X>hn_wfTiGUD~t~b=3nhzFsit zsvxvf7;t*K|IlS)+1$9ElIQo6#Z86k-+`cZ=HRvVAo0UGcIY6{p! zr~eLsaHW8Kx;J3CVau*Z__mEu8WFCOgd1|?_63IQgua~)>WN-Uqlg~5&cV&G{tE=X zDQyG@J%Mc__-o}UEtquu#x_xqoj2%H(_ct86K|dX_8L^x`U^vb)2qx z=m+&ME*YOE()O^7pSZqTBCE*_51T9fibh-p(27R#>R|kr6teGm6^-ehKi=`bs>L^2 zBB$EUwCKb3_Q&lx<*|z|_f{A=exjzWRudz&WIxvLP#w z3eaf0?pV<;)I~uQI9e{kp-hjKt*vIW*_gib1gaCFtBz5CSL8^<7yMj_FM@$p;TC?# z^zs2%+M8RiVl4Tvwui*C6&@VWrg6m1viX6NC@q{dSmsacX&LU>b`tavKM;cAiSIjs zCPpty!a@+;a!Hs7LP1vQX{#oKfM0!{J%R;7s$D%fNv2N_zWAS=ti18}{uRjI+h z`u0C+xIQlwHA8IfPMG$NBQHRr(HG+525O0Rk;1ebZyp&c8#aa>!|;*X8j@nXKtDa7 z;bHX;0IXT45ju`0fjqofPjb%IL;oW4hx4luuOciHr#_n4OwuPadUOZrqq&5Pc7D#P z>c8SM89Tz&@nHr%o0FRl$wcT|fr?Cc%8fd;sXNJ+$cpY@)y!Z>k**7~<1|}5Gx&6q z%vdVkspVhgp?%(zS^qzW^Y6R+{eShX{QAFDTg87bCmHhp+Pk(L$BiSJSMFEvAqX5K z9P2JI8w6-dq`kf_c5Nf;7lR{lB+iH;ElMNJ=I2wVn;KTPni{XM7~3!lkat|Cy4hXT zcOH@-c$R0gZ#*k2Kj>t!{Gc;J&HU+8IIDH@5nQPqC4Tl;ze>7>#VPmn6Kh(nb7oL+N#U!!GDo7`rDO`b}I= zg_8X?S4w{^k&f49X)HEEaekW@)WWYV{qq{?7S29Z6Fw913lI>EqdQsy^1cd4wX^rFYC zf`??CZ}(*>4e?zGcds%GI`Stgx=5B)EvcBUP_>-LMY^M{)w^#MLiH3vL+T>D3#;U) zX|KWPl`^5ail`}{S5-c~{K05LOP*~mk4Y+wJRyb+8AxAzrtIL0u4ZTP#`jgG5gDrs zelq>L(oM-jQOF~{SNg8&h8?DlmAXgjE>mACHF-1|G4-xgdh%z;1G-RZYOUdrUo=sA z@@&M-ZQj^aku6|HXpOMoe9*eC~!|6O0%I7ok zdBnTNPN~V~5qF}B^Nd^`^2ohcPMpE#JePZ=hR=EZWm}Z(R>I`^hmwehvbr|;KH}a~tz$;Mk9^I1UL_#+M?C+Np8Oy2*wPrgV7-hQIMQkZ!S@R3%C5l? zp@5$38(N1`KwmnO1K+(>$Ut@kj?5G=lwCo)e5jC-j3Y-P1&n29Uc~_w6B=dEt+Z$#sJ28s3H?$}GOZGY zvZr(GghaC2a-{A&zt1DIKeSv~dFLPZ8c(eM$HURt`~OD6_We)KA}v;W0q#7N>M;BavXGY`_<1!i+Op-Y29FvMLs__FBVPhi4coTp z^LI_xAmrQ}?G^u@TxB#=?YDLCv;KZ!x2HCh9OsGAPL6BKxK)`W+WGY@o=7`MlJ6SL zB|WRiQ`WDGqQSfxFXnn-pt0L8^L)8ZJZdew)zw|LRt^5{G_X8j{$6EIf1H~iz43eR z^qRtiw~DdVdY;eo*b=Atsmtr;ya#xTdT65dzesIerb=?VSr?wXEB+`@+3d6UE-682 zFkZ%~$#S?hupzZ`Pm^KAIn_?k{)yo165!!ewe{%SUfFw~xHg z@9u0Vj>C@c&11zcVgm9*k!0?CYrW91NH??~U7MF9y~P~sFYByutXF1Qg0i@=&mut1 z?ZNf33n7-7gFlk0+ta{}F9W)ZwWV0i$rg#FE`m)K{6fX!`10#nXRuL$vdu`m@E_7)0vh9zNlBOl7ymu zCI4lSU6;QqQ*`Uo+pQ^A{=ag_Kc4EpU!*y09T#asQ&E0P7p}CqdmJ28x+fOt8J?r8 z&GY5uRU+ZsoQBPTeH5v3AH=#j`Ef1(wwiC_s?H#|=AZVL#l_{7#OXgTS(>cqH7tmg z>`L8waLJgwGtkYSawg%~X~(0|{Jc-+cX$xKDNTOQ&1uP)HCRdk&h3vh9N%BCCsa4j z2A9kUHOwzAxwFmEFfYBhY}`1+<&l0jXGsoOW0?pt&E;QBSGZ4K{=QDJ`1#Kv-FW-m zM}GOoU!FYw8IH&2_kV}&^B>P570n-af2)rx#`2*I{TA@Q|Kn1_n855`c(P!TC(`(Z zB%AJV@bEU-f_p59oL|S7NaQ`kb+X$f+w#hJ#lGWEU4nA^Cmu*BCDVJiO|L)QZ)jJ& zNP1d>RHdVJ5zTT}FZdm6hnLbJQ*R>Q7BcBMVQ$VSt=(y^T(1)X$3hD#!Q(sm+v@)Y1V1mBUVcP8wNP_sks8ai%?Z z*sU1_j_5kG?j%&oi+7ou*eigyk+BC!z>82_j#)7JFGpJ`(xlzm2LxJZ3LnCqexCn(C zHx}*{xi~;DgHtdiJ;DjP&{g#>*89@S(#^iC3J~;=>!>N$S7gygfJZ#QoCo3r1B9+? z$19G96AV#^p)$(S`H30f1c+!*kXs96Rlhf6az1NZ*CtXq5r!5f8to>wh49 zANszoryemKKyNhJ8R>`64~r!EO(B>e1i}cx z8`2{L!U(}z(jx@I2*G!xM+k%w0vZ8l2!Sv{5Ro1s5Jm{TBu~!}0%3&UJ6std5Jm{5 zNP!p#BL;5)APB-Y0htDI5Jnv88@|pA@eoEl-jN>h5Jo)eo7~O}aS=vbsA0_z7h%NZ z9sGm92qQ4>1Vtu9WKP4?iIe1nh)bY#@N3c{DnXBH?@5c81bwch(I!Mh0)r8@?|uFT5~bJP7{rx)?7S?H3s;J=3^{xA|GmB zS4(@0?-R|>teHmvP|e>Dq@6;m`I|NIXa-dCJ2jLjWQ(FlW}OpZ4wz_;e~7UYHTl24 z#r|*5JOBP4soMSDGsug^4PeCuZrb{tHhwR##yxtAZ7kmuAfMyQv!r_Z5qq_GE_Z;g z8zgvSy;KjqCy{ zK_QuCe%CdYmJ%CCY@lIw#xxeo4Q4fK8mq>pyclyD3+o0mgFTHsm}YsIL5*F)$q71( z8ha)8Y_lZMfkX!eYG+epQ_*NxGpezpY0i(as@2-QnOTk9V`D}JyBedoVSAZjjcuY^ z?-QjSENhn08PggI8x5=3)>z$WP|di;H0c`iq{O7}1HJv#%xkP`^n%pvYfRG`Rx_}% zbkd-jg^g)kgBTMVDEaZu}adgnyHO>Tz6y5*2XGI!)nGhmQos2v$nCG(&MS1p@ekj*X(VqM>U8sxUmS< zu$sk<6^&kwGbT5dLV67qq(Y|;Nj0Mz%P~FUn$?Ykl7`jHZY?{Y{%h1Fae0 z*xVZ+V}W;snJ;64V|Q+#H5(jTbOWpz;n=5}`6^I$NivKHe*66Ivxw#WzaRYz5Krv?dz~}>|DfA#`Tx%%4X@3OUVRmw zUfiI+8siteM7Mp5aQhbF_ASDHp0^0M@<$au|I6=6JpcFqI=#`^`@edlaXbG%hp3q2 ze0!C|Ag9Zh{mGI0Cwz$H<%=_m|9Wqdc> ${PHP_DIR}/apache2/php.ini && \ - echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_7.4.so" >> ${PHP_DIR}/cgi/php.ini && \ - echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_7.4.so" >> ${PHP_DIR}/cli/php.ini && \ - echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_7.4.so" >> ${PHP_DIR}/fpm/php.ini && \ - php -m && \ - php -v - -################################################################## -# Installing P4 addon -################################################################## -COPY --from=builder /builds/export/perforce.so ${PHP_MODULE_PATH} -RUN echo "extension=perforce.so" > ${P4_PHP_INI} && \ - ln -sf ${P4_PHP_INI} ${PHP_DIR}/cgi/conf.d/perforce.ini && \ - ln -sf ${P4_PHP_INI} ${PHP_DIR}/cli/conf.d/perforce.ini && \ - ln -sf ${P4_PHP_INI} ${PHP_DIR}/fpm/conf.d/perforce.ini && \ - php -m && \ - php -v - -################################################################## -# Installing smbclient addon -################################################################## -COPY --from=builder /builds/export/smbclient.so ${PHP_MODULE_PATH} -RUN echo "extension=smbclient.so" > ${SMB_PHP_INI} && \ - ln -sf ${SMB_PHP_INI} ${PHP_DIR}/cgi/conf.d/smbclient.ini && \ - ln -sf ${SMB_PHP_INI} ${PHP_DIR}/cli/conf.d/smbclient.ini && \ - ln -sf ${SMB_PHP_INI} ${PHP_DIR}/fpm/conf.d/smbclient.ini && \ - php -m && \ - php -v - - - -################################################################## -# Installing Composer addon -################################################################## -RUN cd /tmp && \ - php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" && \ - php composer-setup.php --install-dir=/usr/local/bin --filename=composer && \ - rm /tmp/composer-setup.php - -################################################################## -# cleaninig up -################################################################## -RUN apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb && \ - rm -rfv /tmp/deb/* && \ - rm -rfv /tmp/ioncube/* && \ - rm -rfv /tmp/composer-setup.php && \ - rm -rfv /tmp/ioncube.tar.gz - -#healthcheck. good practice -HEALTHCHECK --interval=2m --timeout=3s CMD curl -f http://localhost:80/ || exit 1 - -# Add image configuration and scripts -COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh -RUN chmod 755 /usr/bin/docker-entrypoint.sh - -#Final config -VOLUME ["/var/cache/nginx"] -EXPOSE 80 443 - -ENTRYPOINT ["tini", "-s", "--", "docker-entrypoint.sh"] -CMD ["docker-entrypoint.sh"] \ No newline at end of file diff --git a/linux/ecosystem/nginx/latest/php/Makefile b/linux/ecosystem/nginx/latest/php/Makefile deleted file mode 100644 index 9ef622aa9..000000000 --- a/linux/ecosystem/nginx/latest/php/Makefile +++ /dev/null @@ -1,19 +0,0 @@ -all: app - -app: - make build - make deploy - make clean - -build: - docker-compose build --compress --parallel --progress plain - -deploy: - docker-compose push - -clean: - docker container prune -f - docker image prune -f - docker network prune -f - docker volume prune -f - docker system prune -af diff --git a/linux/ecosystem/nginx/latest/php/README.md b/linux/ecosystem/nginx/latest/php/README.md deleted file mode 100644 index 034784bc0..000000000 --- a/linux/ecosystem/nginx/latest/php/README.md +++ /dev/null @@ -1,30 +0,0 @@ -# Compose example - -```yml -version: '3.7' -services: - balancer: - image: epicmorg/balancer - restart: unless-stopped - ports: - - "0.0.0.0:80:80" - - "0.0.0.0:443:443" - volumes: - - /etc/localtime:/etc/localtime - - /etc/timezone:/etc/timezone - - /etc/letsencrypt:/etc/letsencrypt - - nginx:/etc/nginx - - nginx-usr:/usr/share/nginx/html - - /var/lib/nginx -# extra_hosts: -# - "example.com:192.168.0.11" - depends_on: - - websites - tmpfs: - - /tmp -volumes: - nginx: - external: true - nginx-usr: - external: true -``` diff --git a/linux/ecosystem/nginx/latest/php/docker-compose.yml b/linux/ecosystem/nginx/latest/php/docker-compose.yml deleted file mode 100644 index 0968ca6c1..000000000 --- a/linux/ecosystem/nginx/latest/php/docker-compose.yml +++ /dev/null @@ -1,9 +0,0 @@ -version: '3.9' -services: - app: - image: "epicmorg/nginx:${NGINX_VERSION}-php" - build: - context: . - args: - NGINX_VERSION: ${NGINX_VERSION} - NGINX_DOWNLOAD_URL: ${NGINX_DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/nginx/latest/php/docker-entrypoint.sh b/linux/ecosystem/nginx/latest/php/docker-entrypoint.sh deleted file mode 100755 index 9ebcd6a91..000000000 --- a/linux/ecosystem/nginx/latest/php/docker-entrypoint.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/bash - -if [[ -z "${FIX_WWW_DATA}" ]]; then - echo "[nginx] env FIX_WWW_DATA is not set. Skipping..." -elif [ "${FIX_WWW_DATA}" == "false" ]; then - echo "[nginx] env FIX_WWW_DATA is set to false. Skipping..." -elif [ "${FIX_WWW_DATA}" == "true" ]; then - echo "[nginx] Changing permissions for /var/www path. Dont worry, please wait." - chown www-data:www-data /var/www -R - echo "[nginx] Done" -else - echo "[nginx] env FIX_WWW_DATA is set to strange value. Skipping..." -fi - -echo "[nginx] Starting up" -nginx -g 'daemon off;' diff --git a/linux/ecosystem/nginx/latest/quic/.env b/linux/ecosystem/nginx/latest/quic/.env deleted file mode 100644 index d5ad4e3df..000000000 --- a/linux/ecosystem/nginx/latest/quic/.env +++ /dev/null @@ -1,2 +0,0 @@ -NGINX_VERSION=quic -NGINX_DOWNLOAD_URL=https://github.com/VKCOM/nginx-quic/archive/refs/heads/master.tar.gz diff --git a/linux/ecosystem/nginx/latest/quic/Dockerfile b/linux/ecosystem/nginx/latest/quic/Dockerfile deleted file mode 100644 index d7bb918cf..000000000 --- a/linux/ecosystem/nginx/latest/quic/Dockerfile +++ /dev/null @@ -1,26 +0,0 @@ -FROM nginx AS build - -WORKDIR /src -RUN apt-get update && \ - apt-get install -y git gcc make g++ cmake perl libunwind-dev golang && \ - git clone https://boringssl.googlesource.com/boringssl && \ - mkdir boringssl/build && \ - cd boringssl/build && \ - cmake .. && \ - make - -RUN apt-get install -y mercurial libperl-dev libpcre3-dev zlib1g-dev libxslt1-dev libgd-ocaml-dev libgeoip-dev && \ - hg clone https://hg.nginx.org/nginx-quic && \ - hg clone http://hg.nginx.org/njs && \ - cd nginx-quic && \ - hg update quic && \ - auto/configure `nginx -V 2>&1 | sed "s/ \-\-/ \\\ \n\t--/g" | grep "\-\-" | grep -ve opt= -e param= -e build=` \ - --build=nginx-quic --with-debug \ - --with-http_v3_module --with-http_quic_module --with-stream_quic_module \ - --with-cc-opt="-I/src/boringssl/include" --with-ld-opt="-L/src/boringssl/build/ssl -L/src/boringssl/build/crypto" && \ - make - -FROM nginx -COPY --from=build /src/nginx-quic/objs/nginx /usr/sbin -RUN /usr/sbin/nginx -V > /dev/stderr -EXPOSE 80 443 diff --git a/linux/ecosystem/nginx/latest/quic/Dockerfile.experimental b/linux/ecosystem/nginx/latest/quic/Dockerfile.experimental deleted file mode 100644 index 42a901013..000000000 --- a/linux/ecosystem/nginx/latest/quic/Dockerfile.experimental +++ /dev/null @@ -1,325 +0,0 @@ -################################################################## -# Set Global ARG to build process -################################################################## -ARG NGINX_VERSION - -################################################################## -# Start build process -################################################################## -FROM epicmorg/devel AS builder -LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ENV BuildDocker true -ARG BUILDS_DIR=/builds -ARG SRC_DIR=${BUILDS_DIR}/src -ARG EXPORT_DIR=${BUILDS_DIR}/export -ARG PRE_DIR=${BUILDS_DIR}/pre -ARG BSSL_SRC_DIR=${SRC_DIR}/boringssl -ARG NGINX_SRC_DIR=${SRC_DIR}/nginx -ARG NGINX_VERSION -ARG NGINX_DOWNLOAD_URL -ARG LUAJIT_INC=/usr/local/include/luajit-2.1 -ARG LUAJIT_LIB=/usr/local/lib -ARG DCMAKE_BUILD_TYPE=Release - -################################################################## -# Files and folders -################################################################## -RUN mkdir -p ${PRE_DIR} ${NGINX_SRC_DIR} /usr/lib/nginx -ADD pre/luajit2-description-pak ${PRE_DIR} -ADD pre/nginx-description-pak ${PRE_DIR} -ADD pre/ip2location-description-pak ${PRE_DIR} -ADD pre/boringssl-build.sh ${SRC_DIR} - -################################################################## -# IP2Location support for prod nginx module -################################################################## -RUN cd ${SRC_DIR} && \ - git clone https://github.com/chrislim2888/IP2Location-C-Library.git ip2 && \ - cp -fv ${PRE_DIR}/ip2location-description-pak ${SRC_DIR}/ip2/description-pak && \ - cd ${SRC_DIR}/ip2 && \ - ls -las && \ - autoreconf -i -v --force && \ - aclocal && \ - automake --gnu --add-missing && \ - autoconf && \ - autoreconf -i -v --force && \ - ./configure && \ - ls -las && \ - make clean && \ - make && \ - make -C data convert && \ - make check && \ - ls -las && \ - fakeroot checkinstall -D --pakdir=${EXPORT_DIR} --maintainer="EpicMorg, developer@epicm.org" --pkgname=ip2-custom --conflicts=ip2 --install=yes -y && \ - ln -s /usr/local/lib/libIP2Location.so /usr/lib/libIP2Location.so && \ - ln -s /usr/local/lib/libIP2Location.so.1 /usr/lib/libIP2Location.so.1 && \ - ln -s /usr/local/lib/libIP2Location.so.2 /usr/lib/libIP2Location.so.2 && \ - ln -s /usr/local/lib/libIP2Location.so /lib/libIP2Location.so && \ - ln -s /usr/local/lib/libIP2Location.so.1 /lib/libIP2Location.so.1 && \ - ln -s /usr/local/lib/libIP2Location.so.2 /lib/libIP2Location.so.2 && \ - ln -s /lib/x86_64-linux-gnu/libcrypto.so.1.1 /lib/x86_64-linux-gnu/libcrypto.so.1 && \ - dpkg --force-all -i ${EXPORT_DIR}/*.deb - -################################################################## -# luaJIT 2 support for prod nginx module -################################################################## -RUN cd ${SRC_DIR} && \ - git clone https://github.com/openresty/luajit2.git luajit2 && \ - cp -fv ${PRE_DIR}/luajit2-description-pak ${SRC_DIR}/luajit2/description-pak && \ - cd ${SRC_DIR}/luajit2 && \ - make && \ - make install && \ - fakeroot checkinstall -D --pakdir=${EXPORT_DIR} --maintainer="EpicMorg, developer@epicm.org" --pkgname=luajit2-custom --conflicts=luajit2 --install=no -y - - -################################################################## -# BotingSSL - google fork with quic -################################################################## - -# compile from sources -RUN cd ${SRC_DIR} && \ - ./boringssl-build.sh - -# git clone https://github.com/google/boringssl.git boringssl && \ -# apt-get update && \ -# apt-get install -y git gcc make g++ cmake perl libunwind-dev golang && \ -# cd boringssl && \ -# mkdir build && \ -# cd build && \ -# pwd && \ -# cmake .. && \ -# make -# cmake -GNinja .. && \ -# ninja -# cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=0 -GNinja .. && \ -# ninja -# cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=0 .. && \ -# make - -# Make an .openssl directory for nginx and then symlink BoringSSL's include directory tree -#RUN mkdir -p ${BSSL_SRC_DIR}/.openssl/lib && \ -# ln -sf ${BSSL_SRC_DIR}/include ${BSSL_SRC_DIR}/.openssl/include - -# Copy the BoringSSL crypto libraries to .openssl/lib so nginx can find them -#RUN cp -rfv ${BSSL_SRC_DIR}/build/crypto/libcrypto.a ${BSSL_SRC_DIR}/.openssl/lib && \ -# cp -rfv ${BSSL_SRC_DIR}/build/ssl/libssl.a ${BSSL_SRC_DIR}/.openssl/lib - -# Fix "Error 127" during build -#RUN touch ${BSSL_SRC_DIR}/include/openssl/ssl.h -#RUN touch ${BSSL_SRC_DIR}/.openssl/include/openssl/ssl.h - - -################################################################## -# quictls/openssl - community fork with quic -################################################################## - -#RUN printf "\n--------------------------------\nPreinstlalled openssl version is: $(openssl version)\n--------------------------------\n\n" -#RUN cd ${SRC_DIR} && \ -# git clone https://github.com/quictls/openssl.git openssl && \ -# cd openssl && \ -# pwd && \ -# ./Configure -# && \ -# make && \ -# make test -# && \ -# make install - -#RUN printf "\n--------------------------------\nCurrent openssl version is: $(openssl version)\n--------------------------------\n\n" - -#RUN openssl fipsinstall - -#RUN openssl version - -################################################################## -# nginx preparing -################################################################## -#RUN wget -qO - ${NGINX_DOWNLOAD_URL} | tar -zxv --strip-components=1 -C ${NGINX_SRC_DIR} && \ -RUN cd ${SRC_DIR} && \ - hg clone https://hg.nginx.org/nginx-quic nginx && \ - cd ${NGINX_SRC_DIR} && \ - hg update quic && \ - hg clone http://hg.nginx.org/njs && \ - git clone https://github.com/openresty/headers-more-nginx-module.git http-headers-more-filter && \ - git clone https://github.com/sto/ngx_http_auth_pam_module.git http-auth-pam && \ - git clone https://github.com/arut/nginx-dav-ext-module.git http-dav-ext && \ - git clone https://github.com/openresty/echo-nginx-module.git http-echo && \ - git clone https://github.com/aperezdc/ngx-fancyindex.git http-fancyindex && \ - git clone https://github.com/slact/nchan.git nchan && \ - git clone https://github.com/masterzen/nginx-upload-progress-module.git http-uploadprogress && \ - git clone https://github.com/yaoweibin/ngx_http_substitutions_filter_module http-subs-filter && \ - git clone https://github.com/grahamedgecombe/nginx-ct.git ssl-ct && \ - git clone https://github.com/stnoonan/spnego-http-auth-nginx-module.git spnego-http-auth-nginx-module && \ - git clone https://github.com/leev/ngx_http_geoip2_module http-geoip2 && \ - git clone https://github.com/flavioribeiro/nginx-audio-track-for-hls-module.git nginx-audio-track-for-hls-module && \ - git clone https://github.com/chrislim2888/ip2location-nginx.git ip2location-nginx && \ - git clone https://github.com/kaltura/nginx-vod-module.git nginx-vod-module && \ - git clone https://github.com/vozlt/nginx-module-vts.git nginx-module-vts && \ - git clone https://github.com/evanmiller/mod_zip.git mod-zip && \ - git clone https://github.com/alibaba/nginx-http-user-agent.git nginx-http-user-agent && \ - git clone https://github.com/youzee/nginx-unzip-module.git nginx-unzip-module && \ - git clone https://github.com/vladbondarenko/ngx_webp.git ngx-webp && \ - git clone https://github.com/openresty/xss-nginx-module.git xss-nginx-module && \ - git clone https://github.com/openresty/set-misc-nginx-module.git set-misc-nginx-module && \ - git clone https://github.com/arut/nginx-rtmp-module.git rtmp && \ - git clone https://github.com/kvspb/nginx-auth-ldap.git http-auth-ldap && \ - git clone https://github.com/simplresty/ngx_devel_kit.git http-ndk && \ - git clone https://github.com/chrislim2888/IP2Location-C-Library.git ip2location-c-7.0.0 && \ - git clone https://github.com/itoffshore/nginx-upstream-fair.git http-upstream-fair && \ - git clone https://github.com/yaoweibin/nginx_upstream_check_module.git nginx-upstream-check-module && \ - git clone https://github.com/openresty/lua-nginx-module http-lua - -################################################################## -# nginx compilling -################################################################## -RUN cd ${NGINX_SRC_DIR} && \ - ./auto/configure `nginx -V 2>&1 | sed "s/ \-\-/ \\\ \n\t--/g" | grep "\-\-" | grep -ve opt= -e param= -e build=` \ - --build=nginx-quic \ - --add-module=./njs/nginx \ - --with-openssl=/builds/src/boringssl \ - --with-http_v3_module \ - --with-http_quic_module \ - --with-stream_quic_module \ - --sbin-path=/usr/sbin/nginx \ - --prefix=/usr/share/nginx \ - --conf-path=/etc/nginx/nginx.conf \ - --http-log-path=/var/log/nginx/access.log \ - --error-log-path=/var/log/nginx/error.log \ - --lock-path=/var/lock/nginx.lock \ - --pid-path=/run/nginx.pid \ - --modules-path=/usr/lib/nginx/modules \ - --http-client-body-temp-path=/var/lib/nginx/body \ - --http-fastcgi-temp-path=/var/lib/nginx/fastcgi \ - --http-proxy-temp-path=/var/lib/nginx/proxy \ - --http-scgi-temp-path=/var/lib/nginx/scgi \ - --http-uwsgi-temp-path=/var/lib/nginx/uwsgi \ -# --with-cc-opt='-I/usr/local/include/luajit-2.1 -I/builds/src/nginx/boringssl/include -g -O2 -lz -fstack-protector-strong -Wformat -Wno-error=date-time -Wno-error=implicit-fallthrough= -Wno-error=cast-function-type -Wno-error=format-security -Wno-error=implicit-function-declaration -Wno-error=deprecated-declarations -Wno-error=unused-result -fPIC -Wdate-time -D_FORTIFY_SOURCE=2' \ -# --with-ld-opt='-Wl,-z,relro -Wl,-z,now -lz -fPIC -L/usr/local/lib -L /builds/src/nginx/boringssl/build/ssl -L/builds/src/nginx/boringssl/build/crypto' \ - --with-cc-opt='-I/usr/local/include/luajit-2.1 -I/builds/src/boringssl/include -g -O2 -lz -fstack-protector-strong -Wformat -Wno-error=date-time -Wno-error=implicit-fallthrough= -Wno-error=cast-function-type -Wno-error=format-security -Wno-error=implicit-function-declaration -Wno-error=deprecated-declarations -Wno-error=unused-result -fPIC -Wdate-time -D_FORTIFY_SOURCE=2' \ - --with-ld-opt='-Wl,-z,relro -Wl,-z,now -lz -fPIC -L/builds/src/boringssl/build/ssl -L/builds/src/boringssl/build/crypto' \ - --with-file-aio \ - --with-compat \ - --with-debug \ - --with-threads \ - --with-pcre-jit \ - --with-http_ssl_module \ - --with-http_stub_status_module \ - --with-http_realip_module \ - --with-http_auth_request_module \ - --with-http_v2_module \ - --with-http_dav_module \ - --with-http_slice_module \ - --with-http_addition_module \ - --with-http_flv_module \ - --with-http_geoip_module=dynamic \ - --with-http_gunzip_module \ - --with-http_gzip_static_module \ - --with-http_image_filter_module=dynamic \ - --with-http_mp4_module \ - --with-http_perl_module=dynamic \ - --with-http_random_index_module \ - --with-http_secure_link_module \ - --with-http_sub_module \ - --with-http_xslt_module=dynamic \ - --with-mail=dynamic \ - --with-mail_ssl_module \ - --with-stream=dynamic \ - --with-stream_ssl_module \ - --with-stream_ssl_preread_module \ - --add-dynamic-module=http-headers-more-filter \ - --add-dynamic-module=http-auth-pam \ - --add-dynamic-module=http-dav-ext \ - --add-dynamic-module=http-ndk \ - --add-dynamic-module=http-echo \ - --add-dynamic-module=http-fancyindex \ - --add-dynamic-module=nchan \ - --add-dynamic-module=http-uploadprogress \ - --add-dynamic-module=http-subs-filter \ - --add-dynamic-module=ssl-ct \ - --add-dynamic-module=http-geoip2 \ - --add-dynamic-module=spnego-http-auth-nginx-module \ - --add-dynamic-module=http-auth-ldap \ -# --add-dynamic-module=nginx-audio-track-for-hls-module \ - --add-dynamic-module=ip2location-nginx \ - --add-dynamic-module=nginx-vod-module \ -# --add-dynamic-module=nginx-module-vts \ - --add-dynamic-module=mod-zip \ - --add-dynamic-module=nginx-http-user-agent \ - --add-dynamic-module=nginx-unzip-module \ - --add-dynamic-module=ngx-webp \ - --add-dynamic-module=set-misc-nginx-module \ - --add-dynamic-module=rtmp \ - --add-dynamic-module=http-upstream-fair \ - --add-dynamic-module=nginx-upstream-check-module \ - --add-dynamic-module=http-lua && \ - cp -fv ${PRE_DIR}/nginx-description-pak ${NGINX_SRC_DIR}/description-pak && \ -# dpkg-buildpackage -b && \ - make && \ -# fakeroot checkinstall -D --pakdir=/builds/export --maintainer="EpicMorg, developer@epicm.org" --pkgname=nginx-custom --install=no -y && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb && \ - rm -rfv /tmp/* - -################################################################## -################################################################## -################################################################## - -FROM epicmorg/debian:bullseye -LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# LDAP Fix -################################################################## -RUN echo "TLS_REQCERT never" >> /etc/ldap/ldap.conf - -################################################################## -# Installing nginx from deb -################################################################## -ADD pre/ngninx.pre.tar.gz / -COPY --from=builder /builds/export /tmp/deb -RUN apt-get update && \ - apt-get install -y --allow-unauthenticated \ - geoip-database \ - geoip-bin \ - libgeoip1 \ - libmaxminddb0 \ - libgd3 \ - libxslt1.1 && \ - dpkg --force-all -i /tmp/deb/*.deb && \ - ln -s /usr/local/lib/libIP2Location.so /usr/lib/libIP2Location.so && \ - ln -s /usr/local/lib/libIP2Location.so.1 /usr/lib/libIP2Location.so.1 && \ - ln -s /usr/local/lib/libIP2Location.so.2 /usr/lib/libIP2Location.so.2 && \ - ln -s /usr/local/lib/libIP2Location.so.3 /usr/lib/libIP2Location.so.3 && \ - ln -s /usr/local/lib/libIP2Location.so.4 /usr/lib/libIP2Location.so.4 && \ - ln -s /usr/local/lib/libIP2Location.so.5 /usr/lib/libIP2Location.so.5 && \ - ln -s /usr/local/lib/libIP2Location.so /lib/libIP2Location.so && \ - ln -s /usr/local/lib/libIP2Location.so.1 /lib/libIP2Location.so.1 && \ - ln -s /usr/local/lib/libIP2Location.so.2 /lib/libIP2Location.so.2 && \ - ln -s /usr/local/lib/libIP2Location.so.3 /lib/libIP2Location.so.3 && \ - ln -s /usr/local/lib/libIP2Location.so.4 /lib/libIP2Location.so.4 && \ - ln -s /usr/local/lib/libIP2Location.so.5 /lib/libIP2Location.so.5 && \ - ln -sf /dev/stdout /var/log/nginx/access.log && \ - ln -sf /dev/stderr /var/log/nginx/error.log && \ - ln -sf /etc/ssl/dhparam.pem /etc/nginx/dhparam.pem && \ - apt clean -y && \ - apt autoclean -y && \ - rm -rf /var/lib/apt/lists/* && \ - rm -rf /var/cache/apt/archives/*.deb && \ - rm -rf /tmp/deb/* && \ - rm -rf /builds/* && \ - rm -rf /valve/* && \ - rm -rfv /tmp/* - -#Final config -VOLUME ["/var/cache/nginx"] -EXPOSE 80 443 - -CMD ["nginx", "-g", "daemon off;"] diff --git a/linux/ecosystem/nginx/latest/quic/Makefile b/linux/ecosystem/nginx/latest/quic/Makefile deleted file mode 100644 index 9ef622aa9..000000000 --- a/linux/ecosystem/nginx/latest/quic/Makefile +++ /dev/null @@ -1,19 +0,0 @@ -all: app - -app: - make build - make deploy - make clean - -build: - docker-compose build --compress --parallel --progress plain - -deploy: - docker-compose push - -clean: - docker container prune -f - docker image prune -f - docker network prune -f - docker volume prune -f - docker system prune -af diff --git a/linux/ecosystem/nginx/latest/quic/README.md b/linux/ecosystem/nginx/latest/quic/README.md deleted file mode 100644 index 49377400f..000000000 --- a/linux/ecosystem/nginx/latest/quic/README.md +++ /dev/null @@ -1,291 +0,0 @@ -# nginx quic - -Experimental QUIC support for nginx ------------------------------------ - -1. Introduction -2. Installing -3. Configuration -4. Clients -5. Troubleshooting -6. Contributing -7. Links - -1. Introduction - - This is an experimental QUIC [1] / HTTP/3 [2] support for nginx. - - The code is developed in a separate "quic" branch available - at https://hg.nginx.org/nginx-quic. Currently it is based - on nginx mainline 1.21.x. We merge new nginx releases into - this branch regularly. - - The project code base is under the same BSD license as nginx. - - The code is currently at a beta level of quality and should not - be used in production. - - We are working on improving HTTP/3 support with the goal of - integrating it to the main NGINX codebase. Expect frequent - updates of this code and don't rely on it for whatever purpose. - - We'll be grateful for any feedback and code submissions however - we don't bear any responsibilities for any issues with this code. - - You can always contact us via nginx-devel mailing list [3]. - - What works now: - - Currently we support IETF-QUIC draft-29 through final RFC documents. - Earlier drafts are NOT supported as they have incompatible wire format. - - nginx should be able to respond to HTTP/3 requests over QUIC and - it should be possible to upload and download big files without errors. - - + The handshake completes successfully - + One endpoint can update keys and its peer responds correctly - + 0-RTT data is being received and acted on - + Connection is established using TLS Resume Ticket - + A handshake that includes a Retry packet completes successfully - + Stream data is being exchanged and ACK'ed - + An H3 transaction succeeded - + One or both endpoints insert entries into dynamic table and - subsequently reference them from header blocks - + Version Negotiation packet is sent to client with unknown version - + Lost packets are detected and retransmitted properly - + Clients may migrate to new address - - Not (yet) supported features: - - - Explicit Congestion Notification (ECN) as specified in quic-recovery [5] - - A connection with the spin bit succeeds and the bit is spinning - - Structured Logging - - Since the code is experimental and still under development, - a lot of things may not work as expected, for example: - - - Flow control mechanism is basic and intended to avoid CPU hog and make - simple interactions possible - - - Not all protocol requirements are strictly followed; some of checks are - omitted for the sake of simplicity of initial implementation - -2. Installing - - You will need a BoringSSL [4] library that provides QUIC support - - $ hg clone -b quic https://hg.nginx.org/nginx-quic - $ cd nginx-quic - $ ./auto/configure --with-debug --with-http_v3_module \ - --with-cc-opt="-I../boringssl/include" \ - --with-ld-opt="-L../boringssl/build/ssl \ - -L../boringssl/build/crypto" - $ make - - When configuring nginx, you can enable QUIC and HTTP/3 using the - following new configuration options: - - --with-http_v3_module - enable QUIC and HTTP/3 - --with-http_quic_module - enable QUIC for older HTTP versions - --with-stream_quic_module - enable QUIC in Stream - -3. Configuration - - The HTTP "listen" directive got two new options: "http3" and "quic". - The "http3" option enables HTTP/3 over QUIC on the specified port. - The "quic" option enables QUIC for older HTTP versions on this port. - - The Stream "listen" directive got a new option "quic" which enables - QUIC as client transport protocol instead of TCP or plain UDP. - - Along with "http3" or "quic", you also have to specify "reuseport" - option [6] to make it work properly with multiple workers. - - A number of directives were added that specify transport parameter values: - - quic_max_idle_timeout - quic_max_ack_delay - quic_max_udp_payload_size - quic_initial_max_data - quic_initial_max_stream_data_bidi_local - quic_initial_max_stream_data_bidi_remote - quic_initial_max_stream_data_uni - quic_initial_max_streams_bidi - quic_initial_max_streams_uni - quic_ack_delay_exponent - quic_disable_active_migration - quic_active_connection_id_limit - - To enable address validation: - - quic_retry on; - - To enable 0-RTT: - - ssl_early_data on; - - Make sure that TLS 1.3 is configured which is required for QUIC: - - ssl_protocols TLSv1.3; - - To enable GSO (Generic Segmentation Offloading): - - quic_gso on; - - By default this Linux-specific optimization [8] is disabled. - Enable if your network interface is configured to support GSO. - - A number of directives were added that configure HTTP/3: - - http3_max_table_capacity - http3_max_blocked_streams - http3_max_concurrent_pushes - http3_push - http3_push_preload - - An additional variable is available: $quic. - The value of $quic is "quic" if QUIC connection is used, - or an empty string otherwise. - -Example configuration: - - http { - log_format quic '$remote_addr - $remote_user [$time_local] ' - '"$request" $status $body_bytes_sent ' - '"$http_referer" "$http_user_agent" "$quic"'; - - access_log logs/access.log quic; - - server { - # for better compatibility it's recommended - # to use the same port for quic and https - listen 8443 http3 reuseport; - listen 8443 ssl; - - ssl_certificate certs/example.com.crt; - ssl_certificate_key certs/example.com.key; - ssl_protocols TLSv1.3; - - location / { - # required for browsers to direct them into quic port - add_header Alt-Svc 'h3=":8443"; ma=86400'; - } - } - } - -4. Clients - - * Browsers - - Known to work: Firefox 80+ and Chrome 85+ (QUIC draft 29+) - - Beware of strange issues: sometimes browser may decide to ignore QUIC - Cache clearing/restart might help. Always check access.log and - error.log to make sure you are using HTTP/3 and not TCP https. - - + to enable QUIC in Firefox, set the following in 'about:config': - network.http.http3.enabled = true - - + to enable QUIC in Chrome, enable it on command line and force it - on your site: - - $ ./chrome --enable-quic --quic-version=h3-29 \ - --origin-to-force-quic-on=example.com:8443 - - * Console clients - - Known to work: ngtcp2, firefox's neqo and chromium's console clients: - - $ examples/client 127.0.0.1 8443 https://example.com:8443/index.html - - $ ./neqo-client https://127.0.0.1:8443/ - - $ chromium-build/out/my_build/quic_client http://example.com:8443 \ - --quic_version=h3-29 \ - --allow_unknown_root_cert \ - --disable_certificate_verification - - - If you've got it right, in the access log you should see something like: - - 127.0.0.1 - - [24/Apr/2020:11:27:29 +0300] "GET / HTTP/3" 200 805 "-" - "nghttp3/ngtcp2 client" "quic" - - -5. Troubleshooting - - Here are some tips that may help you to identify problems: - - + Ensure you are building with proper SSL library that supports QUIC - - + Ensure you are using the proper SSL library in runtime - (`nginx -V` will show you what you are using) - - + Ensure your client is actually sending QUIC requests - (see "Clients" section about browsers and cache) - - We recommend to start with simple console client like ngtcp2 - to ensure you've got server configured properly before trying - with real browsers that may be very picky with certificates, - for example. - - + Build nginx with debug support [7] and check your debug log. - It should contain all details about connection and why it - failed. All related messages contain "quic " prefix and can - be easily filtered out. - - + If you want to investigate deeper, you may want to enable - additional debugging in src/event/quic/ngx_event_quic_connection.h: - - #define NGX_QUIC_DEBUG_PACKETS - #define NGX_QUIC_DEBUG_FRAMES - #define NGX_QUIC_DEBUG_ALLOC - #define NGX_QUIC_DEBUG_CRYPTO - -6. Contributing - - If you are willing to contribute, please refer to - http://nginx.org/en/docs/contributing_changes.html - -7. Links - - [1] https://datatracker.ietf.org/doc/html/rfc9000 - [2] https://datatracker.ietf.org/doc/html/draft-ietf-quic-http - [3] https://mailman.nginx.org/mailman/listinfo/nginx-devel - [4] https://boringssl.googlesource.com/boringssl/ - [5] https://datatracker.ietf.org/doc/html/rfc9002 - [6] https://nginx.org/en/docs/http/ngx_http_core_module.html#listen - [7] https://nginx.org/en/docs/debugging_log.html - [8] http://vger.kernel.org/lpc_net2018_talks/willemdebruijn-lpc2018-udpgso-paper-DRAFT-1.pdf - - -# Compose example - -```yml -version: '3.7' -services: - balancer: - image: epicmorg/balancer - restart: unless-stopped - ports: - - "0.0.0.0:80:80" - - "0.0.0.0:443:443" - volumes: - - /etc/localtime:/etc/localtime - - /etc/timezone:/etc/timezone - - /etc/letsencrypt:/etc/letsencrypt - - nginx:/etc/nginx - - nginx-usr:/usr/share/nginx/html - - /var/lib/nginx -# extra_hosts: -# - "example.com:192.168.0.11" - depends_on: - - websites - tmpfs: - - /tmp -volumes: - nginx: - external: true - nginx-usr: - external: true -``` diff --git a/linux/ecosystem/nginx/latest/quic/docker-compose.yml b/linux/ecosystem/nginx/latest/quic/docker-compose.yml deleted file mode 100644 index 4d5d761fb..000000000 --- a/linux/ecosystem/nginx/latest/quic/docker-compose.yml +++ /dev/null @@ -1,9 +0,0 @@ -version: '3.9' -services: - app: - image: "epicmorg/nginx:${NGINX_VERSION}" - build: - context: . - args: - NGINX_VERSION: ${NGINX_VERSION} - NGINX_DOWNLOAD_URL: ${NGINX_DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/nginx/latest/quic/docker-entrypoint.sh b/linux/ecosystem/nginx/latest/quic/docker-entrypoint.sh deleted file mode 100755 index 9ebcd6a91..000000000 --- a/linux/ecosystem/nginx/latest/quic/docker-entrypoint.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/bash - -if [[ -z "${FIX_WWW_DATA}" ]]; then - echo "[nginx] env FIX_WWW_DATA is not set. Skipping..." -elif [ "${FIX_WWW_DATA}" == "false" ]; then - echo "[nginx] env FIX_WWW_DATA is set to false. Skipping..." -elif [ "${FIX_WWW_DATA}" == "true" ]; then - echo "[nginx] Changing permissions for /var/www path. Dont worry, please wait." - chown www-data:www-data /var/www -R - echo "[nginx] Done" -else - echo "[nginx] env FIX_WWW_DATA is set to strange value. Skipping..." -fi - -echo "[nginx] Starting up" -nginx -g 'daemon off;' diff --git a/linux/ecosystem/nginx/latest/quic/pre/boringssl-build.sh b/linux/ecosystem/nginx/latest/quic/pre/boringssl-build.sh deleted file mode 100755 index 3232503e9..000000000 --- a/linux/ecosystem/nginx/latest/quic/pre/boringssl-build.sh +++ /dev/null @@ -1,111 +0,0 @@ -#!/bin/sh -WORKDIRECTORY=$PWD -ARCH=$(uname -m) -if command -v git > /dev/null 2>&1; then - echo "Checking git: OK" -else - echo "Checking git: FAILED, please install git" - exit 1 -fi - -if command -v cmake > /dev/null 2>&1; then - echo "Checking cmake: OK" -else - echo "Checking cmake: FAILED, please install cmake" - exit 1 -fi - -if command -v curl > /dev/null 2>&1; then - echo "Checking curl: OK" -else - echo "Checking curl: FAILED, please install curl" - exit 1 -fi - -if [ -d $WORKDIRECTORY/go ]; then -PATH=$WORKDIRECTORY/go/bin:$PATH -GOROOT=$WORKDIRECTORY/go -if [ -z $GOROOT ];then -NO_GOROOT_SYSTEM=true -fi -else -if [ -z $GOROOT ];then -if [ "$ARCH" = "x86_64" ]; then -GOURL="https://dl.google.com/go/$(curl https://golang.org/VERSION?m=text).linux-amd64.tar.gz" -fi -if [ "$ARCH" = "i386" ]; then -GOURL="https://dl.google.com/go/$(curl https://golang.org/VERSION?m=text).linux-386.tar.gz" -fi -if [ "$ARCH" = "armv6l" ]; then -GOURL="https://dl.google.com/go/$(curl https://golang.org/VERSION?m=text).linux-armv6l.tar.gz" -fi -if [ "$ARCH" = "armv7l" ]; then -GOURL="https://dl.google.com/go/$(curl https://golang.org/VERSION?m=text).linux-armv6l.tar.gz" -fi -if [ "$ARCH" = "" ]; then -echo "Your architecture is not supported" -fi -echo "Downloading golang" -curl -so $WORKDIRECTORY/go.tar.gz $GOURL -tar -xzf $WORKDIRECTORY/go.tar.gz -rm -rf $WORKDIRECTORY/go.tar.gz -PATH=$WORKDIRECTORY/go/bin:$PATH -GOROOT=$WORKDIRECTORY/go -NO_GOROOT_SYSTEM=true -fi -fi - -NETWORK_CHECK=$(curl -I -s --connect-timeout 5 https://github.com -w %{http_code} | tail -n1) - -if [ -d $WORKDIRECTORY/boringssl ]; then -cd $WORKDIRECTORY/boringssl -git pull -git reset --hard origin/master -git am $WORKDIRECTORY/*.patch -rm -rf $WORKDIRECTORY/boringssl/build -rm -rf $WORKDIRECTORY/boringssl/build2 -rm -rf $WORKDIRECTORY/boringssl/.openssl -else -if [ "$NETWORK_CHECK" = "200" ]; then - git clone --depth 1 https://github.com/google/boringssl.git $WORKDIRECTORY/boringssl - cd $WORKDIRECTORY/boringssl - git am $WORKDIRECTORY/*.patch -else - echo "Unable to connect to GitHub, please check your Internet availability" - exit 1 -fi -fi - -mkdir $WORKDIRECTORY/boringssl/build -cd $WORKDIRECTORY/boringssl/build -echo "Building Static libraries" -cmake .. -DCMAKE_BUILD_TYPE=Release -make -j`nproc` -mkdir $WORKDIRECTORY/boringssl/build2 -cd $WORKDIRECTORY/boringssl/build2 -echo "Building Shared objects" -cmake .. -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=1 -make -j`nproc` -mkdir $WORKDIRECTORY/boringssl/.openssl -mkdir $WORKDIRECTORY/boringssl/.openssl/include -mkdir $WORKDIRECTORY/boringssl/.openssl/include/openssl -cd $WORKDIRECTORY/boringssl/.openssl/include/openssl -ln $WORKDIRECTORY/boringssl/include/openssl/* . -mkdir $WORKDIRECTORY/boringssl/.openssl/lib -mkdir $WORKDIRECTORY/boringssl/lib -cp $WORKDIRECTORY/boringssl/build/crypto/libcrypto.a $WORKDIRECTORY/boringssl/.openssl/lib/libcrypto.a -cp $WORKDIRECTORY/boringssl/build/ssl/libssl.a $WORKDIRECTORY/boringssl/.openssl/lib/libssl.a -cp $WORKDIRECTORY/boringssl/build2/crypto/libcrypto.so $WORKDIRECTORY/boringssl/.openssl/lib/libcrypto.so -cp $WORKDIRECTORY/boringssl/build2/ssl/libssl.so $WORKDIRECTORY/boringssl/.openssl/lib/libssl.so - -echo "If you want to compile nginx" -echo "git am nginx-boringssl/*.patch in nginx source directory" -echo "and" -echo "Configure nginx with \"--with-openssl=$WORKDIRECTORY/boringssl\". Use nginx version >= 1.15 for best result." -echo "" -#if [ "$NO_GOROOT_SYSTEM" = "true" ]; then -#echo "Runing" -#echo "export PATH=$WORKDIRECTORY/go/bin:\$PATH" -#echo "export GOROOT=$WORKDIRECTORY/go" -#echo "If you want to compile nginx" -#fi diff --git a/linux/ecosystem/nginx/latest/quic/pre/ip2location-description-pak b/linux/ecosystem/nginx/latest/quic/pre/ip2location-description-pak deleted file mode 100644 index e93eb7783..000000000 --- a/linux/ecosystem/nginx/latest/quic/pre/ip2location-description-pak +++ /dev/null @@ -1 +0,0 @@ -Custom build of ip2location lib by EpicMorg. diff --git a/linux/ecosystem/nginx/latest/quic/pre/luajit2-description-pak b/linux/ecosystem/nginx/latest/quic/pre/luajit2-description-pak deleted file mode 100644 index 4305e8e88..000000000 --- a/linux/ecosystem/nginx/latest/quic/pre/luajit2-description-pak +++ /dev/null @@ -1 +0,0 @@ -Custom build of luajit2 for Nginx module, by EpicMorg. diff --git a/linux/ecosystem/nginx/latest/quic/pre/nginx-description-pak b/linux/ecosystem/nginx/latest/quic/pre/nginx-description-pak deleted file mode 100644 index b6c186ed8..000000000 --- a/linux/ecosystem/nginx/latest/quic/pre/nginx-description-pak +++ /dev/null @@ -1 +0,0 @@ -Custom build of Nginx with some modules by EpicMorg. \ No newline at end of file diff --git a/linux/ecosystem/nginx/latest/quic/pre/ngninx.pre.tar.gz b/linux/ecosystem/nginx/latest/quic/pre/ngninx.pre.tar.gz deleted file mode 100644 index bf9c2735172faf460d34cb157f13291f42cdef88..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9573 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:/stats`. - * Available web video players (based on [video.js](https://videojs.com/) and [hls.js](https://github.com/video-dev/hls.js/)) at `/usr/share/nginx/html/players`. - -## Usage - -### To run the server -``` -docker run -d -p 1935:1935 -p 8080:8080 epicmorg/balancer:rtmp-hls -``` - -To run with custom conf file: -``` -docker run -d -p 1935:1935 -p 8080:8080 -v custom.conf:/etc/nginx/nginx.conf epicmorg/balancer:rtmp-hls -``` -where `custom.conf` is the new conf file for Nginx. - -### To stream to the server - * **Stream live RTMP content to:** - ``` - rtmp://:1935/live/ - ``` - where `` is any stream key you specify. - - * **Configure [OBS](https://obsproject.com/) to stream content:**
-Go to Settings > Stream, choose the following settings: - * Service: Custom Streaming Server. - * Server: `rtmp://:1935/live`. - * Stream key: anything you want, however provided video players assume stream key is `test` - -### To view the stream - * **Using [VLC](https://www.videolan.org/vlc/index.html):** - * Go to Media > Open Network Stream. - * Enter the streaming URL: `rtmp://:1935/live/` - Replace `` with the IP of where the server is running, and - `` with the stream key you used when setting up the stream. - * For HLS and DASH, the URLs are of the forms: - `http://:8080/hls/.m3u8` and - `http://:8080/dash/_src.mpd` respectively. - * Click Play. - -* **Using provided web players:**
-The provided demo players assume the stream-key is called `test` and the player is opened in localhost. - * To play RTMP content (requires Flash): `http://localhost:8080/players/rtmp.html` - * To play HLS content: `http://localhost:8080/players/hls.html` - * To play HLS content using hls.js library: `http://localhost:8080/players/hls_hlsjs.html` - * To play DASH content: `http://localhost:8080/players/dash.html` - * To play RTMP and HLS contents on the same page: `http://localhost:8080/players/rtmp_hls.html` - - **Notes:** - - * These web players are hardcoded to play stream key "test" at localhost. - * To change the stream source for these players. Download the html files and modify the `src` attribute in the video tag in the html file. You can then mount the modified files to the container as follows: - ``` - docker run -d -p 1935:1935 -p 8080:8080 -v custom_players:/usr/share/nginx/html/players epicmorg/balancer:rtmp-hls - ``` - where `custom_players` is the directory holding the modified html files. - - diff --git a/linux/ecosystem/nginx/latest/rtmp-hls/conf/nginx.conf b/linux/ecosystem/nginx/latest/rtmp-hls/conf/nginx.conf deleted file mode 100644 index 938da01e2..000000000 --- a/linux/ecosystem/nginx/latest/rtmp-hls/conf/nginx.conf +++ /dev/null @@ -1,134 +0,0 @@ -load_module "/usr/lib/nginx/modules/ngx_rtmp_module.so"; - -worker_processes auto; -#error_log logs/error.log; - -events { - worker_connections 1024; -} - -# RTMP configuration -rtmp { - server { - listen 1935; # Listen on standard RTMP port - chunk_size 4000; - # ping 30s; - # notify_method get; - - # This application is to accept incoming stream - application live { - live on; # Allows live input - - # for each received stream, transcode for adaptive streaming - # This single ffmpeg command takes the input and transforms - # the source into 4 different streams with different bitrates - # and qualities. # these settings respect the aspect ratio. - exec_push /usr/bin/ffmpeg -i rtmp://localhost:1935/$app/$name -async 1 -vsync -1 - -c:v libx264 -c:a aac -b:v 256k -b:a 64k -vf "scale=480:trunc(ow/a/2)*2" -tune zerolatency -preset superfast -crf 23 -f flv rtmp://localhost:1935/show/$name_low - -c:v libx264 -c:a aac -b:v 768k -b:a 128k -vf "scale=720:trunc(ow/a/2)*2" -tune zerolatency -preset superfast -crf 23 -f flv rtmp://localhost:1935/show/$name_mid - -c:v libx264 -c:a aac -b:v 1024k -b:a 128k -vf "scale=960:trunc(ow/a/2)*2" -tune zerolatency -preset superfast -crf 23 -f flv rtmp://localhost:1935/show/$name_high - -c:v libx264 -c:a aac -b:v 1920k -b:a 128k -vf "scale=1280:trunc(ow/a/2)*2" -tune zerolatency -preset superfast -crf 23 -f flv rtmp://localhost:1935/show/$name_hd720 - -c copy -f flv rtmp://localhost:1935/show/$name_src; - } - - # This is the HLS application - application show { - live on; # Allows live input from above application - deny play all; # disable consuming the stream from nginx as rtmp - - hls on; # Enable HTTP Live Streaming - hls_fragment 3; - hls_playlist_length 20; - hls_path /mnt/hls/; # hls fragments path - # Instruct clients to adjust resolution according to bandwidth - hls_variant _src BANDWIDTH=4096000; # Source bitrate, source resolution - hls_variant _hd720 BANDWIDTH=2048000; # High bitrate, HD 720p resolution - hls_variant _high BANDWIDTH=1152000; # High bitrate, higher-than-SD resolution - hls_variant _mid BANDWIDTH=448000; # Medium bitrate, SD resolution - hls_variant _low BANDWIDTH=288000; # Low bitrate, sub-SD resolution - - # MPEG-DASH - dash on; - dash_path /mnt/dash/; # dash fragments path - dash_fragment 3; - dash_playlist_length 20; - } - } -} - - -http { - include /etc/nginx/sites-enabled/*.conf; - sendfile off; - tcp_nopush on; - directio 512; - # aio on; - - # HTTP server required to serve the player and HLS fragments - server { - listen 8080; - - # Serve HLS fragments - location /hls { - types { - application/vnd.apple.mpegurl m3u8; - video/mp2t ts; - } - - root /mnt; - - add_header Cache-Control no-cache; # Disable cache - - # CORS setup - add_header 'Access-Control-Allow-Origin' '*' always; - add_header 'Access-Control-Expose-Headers' 'Content-Length'; - - # allow CORS preflight requests - if ($request_method = 'OPTIONS') { - add_header 'Access-Control-Allow-Origin' '*'; - add_header 'Access-Control-Max-Age' 1728000; - add_header 'Content-Type' 'text/plain charset=UTF-8'; - add_header 'Content-Length' 0; - return 204; - } - } - - # Serve DASH fragments - location /dash { - types { - application/dash+xml mpd; - video/mp4 mp4; - } - - root /mnt; - - add_header Cache-Control no-cache; # Disable cache - - - # CORS setup - add_header 'Access-Control-Allow-Origin' '*' always; - add_header 'Access-Control-Expose-Headers' 'Content-Length'; - - # Allow CORS preflight requests - if ($request_method = 'OPTIONS') { - add_header 'Access-Control-Allow-Origin' '*'; - add_header 'Access-Control-Max-Age' 1728000; - add_header 'Content-Type' 'text/plain charset=UTF-8'; - add_header 'Content-Length' 0; - return 204; - } - } - - # This URL provides RTMP statistics in XML - location /stat { - rtmp_stat all; - rtmp_stat_stylesheet stat.xsl; # Use stat.xsl stylesheet - } - - location /stat.xsl { - # XML stylesheet to view RTMP stats. - root /usr/share/nginx/html; - } - - } -} \ No newline at end of file diff --git a/linux/ecosystem/nginx/latest/rtmp-hls/conf/nginx_no-ffmpeg.conf b/linux/ecosystem/nginx/latest/rtmp-hls/conf/nginx_no-ffmpeg.conf deleted file mode 100644 index 99644e14f..000000000 --- a/linux/ecosystem/nginx/latest/rtmp-hls/conf/nginx_no-ffmpeg.conf +++ /dev/null @@ -1,118 +0,0 @@ -load_module "/usr/lib/nginx/modules/ngx_rtmp_module.so"; - -worker_processes auto; -#error_log logs/error.log; - -events { - worker_connections 1024; -} - -# RTMP configuration -rtmp { - server { - listen 1935; # Listen on standard RTMP port - chunk_size 4000; - # ping 30s; - # notify_method get; - - # This application is to accept incoming stream - application live { - live on; # Allows live input - push rtmp://localhost:1935/show; - } - - # This is the HLS application - application show { - live on; # Allows live input from above application - deny play all; # disable consuming the stream from nginx as rtmp - - hls on; # Enable HTTP Live Streaming - hls_fragment 3; - hls_playlist_length 10; - hls_path /mnt/hls/; # hls fragments path - - # MPEG-DASH - dash on; - dash_path /mnt/dash/; # dash fragments path - dash_fragment 3; - dash_playlist_length 10; - } - } -} - - -http { - include /etc/nginx/sites-enabled/*.conf; - sendfile off; - tcp_nopush on; - directio 512; - # aio on; - - # HTTP server required to serve the player and HLS fragments - server { - listen 8080; - - # Serve HLS fragments - location /hls { - types { - application/vnd.apple.mpegurl m3u8; - video/mp2t ts; - } - - root /mnt; - - add_header Cache-Control no-cache; # Disable cache - - # CORS setup - add_header 'Access-Control-Allow-Origin' '*' always; - add_header 'Access-Control-Expose-Headers' 'Content-Length'; - - # allow CORS preflight requests - if ($request_method = 'OPTIONS') { - add_header 'Access-Control-Allow-Origin' '*'; - add_header 'Access-Control-Max-Age' 1728000; - add_header 'Content-Type' 'text/plain charset=UTF-8'; - add_header 'Content-Length' 0; - return 204; - } - } - - # Serve DASH fragments - location /dash { - types { - application/dash+xml mpd; - video/mp4 mp4; - } - - root /mnt; - - add_header Cache-Control no-cache; # Disable cache - - - # CORS setup - add_header 'Access-Control-Allow-Origin' '*' always; - add_header 'Access-Control-Expose-Headers' 'Content-Length'; - - # Allow CORS preflight requests - if ($request_method = 'OPTIONS') { - add_header 'Access-Control-Allow-Origin' '*'; - add_header 'Access-Control-Max-Age' 1728000; - add_header 'Content-Type' 'text/plain charset=UTF-8'; - add_header 'Content-Length' 0; - return 204; - } - } - - # This URL provides RTMP statistics in XML - location /stat { - rtmp_stat all; - rtmp_stat_stylesheet stat.xsl; # Use stat.xsl stylesheet - } - - location /stat.xsl { - # XML stylesheet to view RTMP stats. - root /usr/share/nginx/html; - } - - } -} \ No newline at end of file diff --git a/linux/ecosystem/nginx/latest/rtmp-hls/conf/nginx_rtmp_minimal_no-stats.conf b/linux/ecosystem/nginx/latest/rtmp-hls/conf/nginx_rtmp_minimal_no-stats.conf deleted file mode 100644 index 780a1d1ff..000000000 --- a/linux/ecosystem/nginx/latest/rtmp-hls/conf/nginx_rtmp_minimal_no-stats.conf +++ /dev/null @@ -1,16 +0,0 @@ -load_module "/usr/lib/nginx/modules/ngx_rtmp_module.so"; - -worker_processes auto; -rtmp_auto_push on; -events {} -rtmp { - server { - listen 1935; - listen [::]:1935; - - application live { - live on; - record off; - } - } -} \ No newline at end of file diff --git a/linux/ecosystem/nginx/latest/rtmp-hls/docker-compose.yml b/linux/ecosystem/nginx/latest/rtmp-hls/docker-compose.yml deleted file mode 100644 index 3c46aedbd..000000000 --- a/linux/ecosystem/nginx/latest/rtmp-hls/docker-compose.yml +++ /dev/null @@ -1,9 +0,0 @@ -version: '3.9' -services: - app: - image: "epicmorg/nginx:${NGINX_VERSION}-rtmp-hls" - build: - context: . - args: - NGINX_VERSION: ${NGINX_VERSION} - NGINX_DOWNLOAD_URL: ${NGINX_DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/ecosystem/nginx/latest/rtmp-hls/docker-entrypoint.sh b/linux/ecosystem/nginx/latest/rtmp-hls/docker-entrypoint.sh deleted file mode 100755 index 9ebcd6a91..000000000 --- a/linux/ecosystem/nginx/latest/rtmp-hls/docker-entrypoint.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/bash - -if [[ -z "${FIX_WWW_DATA}" ]]; then - echo "[nginx] env FIX_WWW_DATA is not set. Skipping..." -elif [ "${FIX_WWW_DATA}" == "false" ]; then - echo "[nginx] env FIX_WWW_DATA is set to false. Skipping..." -elif [ "${FIX_WWW_DATA}" == "true" ]; then - echo "[nginx] Changing permissions for /var/www path. Dont worry, please wait." - chown www-data:www-data /var/www -R - echo "[nginx] Done" -else - echo "[nginx] env FIX_WWW_DATA is set to strange value. Skipping..." -fi - -echo "[nginx] Starting up" -nginx -g 'daemon off;' diff --git a/linux/ecosystem/nginx/latest/rtmp-hls/players/dash.html b/linux/ecosystem/nginx/latest/rtmp-hls/players/dash.html deleted file mode 100644 index 12b8df786..000000000 --- a/linux/ecosystem/nginx/latest/rtmp-hls/players/dash.html +++ /dev/null @@ -1,23 +0,0 @@ - - - - - DASH Live Streaming - - - - -

DASH Player

- - - - - - - diff --git a/linux/ecosystem/nginx/latest/rtmp-hls/players/hls.html b/linux/ecosystem/nginx/latest/rtmp-hls/players/hls.html deleted file mode 100644 index 15d95b4c1..000000000 --- a/linux/ecosystem/nginx/latest/rtmp-hls/players/hls.html +++ /dev/null @@ -1,23 +0,0 @@ - - - - - HLS Live Streaming - - - - -

HLS Player

- - - - - - - diff --git a/linux/ecosystem/nginx/latest/rtmp-hls/players/hls_hlsjs.html b/linux/ecosystem/nginx/latest/rtmp-hls/players/hls_hlsjs.html deleted file mode 100644 index 0237e7a52..000000000 --- a/linux/ecosystem/nginx/latest/rtmp-hls/players/hls_hlsjs.html +++ /dev/null @@ -1,41 +0,0 @@ - - - - - HLS streaming - - - - - - - - - - -

HLS Player (using hls.js)

- -
-
- -
-
- - - - - - - diff --git a/linux/ecosystem/nginx/latest/rtmp-hls/players/rtmp.html b/linux/ecosystem/nginx/latest/rtmp-hls/players/rtmp.html deleted file mode 100644 index d8ce85610..000000000 --- a/linux/ecosystem/nginx/latest/rtmp-hls/players/rtmp.html +++ /dev/null @@ -1,24 +0,0 @@ - - - - - RTMP Live Streaming - Live Streaming - - - - - - - -

RTMP Player

- - - - - diff --git a/linux/ecosystem/nginx/latest/rtmp-hls/players/rtmp_hls.html b/linux/ecosystem/nginx/latest/rtmp-hls/players/rtmp_hls.html deleted file mode 100644 index 35617e913..000000000 --- a/linux/ecosystem/nginx/latest/rtmp-hls/players/rtmp_hls.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - Live Streaming - - - - - - - - -

RTMP Player

- - -

HLS Player

- - - - - diff --git a/linux/ecosystem/nginx/latest/rtmp-hls/sources.list.d/sources.buster.list b/linux/ecosystem/nginx/latest/rtmp-hls/sources.list.d/sources.buster.list deleted file mode 100644 index 412c35d1a..000000000 --- a/linux/ecosystem/nginx/latest/rtmp-hls/sources.list.d/sources.buster.list +++ /dev/null @@ -1,19 +0,0 @@ -#main -deb http://httpredir.debian.org/debian/ buster main contrib non-free -deb-src http://httpredir.debian.org/debian/ buster main contrib non-free -deb http://httpredir.debian.org/debian/ buster-updates main contrib non-free -deb-src http://httpredir.debian.org/debian/ buster-updates main contrib non-free -deb http://httpredir.debian.org/debian/ buster-backports main contrib non-free -deb-src http://httpredir.debian.org/debian/ buster-backports main contrib non-free -deb http://httpredir.debian.org/debian/ buster-proposed-updates main contrib non-free -deb-src http://httpredir.debian.org/debian/ buster-proposed-updates main contrib non-free - -#security -deb http://httpredir.debian.org/debian-security/ buster/updates main contrib non-free -deb-src http://httpredir.debian.org/debian-security/ buster/updates main contrib non-free - -##multimedia -#deb http://httpredir.debian.org/debian-multimedia/ buster main non-free -#deb-src http://httpredir.debian.org/debian-multimedia/ buster main non-free -#deb http://httpredir.debian.org/debian-multimedia/ buster-backports main -#deb-src http://httpredir.debian.org/debian-multimedia/ buster-backports main diff --git a/linux/ecosystem/nginx/latest/rtmp-hls/sources.list.d/sources.sid.list b/linux/ecosystem/nginx/latest/rtmp-hls/sources.list.d/sources.sid.list deleted file mode 100644 index 465c737af..000000000 --- a/linux/ecosystem/nginx/latest/rtmp-hls/sources.list.d/sources.sid.list +++ /dev/null @@ -1,19 +0,0 @@ -#main -deb http://httpredir.debian.org/debian/ sid main contrib non-free -deb-src http://httpredir.debian.org/debian/ sid main contrib non-free -deb http://httpredir.debian.org/debian/ testing-updates main contrib non-free -deb-src http://httpredir.debian.org/debian/ testing-updates main contrib non-free -deb http://httpredir.debian.org/debian/ testing-proposed-updates main contrib non-free -deb-src http://httpredir.debian.org/debian/ testing-proposed-updates main contrib non-free - -#backports -#deb http://httpredir.debian.org/debian/ testing-backports main contrib non-free -#deb-src http://httpredir.debian.org/debian/ testing-backports main contrib non-free - -#security -deb http://httpredir.debian.org/debian-security/ testing-security main contrib non-free -deb-src http://httpredir.debian.org/debian-security/ testing-security main contrib non-free - -##multimedia -#deb http://httpredir.debian.org/debian-multimedia/ sid main non-free -#deb-src http://httpredir.debian.org/debian-multimedia/ sid main non-free diff --git a/linux/ecosystem/nginx/latest/rtmp-hls/sources.list.d/sources.stretch.list b/linux/ecosystem/nginx/latest/rtmp-hls/sources.list.d/sources.stretch.list deleted file mode 100644 index 617bf9bb6..000000000 --- a/linux/ecosystem/nginx/latest/rtmp-hls/sources.list.d/sources.stretch.list +++ /dev/null @@ -1,19 +0,0 @@ -#main -deb http://httpredir.debian.org/debian/ stretch main contrib non-free -deb-src http://httpredir.debian.org/debian/ stretch main contrib non-free -deb http://httpredir.debian.org/debian/ stretch-updates main contrib non-free -deb-src http://httpredir.debian.org/debian/ stretch-updates main contrib non-free -deb http://httpredir.debian.org/debian/ stretch-backports main contrib non-free -deb-src http://httpredir.debian.org/debian/ stretch-backports main contrib non-free -deb http://httpredir.debian.org/debian/ stretch-proposed-updates main contrib non-free -deb-src http://httpredir.debian.org/debian/ stretch-proposed-updates main contrib non-free - -#security -deb http://httpredir.debian.org/debian-security/ stretch/updates main contrib non-free -deb-src http://httpredir.debian.org/debian-security/ stretch/updates main contrib non-free - -##multimedia -#deb http://httpredir.debian.org/debian-multimedia/ stretch main non-free -#deb-src http://httpredir.debian.org/debian-multimedia/ stretch main non-free -#deb http://httpredir.debian.org/debian-multimedia/ stretch-backports main -#deb-src http://httpredir.debian.org/debian-multimedia/ stretch-backports main