mirror of
https://github.com/RayLabsHQ/gitea-mirror.git
synced 2025-12-09 13:06:45 +03:00
✨ Update Redis configuration and Docker setup; improve README and code structure for clarity
This commit is contained in:
@@ -98,6 +98,7 @@ docker run -d --name gitea-mirror-redis redis:alpine
|
|||||||
docker pull ghcr.io/arunavo4/gitea-mirror:latest
|
docker pull ghcr.io/arunavo4/gitea-mirror:latest
|
||||||
|
|
||||||
# Run the application with a link to the Redis container
|
# Run the application with a link to the Redis container
|
||||||
|
# Note: The REDIS_URL environment variable is required and must point to the Redis container
|
||||||
docker run -d -p 4321:4321 --link gitea-mirror-redis:redis \
|
docker run -d -p 4321:4321 --link gitea-mirror-redis:redis \
|
||||||
-e REDIS_URL=redis://redis:6379 \
|
-e REDIS_URL=redis://redis:6379 \
|
||||||
ghcr.io/arunavo4/gitea-mirror:latest
|
ghcr.io/arunavo4/gitea-mirror:latest
|
||||||
@@ -158,7 +159,7 @@ The Docker container can be configured with the following environment variables:
|
|||||||
- `HOST`: Host to bind to (default: `0.0.0.0`)
|
- `HOST`: Host to bind to (default: `0.0.0.0`)
|
||||||
- `PORT`: Port to listen on (default: `4321`)
|
- `PORT`: Port to listen on (default: `4321`)
|
||||||
- `JWT_SECRET`: Secret key for JWT token generation (important for security)
|
- `JWT_SECRET`: Secret key for JWT token generation (important for security)
|
||||||
- `REDIS_URL`: URL for Redis connection (required, default: none)
|
- `REDIS_URL`: URL for Redis connection (required, default: none). When using Docker Compose, this should be set to `redis://redis:6379` to connect to the Redis container.
|
||||||
|
|
||||||
|
|
||||||
#### Manual Installation
|
#### Manual Installation
|
||||||
|
|||||||
@@ -54,7 +54,7 @@ services:
|
|||||||
- redis
|
- redis
|
||||||
environment:
|
environment:
|
||||||
- NODE_ENV=development
|
- NODE_ENV=development
|
||||||
- DATABASE_URL=sqlite://data/gitea-mirror.db
|
- DATABASE_URL=file:data/gitea-mirror.db
|
||||||
- HOST=0.0.0.0
|
- HOST=0.0.0.0
|
||||||
- PORT=4321
|
- PORT=4321
|
||||||
- JWT_SECRET=dev-secret-key
|
- JWT_SECRET=dev-secret-key
|
||||||
@@ -75,6 +75,7 @@ services:
|
|||||||
- GITEA_ORGANIZATION=${GITEA_ORGANIZATION:-github-mirrors}
|
- GITEA_ORGANIZATION=${GITEA_ORGANIZATION:-github-mirrors}
|
||||||
- GITEA_ORG_VISIBILITY=${GITEA_ORG_VISIBILITY:-public}
|
- GITEA_ORG_VISIBILITY=${GITEA_ORG_VISIBILITY:-public}
|
||||||
- DELAY=${DELAY:-3600}
|
- DELAY=${DELAY:-3600}
|
||||||
|
- REDIS_URL=redis://redis:6379
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:4321/"]
|
test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:4321/"]
|
||||||
interval: 30s
|
interval: 30s
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
services:
|
services:
|
||||||
# Production service with real data
|
# Production service with real data
|
||||||
gitea-mirror:
|
gitea-mirror:
|
||||||
image: ${DOCKER_REGISTRY:-ghcr.io}/${DOCKER_IMAGE:-gitea-mirror}:${DOCKER_TAG:-latest}
|
image: ${DOCKER_REGISTRY:-ghcr.io}/${DOCKER_IMAGE:-arunavo4/gitea-mirror}:${DOCKER_TAG:-latest}
|
||||||
build:
|
build:
|
||||||
context: .
|
context: .
|
||||||
dockerfile: Dockerfile
|
dockerfile: Dockerfile
|
||||||
@@ -12,7 +12,7 @@ services:
|
|||||||
- linux/amd64
|
- linux/amd64
|
||||||
- linux/arm64
|
- linux/arm64
|
||||||
cache_from:
|
cache_from:
|
||||||
- ${DOCKER_REGISTRY:-ghcr.io}/${DOCKER_IMAGE:-gitea-mirror}:${DOCKER_TAG:-latest}
|
- ${DOCKER_REGISTRY:-ghcr.io}/${DOCKER_IMAGE:-arunavo4/gitea-mirror}:${DOCKER_TAG:-latest}
|
||||||
container_name: gitea-mirror
|
container_name: gitea-mirror
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
ports:
|
ports:
|
||||||
@@ -23,7 +23,7 @@ services:
|
|||||||
- redis
|
- redis
|
||||||
environment:
|
environment:
|
||||||
- NODE_ENV=production
|
- NODE_ENV=production
|
||||||
- DATABASE_URL=sqlite://data/gitea-mirror.db
|
- DATABASE_URL=file:data/gitea-mirror.db
|
||||||
- HOST=0.0.0.0
|
- HOST=0.0.0.0
|
||||||
- PORT=4321
|
- PORT=4321
|
||||||
- JWT_SECRET=${JWT_SECRET:-your-secret-key-change-this-in-production}
|
- JWT_SECRET=${JWT_SECRET:-your-secret-key-change-this-in-production}
|
||||||
@@ -44,6 +44,7 @@ services:
|
|||||||
- GITEA_ORGANIZATION=${GITEA_ORGANIZATION:-github-mirrors}
|
- GITEA_ORGANIZATION=${GITEA_ORGANIZATION:-github-mirrors}
|
||||||
- GITEA_ORG_VISIBILITY=${GITEA_ORG_VISIBILITY:-public}
|
- GITEA_ORG_VISIBILITY=${GITEA_ORG_VISIBILITY:-public}
|
||||||
- DELAY=${DELAY:-3600}
|
- DELAY=${DELAY:-3600}
|
||||||
|
- REDIS_URL=redis://redis:6379
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: ["CMD", "wget", "--no-verbose", "--tries=3", "--spider", "http://localhost:4321/"]
|
test: ["CMD", "wget", "--no-verbose", "--tries=3", "--spider", "http://localhost:4321/"]
|
||||||
interval: 30s
|
interval: 30s
|
||||||
|
|||||||
@@ -224,26 +224,25 @@ export function ConfigTabs() {
|
|||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
const generateDockerCode = () => {
|
const generateDockerCode = () => {
|
||||||
return `version: "3.3"
|
return `services:
|
||||||
services:
|
gitea-mirror:
|
||||||
gitea-mirror:
|
image: arunavo4/gitea-mirror:latest
|
||||||
image: arunavo4/gitea-mirror:latest
|
restart: unless-stopped
|
||||||
restart: unless-stopped
|
container_name: gitea-mirror
|
||||||
container_name: gitea-mirror
|
environment:
|
||||||
environment:
|
- GITHUB_USERNAME=${config.githubConfig.username}
|
||||||
- GITHUB_USERNAME=${config.githubConfig.username}
|
- GITEA_URL=${config.giteaConfig.url}
|
||||||
- GITEA_URL=${config.giteaConfig.url}
|
- GITEA_TOKEN=${config.giteaConfig.token}
|
||||||
- GITEA_TOKEN=${config.giteaConfig.token}
|
- GITHUB_TOKEN=${config.githubConfig.token}
|
||||||
- GITHUB_TOKEN=${config.githubConfig.token}
|
- SKIP_FORKS=${config.githubConfig.skipForks}
|
||||||
- SKIP_FORKS=${config.githubConfig.skipForks}
|
- PRIVATE_REPOSITORIES=${config.githubConfig.privateRepositories}
|
||||||
- PRIVATE_REPOSITORIES=${config.githubConfig.privateRepositories}
|
- MIRROR_ISSUES=${config.githubConfig.mirrorIssues}
|
||||||
- MIRROR_ISSUES=${config.githubConfig.mirrorIssues}
|
- MIRROR_STARRED=${config.githubConfig.mirrorStarred}
|
||||||
- MIRROR_STARRED=${config.githubConfig.mirrorStarred}
|
- PRESERVE_ORG_STRUCTURE=${config.githubConfig.preserveOrgStructure}
|
||||||
- PRESERVE_ORG_STRUCTURE=${config.githubConfig.preserveOrgStructure}
|
- SKIP_STARRED_ISSUES=${config.githubConfig.skipStarredIssues}
|
||||||
- SKIP_STARRED_ISSUES=${config.githubConfig.skipStarredIssues}
|
- GITEA_ORGANIZATION=${config.giteaConfig.organization}
|
||||||
- GITEA_ORGANIZATION=${config.giteaConfig.organization}
|
- GITEA_ORG_VISIBILITY=${config.giteaConfig.visibility}
|
||||||
- GITEA_ORG_VISIBILITY=${config.giteaConfig.visibility}
|
- DELAY=${config.scheduleConfig.interval}`;
|
||||||
- DELAY=${config.scheduleConfig.interval}`;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
const code = generateDockerCode();
|
const code = generateDockerCode();
|
||||||
|
|||||||
@@ -1,4 +1,8 @@
|
|||||||
import Redis from "ioredis";
|
import Redis from "ioredis";
|
||||||
|
|
||||||
export const redisPublisher = new Redis(); // For publishing
|
// Connect to Redis using REDIS_URL environment variable or default to redis://redis:6379
|
||||||
export const redisSubscriber = new Redis(); // For subscribing
|
const redisUrl = process.env.REDIS_URL ?? 'redis://redis:6379';
|
||||||
|
|
||||||
|
export const redis = new Redis(redisUrl);
|
||||||
|
export const redisPublisher = new Redis(redisUrl); // For publishing
|
||||||
|
export const redisSubscriber = new Redis(redisUrl); // For subscribing
|
||||||
|
|||||||
Reference in New Issue
Block a user