{"id":22561578,"url":"https://github.com/seart-group/reverse-proxy","last_synced_at":"2026-05-19T14:10:44.687Z","repository":{"id":213189745,"uuid":"733069164","full_name":"seart-group/reverse-proxy","owner":"seart-group","description":"NGINX reverse-proxy starter, tailor-made for our organisation","archived":false,"fork":false,"pushed_at":"2025-06-13T22:22:45.000Z","size":1494,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-13T23:24:54.836Z","etag":null,"topics":["docker-image","dockerfile","nginx","nginx-configuration","nginx-docker","nginx-error","nginx-reverse-proxy","nginx-server"],"latest_commit_sha":null,"homepage":"","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/seart-group.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-12-18T13:48:36.000Z","updated_at":"2025-06-13T22:21:42.000Z","dependencies_parsed_at":"2023-12-19T07:26:57.893Z","dependency_job_id":"38706c52-e1fa-41dc-85c2-4350e5f010fa","html_url":"https://github.com/seart-group/reverse-proxy","commit_stats":null,"previous_names":["seart-group/reverse-proxy"],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/seart-group/reverse-proxy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seart-group%2Freverse-proxy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seart-group%2Freverse-proxy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seart-group%2Freverse-proxy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seart-group%2Freverse-proxy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/seart-group","download_url":"https://codeload.github.com/seart-group/reverse-proxy/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seart-group%2Freverse-proxy/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260072447,"owners_count":22954910,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker-image","dockerfile","nginx","nginx-configuration","nginx-docker","nginx-error","nginx-reverse-proxy","nginx-server"],"created_at":"2024-12-07T22:08:21.180Z","updated_at":"2025-10-13T22:02:03.625Z","avatar_url":"https://github.com/seart-group.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SEART reverse-proxy\n\n## About\n\nTo coordinate traffic to our web services, we make use of a custom NGINX web-server, acting as a reverse-proxy.\nSaid server comes bundled with a default configuration file, which can be further customized by placing additional\nconfiguration files in a pre-determined directory. It includes other features such as a pre-defined Docker health\ncheck and custom error pages that maintain stylistic consistency with the rest of our web services.\n\n## Example\n\nHere's an example of how one could deploy this proxy through `docker-compose`:\n\n```yaml\nversion: '3.9'\nname: 'reverse-proxy'\n\nservices:\n\n  proxy:\n    container_name: reverse-proxy\n    image: seart/reverse-proxy:latest\n    restart: \"always\"\n    ports:\n      - \"80:80\"\n      - \"443:443\"\n    volumes:\n      # bind your custom configuration files\n      # to the image-specific config directory\n      - ./config:/etc/nginx/conf.d/include\n      # bind your custom SSL certificates\n      # as defined by your configuration files\n      - ./ssl:/etc/nginx/ssl\n      # path to bind NGINX log files\n      - ./logs:/var/log/nginx\n    networks:\n      - reverse-proxy-network\n\n# Use an external network to ensure that\n# if the reverse-proxy is taken down, the\n# network is still available to other services\nnetworks:\n  reverse-proxy-network:\n    external: true\n```\n\nAs for the configuration files, they should be mounted to the `/etc/nginx/conf.d/include` directory.\nThe following snippet shows how one might set up a reverse-proxy for another application running\non the same network:\n\n```nginx configuration\n# /etc/nginx/conf.d/include/example.conf\n\nserver {\n  listen 80;\n  server_name example.com www.example.com;\n  return 301 https://$server_addr$request_uri;\n}\n\nserver {\n  listen 443 ssl;\n  server_name example.com www.example.com;\n\n  ssl_certificate /etc/nginx/ssl/example.com/cert.pem;\n  ssl_certificate_key /etc/nginx/ssl/example.com/privkey.pem;\n\n  # Optionally, you can include location\n  # directives for custom error pages\n  include /etc/nginx/conf.d/template/errors.conf;\n\n  location / {\n    resolver 127.0.0.11 valid=30s;\n    set $upstream example-front-end;\n    proxy_pass http://$upstream:80;\n    # Error intercepting needs to be enabled\n    # if you want to use custom error pages\n    proxy_intercept_errors on;\n  }\n\n  location /api {\n    resolver 127.0.0.11 valid=30s;\n    set $upstream example-back-end;\n    proxy_pass http://$upstream:8080;\n    proxy_set_header Host $http_host;\n    proxy_set_header X-Forwarded-Proto https;\n  }\n}\n```\n\n## Gallery\n\n| ![index](screenshots/index.jpg) | ![error](screenshots/error.jpg) |\n|:-------------------------------:|:-------------------------------:|\n|           Index Page            |           Error Page            |\n\n## FAQ\n\n### How can I request a feature or ask a question?\n\nIf you have ideas for a feature you would like to see implemented or if you have any questions, we encourage you to\ncreate a new [discussion](https://github.com/seart-group/reverse-proxy/discussions/). By initiating a discussion, you\ncan engage with the community and our team, and we'll respond promptly to address your queries or consider your feature\nrequests.\n\n### How can I report a bug?\n\nTo report any issues or bugs you encounter, please create a [new issue](https://github.com/seart-group/reverse-proxy/issues/).\nProviding detailed information about the problem you're facing will help us understand and address it more effectively.\nRest assured, we are committed to promptly reviewing and responding to the issues you raise, working collaboratively\nto resolve any bugs and improve the overall user experience.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fseart-group%2Freverse-proxy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fseart-group%2Freverse-proxy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fseart-group%2Freverse-proxy/lists"}