From b6db36265dad9a4c2bf57262e9cd0ecc94829adf Mon Sep 17 00:00:00 2001 From: simon Date: Sat, 21 May 2022 12:39:10 +0700 Subject: [PATCH] add gitea --- .gitignore | 1 + docker-compose_production.yml | 39 +++++++++++++++++- env/gitea.sample.env | 11 +++++ .../public/img/tube-archivist-logo-dark.png | Bin 0 -> 22376 bytes tubearchivist/gitea/templates/home.tmpl | 23 +++++++++++ 5 files changed, 72 insertions(+), 2 deletions(-) create mode 100644 env/gitea.sample.env create mode 100644 tubearchivist/gitea/public/img/tube-archivist-logo-dark.png create mode 100644 tubearchivist/gitea/templates/home.tmpl diff --git a/.gitignore b/.gitignore index e0e28d3..e9bbc47 100644 --- a/.gitignore +++ b/.gitignore @@ -6,6 +6,7 @@ config.json postgres.env tubearchivist.env umami.env +gitea.env # example hooks docker-hook.json diff --git a/docker-compose_production.yml b/docker-compose_production.yml index 82bf9f8..b89bbcb 100644 --- a/docker-compose_production.yml +++ b/docker-compose_production.yml @@ -16,6 +16,7 @@ services: - front - tubearchivist_network - umami_network + - gitea_network nginx-proxy-acme: image: nginxproxy/acme-companion container_name: nginx-proxy-acme @@ -87,8 +88,8 @@ services: env_file: - ./env/umami.env environment: - - VIRTUAL_HOST=www.stats.tubearchivist.com - - LETSENCRYPT_HOST=www.stats.tubearchivist.com + - VIRTUAL_HOST=www.stats.tubearchivist.com,stats.tubearchivist.com + - LETSENCRYPT_HOST=www.stats.tubearchivist.com,stats.tubearchivist.com depends_on: - umami-db restart: always @@ -105,6 +106,38 @@ services: restart: always networks: - umami_network + # gitea + gitea: + image: gitea/gitea + container_name: gitea + hostname: gitea + env_file: + - ./env/gitea.env + environment: + - VIRTUAL_HOST=git.tubearchivist.com,www.git.tubearchivist.com + - LETSENCRYPT_HOST=git.tubearchivist.com,www.git.tubearchivist.com + - VIRTUAL_PORT=3000 + restart: always + volumes: + - ./volume/gitea/data:/data + - /etc/timezone:/etc/timezone:ro + - /etc/localtime:/etc/localtime:ro + expose: + - "3000" + ports: + - '127.0.0.1:22:22' + networks: + - gitea_network + gitea-db: + image: postgres:14 + container_name: gitea-db + restart: always + env_file: + - ./env/gitea.env + volumes: + - ./volume/gitea/db:/var/lib/postgresql/data + networks: + - gitea_network networks: front: @@ -113,3 +146,5 @@ networks: driver: bridge umami_network: driver: bridge + gitea_network: + driver: bridge diff --git a/env/gitea.sample.env b/env/gitea.sample.env new file mode 100644 index 0000000..dbc03d7 --- /dev/null +++ b/env/gitea.sample.env @@ -0,0 +1,11 @@ +USER_UID=1000 +USER_GID=1000 +DB_TYPE=postgres +DB_HOST=gitea-db:5432 +DB_NAME=gitea +DB_USER=gitea +DB_PASSWD=xxxxxxxxxxxxxxx + +POSTGRES_USER=gitea +POSTGRES_PASSWORD=xxxxxxxxxxxxxxx +POSTGRES_DB=gitea \ No newline at end of file diff --git a/tubearchivist/gitea/public/img/tube-archivist-logo-dark.png b/tubearchivist/gitea/public/img/tube-archivist-logo-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..2883aacceacb3e18382ab07c0b8e78fbab967a51 GIT binary patch literal 22376 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 zs;a80s;a80N_%if00000An5;VUzh*@000000000000000000000000000342X3!4m TFT|4w00000NkvXXu0mjfLEYv! literal 0 HcmV?d00001 diff --git a/tubearchivist/gitea/templates/home.tmpl b/tubearchivist/gitea/templates/home.tmpl new file mode 100644 index 0000000..02607fa --- /dev/null +++ b/tubearchivist/gitea/templates/home.tmpl @@ -0,0 +1,23 @@ +{{template "base/head" .}} +
+
+
+
+ +
+
+

+ {{AppName}} +

+

Your self hosted YouTube media server

+
+
+
+
+
+

A mirror of all repos.

+ GitHub +
+
+
+{{template "base/footer" .}}