App Submission: Gitea Mirror (#4721)

This commit is contained in:
Alexander L. 2026-02-23 11:14:05 +01:00 committed by GitHub
parent 50999867f6
commit 630d6ed267
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 92 additions and 0 deletions

View File

View File

@ -0,0 +1,31 @@
version: '3.7'
services:
app_proxy:
environment:
APP_HOST: gitea-mirror_web_1
APP_PORT: 4321
web:
image: ghcr.io/raylabshq/gitea-mirror:v3.9.2@sha256:6e3edc29884c11a8a7bb3f65adae266d4f51c32d829c857152372e7dba35a410
restart: on-failure
user: "1000:1000"
volumes:
- ${APP_DATA_DIR}/data:/app/data
environment:
BETTER_AUTH_SECRET: ${APP_SEED}
BETTER_AUTH_URL: http://${DEVICE_DOMAIN_NAME}:${APP_GITEA_MIRROR_PORT}
BETTER_AUTH_TRUSTED_ORIGINS: http://${DEVICE_DOMAIN_NAME}:${APP_GITEA_MIRROR_PORT},http://${DEVICE_HOSTNAME}:${APP_GITEA_MIRROR_PORT},${APP_GITEA_MIRROR_LOCAL_URLS}
NODE_ENV: production
DATABASE_URL: file:data/gitea-mirror.db
HOST: 0.0.0.0
PORT: "4321"
PUBLIC_BETTER_AUTH_URL: http://${DEVICE_DOMAIN_NAME}:${APP_GITEA_MIRROR_PORT}
MIRROR_ISSUE_CONCURRENCY: "3"
MIRROR_PULL_REQUEST_CONCURRENCY: "5"
healthcheck:
test: ["CMD", "wget", "--no-verbose", "--tries=3", "--spider", "http://localhost:4321/api/health"]
interval: 30s
timeout: 10s
retries: 5
start_period: 15s

16
gitea-mirror/exports.sh Normal file
View File

@ -0,0 +1,16 @@
export APP_GITEA_MIRROR_PORT="4322"
local_ips=$(hostname --all-ip-addresses 2> /dev/null) || local_ips=""
export APP_GITEA_MIRROR_LOCAL_IPS="${local_ips}"
# Build URLs with http:// and port, comma-separated
ips_with_port=$(for ip in $local_ips; do
# Wrap IPv6 addresses in []
if [[ "$ip" == *:* ]]; then
echo -n "http://[$ip]:$APP_GITEA_MIRROR_PORT,"
else
echo -n "http://$ip:$APP_GITEA_MIRROR_PORT,"
fi
done | sed 's/,$//')
export APP_GITEA_MIRROR_LOCAL_URLS="${ips_with_port}"

View File

@ -0,0 +1,45 @@
manifestVersion: 1
id: gitea-mirror
name: Gitea Mirror
tagline: Mirror your GitHub repositories to a Gitea instance automatically
category: developer
version: "3.9.2"
port: 4322
description: >-
Gitea Mirror automatically mirrors your GitHub repositories to a self-hosted Gitea instance. It supports mirroring public and private repositories, organizations, starred repos, issues, wikis, and pull requests.
Configure your GitHub and Gitea credentials through the web interface to get started. The app will periodically sync your repositories based on your configured schedule.
Key features include:
- Mirror repositories from GitHub to Gitea
- Support for organizations and starred repositories
- Issue and wiki mirroring
- Configurable sync intervals and scheduling
- Repository cleanup and orphan management
- Header-based authentication for reverse proxy SSO
**Connecting to Gitea on Umbrel:** If you have the Gitea app installed on your Umbrel, use `http://gitea_server_1:8085` as the Gitea URL in the mirror settings.
The **Gitea Access Token** should have the following permissions:
- write:repository
- read:user
- write:organization (optional)
developer: RayLabs HQ
website: https://github.com/raylabshq/gitea-mirror
submitter: al-lac
submission: https://github.com/getumbrel/umbrel-apps/pull/4721
repo: https://github.com/raylabshq/gitea-mirror
support: https://github.com/raylabshq/gitea-mirror/issues
gallery:
- 1.jpg
- 2.jpg
- 3.jpg
defaultUsername: ""
defaultPassword: ""
dependencies: []
releaseNotes: ""
path: ""