From b8ffbfe27eae919750ef4d3facf02393d1004287 Mon Sep 17 00:00:00 2001 From: Elizabeth Alexander Hunt Date: Wed, 7 May 2025 18:10:57 -0700 Subject: .git was corrupted on the machine i worked on these many commits. so here it is all at once :P --- .../roles/src/templates/stacks/docker-compose.yml | 46 ++++++++++++++----- .../roles/src/templates/volumes/cgit.nginx.conf | 49 +++++++++++++++++++++ .../src/templates/volumes/cgit/cgit-css/cgit.png | Bin 0 -> 25036 bytes .../roles/src/templates/volumes/cgit/index.html | 1 + 4 files changed, 86 insertions(+), 10 deletions(-) create mode 100644 playbooks/roles/src/templates/volumes/cgit.nginx.conf create mode 100644 playbooks/roles/src/templates/volumes/cgit/cgit-css/cgit.png create mode 100644 playbooks/roles/src/templates/volumes/cgit/index.html (limited to 'playbooks/roles/src') diff --git a/playbooks/roles/src/templates/stacks/docker-compose.yml b/playbooks/roles/src/templates/stacks/docker-compose.yml index 46f253d..547020d 100644 --- a/playbooks/roles/src/templates/stacks/docker-compose.yml +++ b/playbooks/roles/src/templates/stacks/docker-compose.yml @@ -1,4 +1,40 @@ services: + frontend: + image: emarcs/nginx-cgit + volumes: + - {{ src_base }}/volumes/data/repos:/srv/git:ro + - {{ src_base }}/volumes/cgit/:/usr/share/cgit:ro + - {{ src_base }}/volumes/cgit.nginx.conf:/etc/nginx/sites-available/default + environment: + CGIT_TITLE: '{{ src_domain }}' + CGIT_DESC: '<3 {{ domain }}' + CGIT_VROOT: '/cgit' + CGIT_SECTION_FROM_STARTPATH: 1 + CGIT_MAX_REPO_COUNT: 100 + networks: + - proxy + healthcheck: + test: ["CMD-SHELL", "curl --fail http://localhost"] + timeout: 15s + interval: 30s + retries: 3 + start_period: 5s + deploy: + mode: replicated + update_config: + parallelism: 1 + failure_action: rollback + order: start-first + monitor: 10s + labels: + - traefik.enable=true + - traefik.swarm.network=proxy + - traefik.http.routers.src.tls=true + - traefik.http.routers.src.tls.certResolver=letsencrypt + - traefik.http.routers.src.rule=Host(`{{ src_domain }}`) + - traefik.http.routers.src.entrypoints=websecure + - traefik.http.services.src.loadbalancer.server.port=80 + src: image: charmcli/soft-serve volumes: @@ -17,8 +53,6 @@ services: - SOFT_SERVE_INITIAL_ADMIN_KEYS={{ src_admin_keys }} - SOFT_SERVE_GIT_MAX_CONNECTIONS=20 - SOFT_SERVE_LOG_FORMAT=json - networks: - - proxy healthcheck: test: ["CMD-SHELL", "netstat -tuln | grep 2222"] timeout: 15s @@ -33,14 +67,6 @@ services: order: stop-first monitor: 10s replicas: 1 - labels: - - traefik.enable=true - - traefik.swarm.network=proxy - - traefik.http.routers.src.tls=true - - traefik.http.routers.src.tls.certResolver=letsencrypt - - traefik.http.routers.src.rule=Host(`{{ src_domain }}`) - - traefik.http.routers.src.entrypoints=websecure - - traefik.http.services.src.loadbalancer.server.port=8000 networks: proxy: diff --git a/playbooks/roles/src/templates/volumes/cgit.nginx.conf b/playbooks/roles/src/templates/volumes/cgit.nginx.conf new file mode 100644 index 0000000..5abe189 --- /dev/null +++ b/playbooks/roles/src/templates/volumes/cgit.nginx.conf @@ -0,0 +1,49 @@ +server { + listen 80; + server_name localhost; + + #charset koi8-r; + #access_log /var/log/nginx/log/host.access.log main; + + location / { + root /usr/share/cgit/; + } + + location /cgit { + try_files $uri @cgit; + } + + location @cgit { + fastcgi_param SCRIPT_FILENAME /usr/lib/cgit/cgit.cgi; + + fastcgi_param HTTP_HOST $server_name; + fastcgi_split_path_info ^(/cgit/?)(.+)$; + fastcgi_param PATH_INFO $fastcgi_path_info; + fastcgi_param QUERY_INFO $uri; + + include fastcgi_params; + + fastcgi_pass unix:/var/run/fcgiwrap.socket; + } + + location /cgit-css/ { + rewrite ^/cgit-css(/.*)$ $1 break; + root /usr/share/cgit/cgit-css/; + } + + error_page 404 /404.html; + error_page 401 /401.html; + + # redirect server error pages to the static page /50x.html + error_page 500 502 503 504 /50x.html; + location = /50x.html { + root /usr/share/nginx/html; + } + + # deny access to .htaccess files, if Apache's document root + # concurs with nginx's one + # + location ~ /\.ht { + deny all; + } +} diff --git a/playbooks/roles/src/templates/volumes/cgit/cgit-css/cgit.png b/playbooks/roles/src/templates/volumes/cgit/cgit-css/cgit.png new file mode 100644 index 0000000..bb7ffa1 Binary files /dev/null and b/playbooks/roles/src/templates/volumes/cgit/cgit-css/cgit.png differ diff --git a/playbooks/roles/src/templates/volumes/cgit/index.html b/playbooks/roles/src/templates/volumes/cgit/index.html new file mode 100644 index 0000000..4b06983 --- /dev/null +++ b/playbooks/roles/src/templates/volumes/cgit/index.html @@ -0,0 +1 @@ +

hai

-- cgit v1.2.3-70-g09d2