-
-
Notifications
You must be signed in to change notification settings - Fork 22
Description
My Docker compose
services:
gitea-mirror:
image: docker.gitea.com/gitea:1.24.4
container_name: gitea-mirror
security_opt:
- no-new-privileges:true
networks:
- proxy
environment:
- USER_UID=1001
- USER_GID=1001
- GITEA__service__DISABLE_REGISTRATION=true
- GITEA__service__REQUIRE_SIGNIN_VIEW=true
volumes:
- /home/ubuntu/docker/stacks/app-data/gitea-mirror:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
labels:
- traefik.enable=true
- traefik.http.routers.gitea-mirror-rtr.entrypoints=websecure
- traefik.http.routers.gitea-mirror-rtr.rule=Host(`site.example.com`)
- traefik.http.routers.gitea-mirror-rtr.middlewares=chain-authelia@file
- traefik.http.routers.gitea-mirror-rtr.service=gitea-mirror-svc
- traefik.http.services.gitea-mirror-svc.loadbalancer.server.port=3000
restart: unless-stopped
gitea-mirror-backend:
image: ghcr.io/raylabshq/gitea-mirror:v3.2.6
container_name: gitea-mirror-backend
security_opt:
- no-new-privileges:true
networks:
- proxy
user: 1001:1001
environment:
- NODE_ENV=production
- HOST=0.0.0.0
- PORT=4321
- DATABASE_URL=file:data/gitea-mirror.db
- BETTER_AUTH_URL=https://site-backend.example.com
- BETTER_AUTH_TRUSTED_ORIGINS=https://site-backend.example.com
- BETTER_AUTH_SECRET={Secret-here}
- ENCRYPTION_SECRET={Secret-here}
- GITHUB_USERNAME=Tailscale-VPS
- GITHUB_TOKEN={Secret-here}
- GITHUB_TYPE=personal
- PRIVATE_REPOSITORIES=true
- PUBLIC_REPOSITORIES=true
- INCLUDE_ARCHIVED=false
- SKIP_FORKS=false
- MIRROR_STARRED=true
- STARRED_REPOS_ORG=starred
- MIRROR_ORGANIZATIONS=true
- PRESERVE_ORG_STRUCTURE=true
- ONLY_MIRROR_ORGS=false
- MIRROR_STRATEGY=preserve
- SKIP_STARRED_ISSUES=false
- GITEA_URL=http://gitea-mirror:3000
- GITEA_TOKEN={Secret-here}
- GITEA_USERNAME=homelab10400
- GITEA_ORGANIZATION=github-mirrors
- GITEA_ORG_VISIBILITY=public
- GITEA_MIRROR_INTERVAL=8h
- GITEA_LFS=false
- GITEA_CREATE_ORG=true
- GITEA_PRESERVE_VISIBILITY=true
- GITEA_ADD_TOPICS=true
- GITEA_TOPIC_PREFIX=gh-
- GITEA_FORK_STRATEGY=full-copy
- MIRROR_RELEASES=true
- MIRROR_WIKI=true
- MIRROR_METADATA=true
- MIRROR_ISSUES=true
- MIRROR_PULL_REQUESTS=true
- MIRROR_LABELS=true
- MIRROR_MILESTONES=true
- SCHEDULE_ENABLED=true
- SCHEDULE_INTERVAL=3600
- SCHEDULE_CONCURRENT=false
- SCHEDULE_BATCH_SIZE=10
- SCHEDULE_PAUSE_BETWEEN_BATCHES=5000
- SCHEDULE_RETRY_ATTEMPTS=3
- SCHEDULE_RETRY_DELAY=60000
- SCHEDULE_TIMEOUT=3600000
- SCHEDULE_AUTO_RETRY=true
- SCHEDULE_ONLY_MIRROR_UPDATED=false
- SCHEDULE_UPDATE_INTERVAL=86400000
- SCHEDULE_SKIP_RECENTLY_MIRRORED=true
- SCHEDULE_RECENT_THRESHOLD=3600000
- SCHEDULE_CLEANUP_BEFORE_MIRROR=false
- SCHEDULE_LOG_LEVEL=info
- SCHEDULE_TIMEZONE=Asia/Kolkata
- CLEANUP_ENABLED=true
- CLEANUP_RETENTION_DAYS=7
- CLEANUP_DELETE_FROM_GITEA=true
- CLEANUP_DELETE_IF_NOT_IN_GITHUB=true
- CLEANUP_ORPHANED_REPO_ACTION=archive
- CLEANUP_DRY_RUN=false
- CLEANUP_BATCH_SIZE=10
- CLEANUP_PAUSE_BETWEEN_DELETES=2000
volumes:
- /home/ubuntu/docker/stacks/app-data/gitea-mirror-backend:/app/data
labels:
- traefik.enable=true
- traefik.http.routers.gitea-mirror-backend-rtr.entrypoints=websecure
- traefik.http.routers.gitea-mirror-backend-rtr.rule=Host(`site-backend.example.com`)
- traefik.http.routers.gitea-mirror-backend-rtr.middlewares=chain-authelia@file
- traefik.http.routers.gitea-mirror-backend-rtr.service=gitea-mirror-backend-svc
- traefik.http.services.gitea-mirror-backend-svc.loadbalancer.server.port=4321
healthcheck:
test:
[
"CMD",
"wget",
"--no-verbose",
"--tries=3",
"--spider",
"http://localhost:4321/api/health",
]
interval: 30s
timeout: 10s
retries: 5
start_period: 15s
depends_on:
- gitea-mirror
restart: unless-stopped
networks:
proxy:
external: true
Env Variables probably related to issue
- GITEA_MIRROR_INTERVAL=8h
- SCHEDULE_ENABLED=true
- SCHEDULE_INTERVAL=3600
- SCHEDULE_UPDATE_INTERVAL=86400000
- SCHEDULE_SKIP_RECENTLY_MIRRORED=true
- SCHEDULE_RECENT_THRESHOLD=3600000
- CLEANUP_DELETE_FROM_GITEA=true
- CLEANUP_DELETE_IF_NOT_IN_GITHUB=true
- CLEANUP_ORPHANED_REPO_ACTION=archive
- CLEANUP_DRY_RUN=false
ISSUES
1 - The GITEA_MIRROR_INTERVAL=8h counts time from the container startup OR from the time the repo was mirrored? Because as you can see i have mirrored the repos at August 9, 2025 at 11:00 PM and the container was restarted at August 10, 2025 at 04:00 AM. Till now there was no logs of mirroring again.Even when -SCHEDULE_INTERVAL=3600
Reason - Probably because of ?
- SCHEDULE_UPDATE_INTERVAL=86400000
- SCHEDULE_SKIP_RECENTLY_MIRRORED=true
- SCHEDULE_RECENT_THRESHOLD=3600000
2 - I have removed star from the winlator repo yesterday but its still not deleted from gite/gitea-mirror. Even though these flags are there
- CLEANUP_DELETE_FROM_GITEA=true
- CLEANUP_DELETE_IF_NOT_IN_GITHUB=true
- CLEANUP_ORPHANED_REPO_ACTION=archive
- CLEANUP_DRY_RUN=false
Reason - Same as for 1
After Solving the above, I believe you can aslo close #50