Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dries007/jenkinsviewer
A simple Jenkins frontend
https://github.com/dries007/jenkinsviewer
flask jenkins pyton
Last synced: about 2 months ago
JSON representation
A simple Jenkins frontend
- Host: GitHub
- URL: https://github.com/dries007/jenkinsviewer
- Owner: dries007
- Created: 2019-08-04T20:57:13.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2022-12-08T07:43:18.000Z (about 2 years ago)
- Last Synced: 2024-11-04T03:23:47.983Z (3 months ago)
- Topics: flask, jenkins, pyton
- Language: HTML
- Homepage: https://jenkins.dries007.net/
- Size: 16.6 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Super Simple Jenkins Viewer
This project is a super simple Jenkins front end.
It's meant to shield your Jenkins server from potential security issues.
Don't forget to block the internal Jenkins port with a firewall and bind only to localhost for good measure!
[Live demo](https://jenkins.dries007.net)
## Deployment info
More for myself than a recommendation.
This assumes a few things about the runtime environment:
- Use Arch Linux (nginx user:group is http:http instead of www-data:www-data).
- Use nginx on the host as a proxy.
- Use (sub)domains to differentiate between different apps (or have nginx do the url-rewriting).
- The nginx worker user is http, the `/run/sock` folder can be used with 1 subfolder per app/subdomain.
- 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.Here is my startup command:
```
docker 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
```The 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:
```
user http http;
http {
include mime.types;
sendfile on;
server {
listen 80 deferred;
server_name jenkins.dries007.net;
keepalive_timeout 5;
location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;
# we don't want nginx trying to do something clever with
# redirects, we set the Host: header above already.
proxy_redirect off;
proxy_pass unix:/run/sock/jenkins/web.sock;
}
}
}
```