{"id":16228008,"url":"https://github.com/dries007/jenkinsviewer","last_synced_at":"2026-04-29T00:34:23.276Z","repository":{"id":45441463,"uuid":"200540874","full_name":"dries007/JenkinsViewer","owner":"dries007","description":"A simple Jenkins frontend","archived":false,"fork":false,"pushed_at":"2022-12-08T07:43:18.000Z","size":17,"stargazers_count":0,"open_issues_count":3,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-08T04:42:37.898Z","etag":null,"topics":["flask","jenkins","pyton"],"latest_commit_sha":null,"homepage":"https://jenkins.dries007.net/","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dries007.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-08-04T20:57:13.000Z","updated_at":"2021-02-21T20:41:24.000Z","dependencies_parsed_at":"2022-09-23T00:00:50.810Z","dependency_job_id":null,"html_url":"https://github.com/dries007/JenkinsViewer","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/dries007/JenkinsViewer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dries007%2FJenkinsViewer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dries007%2FJenkinsViewer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dries007%2FJenkinsViewer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dries007%2FJenkinsViewer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dries007","download_url":"https://codeload.github.com/dries007/JenkinsViewer/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dries007%2FJenkinsViewer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32405901,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-28T19:38:08.556Z","status":"ssl_error","status_checked_at":"2026-04-28T19:37:55.688Z","response_time":56,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["flask","jenkins","pyton"],"created_at":"2024-10-10T12:54:20.936Z","updated_at":"2026-04-29T00:34:23.262Z","avatar_url":"https://github.com/dries007.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Super Simple Jenkins Viewer\n\nThis project is a super simple Jenkins front end.\n\nIt's meant to shield your Jenkins server from potential security issues.\n\nDon't forget to block the internal Jenkins port with a firewall and bind only to localhost for good measure!\n\n[Live demo](https://jenkins.dries007.net)\n\n## Deployment info\n\nMore for myself than a recommendation.\nThis assumes a few things about the runtime environment:\n- Use Arch Linux (nginx user:group is http:http instead of www-data:www-data).\n- Use nginx on the host as a proxy.\n- Use (sub)domains to differentiate between different apps (or have nginx do the url-rewriting).\n- The nginx worker user is http, the `/run/sock` folder can be used with 1 subfolder per app/subdomain.\n- Jenkins is bound to 127.0.0.1:8090. This means need to run with `--network host` to avoid dealing with routing from the container to the host but still not allow external access to jenkins.  \n\nHere is my startup command:\n\n```\ndocker run -d --name jenkinsviewer -v /run/sock/jenkins:/sock -e RUNAS=$(id -u http):$(id -g http) --network host --restart unless-stopped ghcr.io/dries007/jenkinsviewer:latest\n```\n\nThe nginx config is roughly based on previous configs of mine and [the gunicorn example](https://docs.gunicorn.org/en/stable/deploy.html). This is the important bits:\n\n```\nuser http http;\nhttp {\n    include mime.types;\n    sendfile on;\n    server {\n        listen 80 deferred;\n        server_name jenkins.dries007.net; \n        keepalive_timeout 5;\n        location / {\n            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n            proxy_set_header X-Forwarded-Proto $scheme;\n            proxy_set_header Host $http_host;\n            # we don't want nginx trying to do something clever with\n            # redirects, we set the Host: header above already.\n            proxy_redirect off;\n            proxy_pass unix:/run/sock/jenkins/web.sock;\n        }\n    }\n}\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdries007%2Fjenkinsviewer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdries007%2Fjenkinsviewer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdries007%2Fjenkinsviewer/lists"}