Use cgit as a simple frontend to gitea

This commit is contained in:
Jake Howard 2020-02-17 21:46:50 +00:00
parent be3a571d2c
commit d290f2f68f
Signed by: jake
GPG key ID: 57AFB45680EDD477
4 changed files with 69 additions and 4 deletions

View file

@ -15,7 +15,7 @@ TEMP_PATH = /data/gitea/uploads
APP_DATA_PATH = /data/gitea APP_DATA_PATH = /data/gitea
SSH_DOMAIN = git.theorangeone.net SSH_DOMAIN = git.theorangeone.net
HTTP_PORT = 3000 HTTP_PORT = 3000
ROOT_URL = https://git.theorangeone.net/ ROOT_URL = https://git.theorangeone.net/gitea/
DISABLE_SSH = false DISABLE_SSH = false
SSH_PORT = 22 SSH_PORT = 22
SSH_LISTEN_PORT = 3022 SSH_LISTEN_PORT = 3022

View file

@ -0,0 +1,11 @@
#
# cgit config
#
css=/cgit.css
logo=/cgit.png
source-filter=/bin/syntax-highlighting.sh
virtual-root=/
mimetype-file=/etc/mime.types
robots=noindex, nofollow
include=/config/repos.txt

View file

@ -10,10 +10,12 @@ services:
- USER_GID={{ docker_user.id }} - USER_GID={{ docker_user.id }}
labels: labels:
- "traefik.enable=true" - "traefik.enable=true"
- "traefik.http.routers.gitea.rule=Host(`git.theorangeone.net`)" - "traefik.http.routers.gitea.rule=Host(`git.theorangeone.net`) && PathPrefix(`/gitea`)"
- "traefik.http.routers.gitea.tls=true" - "traefik.http.routers.gitea.tls=true"
- "traefik.http.routers.gitea.tls.certresolver=le" - "traefik.http.routers.gitea.tls.certresolver=le"
- "traefik.http.services.gitea-gitea.loadbalancer.server.port=3000" - "traefik.http.services.gitea-gitea.loadbalancer.server.port=3000"
- "traefik.http.middlewares.gitea-strip.stripprefix.prefixes=/gitea"
- "traefik.http.routers.gitea.middlewares=gitea-strip"
ports: ports:
- "{{ wireguard.clients.intersect.ip }}:3022:3022" - "{{ wireguard.clients.intersect.ip }}:3022:3022"
volumes: volumes:
@ -30,3 +32,30 @@ services:
environment: environment:
- POSTGRES_PASSWORD=gitea - POSTGRES_PASSWORD=gitea
- POSTGRES_USER=gitea - POSTGRES_USER=gitea
cgit:
image: theorangeone/docker-cgit:latest
container_name: cgit
restart: unless-stopped
environment:
- USER_UID={{ docker_user.id }}
- USER_GID={{ docker_user.id }}
volumes:
- ./repos:/data/git:ro
- ./cgit/cgitrc:/config/cgitrc:ro
- ./cgit/repos.txt:/config/repos.txt:ro
labels:
- "traefik.enable=true"
- "traefik.http.routers.cgit.rule=Host(`git.theorangeone.net`)"
- "traefik.http.routers.cgit.tls=true"
- "traefik.http.routers.cgit.tls.certresolver=le"
gitea-cgit-adapter:
image: theorangeone/gitea-cgit-adapter:latest
restart: unless-stopped
command: "/app/gitea-cgit-adapter /etc/gitea.ini /etc/cgit-repos.txt --interval 600"
depends_on:
- gitea
volumes:
- ./gitea/gitea/conf/app.ini:/etc/gitea.ini:ro
- ./cgit/repos.txt:/etc/cgit-repos.txt

View file

@ -18,6 +18,14 @@
become: true become: true
become_user: root become_user: root
- name: Create cgit config directory
file:
path: '/opt/gitea/cgit'
state: directory
mode: "{{ docker_compose_directory_mask }}"
become: true
become_user: root
- name: Install gitea compose file - name: Install gitea compose file
template: template:
src: files/gitea/docker-compose.yml src: files/gitea/docker-compose.yml
@ -35,7 +43,24 @@
dest: "/opt/gitea/gitea/gitea/conf/app.ini" dest: "/opt/gitea/gitea/gitea/conf/app.ini"
mode: "{{ docker_compose_file_mask }}" mode: "{{ docker_compose_file_mask }}"
owner: "{{ docker_user.name }}" owner: "{{ docker_user.name }}"
register: config_file register: gitea_config_file
become: true
become_user: root
- name: Install cgit config file
template:
src: files/gitea/cgitrc
dest: "/opt/gitea/cgit/cgitrc"
mode: "{{ docker_compose_file_mask }}"
owner: "{{ docker_user.name }}"
register: cgit_config_file
become: true
become_user: root
- name: Touch public repos file
file:
path: /opt/gitea/cgit/repos.txt
state: file
become: true become: true
become_user: root become_user: root
@ -46,7 +71,7 @@
remove_orphans: true remove_orphans: true
remove_volumes: true remove_volumes: true
state: "{{ item }}" state: "{{ item }}"
when: compose_file.changed or config_file.changed when: compose_file.changed or gitea_config_file.changed or cgit_config_file.changed
loop: loop:
- absent - absent
- present - present