mirror of
https://github.com/RayLabsHQ/gitea-mirror.git
synced 2025-12-08 20:46:44 +03:00
183 lines
5.7 KiB
Markdown
183 lines
5.7 KiB
Markdown
---
|
|
title: "Quick Start Guide"
|
|
description: "Get started with Gitea Mirror quickly."
|
|
order: 3
|
|
updatedDate: 2025-05-22
|
|
---
|
|
|
|
<div class="mb-6">
|
|
<h1 class="text-2xl font-bold text-foreground">Gitea Mirror Quick Start Guide</h1>
|
|
<p class="text-muted-foreground mt-2">This guide will help you get Gitea Mirror up and running quickly.</p>
|
|
</div>
|
|
|
|
## Prerequisites
|
|
|
|
Before you begin, make sure you have:
|
|
|
|
1. <span class="font-semibold text-foreground">A GitHub account with a personal access token</span>
|
|
2. <span class="font-semibold text-foreground">A Gitea instance with an access token</span>
|
|
3. <span class="font-semibold text-foreground">One of the following:</span>
|
|
- Docker and docker-compose (for Docker deployment)
|
|
- Bun 1.2.9+ (for native deployment)
|
|
- Proxmox VE or LXD (for LXC container deployment)
|
|
|
|
## Installation Options
|
|
|
|
Choose the installation method that works best for your environment.
|
|
|
|
### Using Docker (Recommended for most users)
|
|
|
|
Docker provides the easiest way to get started with minimal configuration.
|
|
|
|
1. Clone the repository:
|
|
```bash
|
|
git clone https://github.com/arunavo4/gitea-mirror.git
|
|
cd gitea-mirror
|
|
```
|
|
|
|
2. Start the application in production mode:
|
|
```bash
|
|
docker-compose --profile production up -d
|
|
```
|
|
|
|
3. Access the application at [http://localhost:4321](http://localhost:4321)
|
|
|
|
### Using Bun (Native Installation)
|
|
|
|
If you prefer to run the application directly on your system:
|
|
|
|
1. Clone the repository:
|
|
```bash
|
|
git clone https://github.com/arunavo4/gitea-mirror.git
|
|
cd gitea-mirror
|
|
```
|
|
|
|
2. Run the quick setup script:
|
|
```bash
|
|
bun run setup
|
|
```
|
|
This installs dependencies and initializes the database.
|
|
|
|
3. Choose how to run the application:
|
|
|
|
**Development Mode:**
|
|
```bash
|
|
bun run dev
|
|
```
|
|
|
|
Note: For Bun-specific features, use:
|
|
```bash
|
|
bunx --bun astro dev
|
|
```
|
|
|
|
**Production Mode:**
|
|
```bash
|
|
bun run build
|
|
bun run start
|
|
```
|
|
|
|
4. Access the application at [http://localhost:4321](http://localhost:4321)
|
|
|
|
### Using LXC Containers (Recommended for server deployments)
|
|
|
|
#### Proxmox VE (Online Installation)
|
|
|
|
For deploying on a Proxmox VE host with internet access:
|
|
|
|
```bash
|
|
# Optional env overrides: CTID HOSTNAME STORAGE DISK_SIZE CORES MEMORY BRIDGE IP_CONF
|
|
sudo bash -c "$(curl -fsSL https://raw.githubusercontent.com/arunavo4/gitea-mirror/main/scripts/gitea-mirror-lxc-proxmox.sh)"
|
|
```
|
|
|
|
This script:
|
|
- Creates a privileged LXC container
|
|
- Installs Bun and dependencies
|
|
- Clones and builds the application
|
|
- Sets up a systemd service
|
|
|
|
#### Local LXD (Offline-friendly Installation)
|
|
|
|
For testing on a local workstation or in environments without internet access:
|
|
|
|
1. Clone the repository locally:
|
|
```bash
|
|
git clone https://github.com/arunavo4/gitea-mirror.git
|
|
```
|
|
|
|
2. Download the Bun installer once:
|
|
```bash
|
|
curl -L -o /tmp/bun-linux-x64.zip https://github.com/oven-sh/bun/releases/latest/download/bun-linux-x64.zip
|
|
```
|
|
|
|
3. Run the local LXC installer:
|
|
```bash
|
|
sudo LOCAL_REPO_DIR=~/path/to/gitea-mirror ./gitea-mirror/scripts/gitea-mirror-lxc-local.sh
|
|
```
|
|
|
|
For more details on LXC deployment, see the [LXC Container Deployment Guide](https://github.com/arunavo4/gitea-mirror/blob/main/scripts/README-lxc.md).
|
|
|
|
## Initial Configuration
|
|
|
|
Follow these steps to configure Gitea Mirror for first use:
|
|
|
|
1. **Create Admin Account**
|
|
- Upon first access, you'll be prompted to create an admin account
|
|
- Choose a secure username and password
|
|
- This will be your administrator account
|
|
|
|
2. **Configure GitHub Connection**
|
|
- Navigate to the Configuration page
|
|
- Enter your GitHub username
|
|
- Enter your GitHub personal access token
|
|
- Select which repositories to mirror (all, starred, organizations)
|
|
- Configure repository filtering options
|
|
|
|
3. **Configure Gitea Connection**
|
|
- Enter your Gitea server URL
|
|
- Enter your Gitea access token
|
|
- Configure organization and visibility settings
|
|
|
|
4. **Set Up Scheduling (Optional)**
|
|
- Enable automatic mirroring if desired
|
|
- Set the mirroring interval (in seconds)
|
|
|
|
5. **Save Configuration**
|
|
- Click the "Save" button to store your settings
|
|
|
|
## Performing Your First Mirror
|
|
|
|
After completing the configuration, you can start mirroring repositories:
|
|
|
|
1. Click "Import GitHub Data" to fetch repositories from GitHub
|
|
2. Go to the Repositories page to view your imported repositories
|
|
3. Select the repositories you want to mirror
|
|
4. Click "Mirror Selected" to start the mirroring process
|
|
5. Monitor the progress on the Activity page
|
|
6. You'll receive toast notifications about the success or failure of operations
|
|
|
|
## Troubleshooting
|
|
|
|
If you encounter any issues:
|
|
|
|
- Check the Activity Log for detailed error messages
|
|
- Verify your GitHub and Gitea tokens have the correct permissions
|
|
- Ensure your Gitea instance is accessible from the machine running Gitea Mirror
|
|
- Check logs based on your deployment method:
|
|
- Docker: `docker logs gitea-mirror`
|
|
- Native: Check the terminal output or system logs
|
|
- LXC: `systemctl status gitea-mirror` or `journalctl -u gitea-mirror -f`
|
|
- Use the health check endpoint to verify system status: `curl http://your-server:4321/api/health`
|
|
- For database issues, try the database management tools: `bun run check-db` or `bun run fix-db`
|
|
|
|
## Next Steps
|
|
|
|
After your initial setup:
|
|
|
|
- Explore the dashboard for an overview of your mirroring status
|
|
- Set up automatic mirroring schedules for hands-off operation
|
|
- Configure organization mirroring for team repositories
|
|
- Check out the [Configuration Guide](/configuration) for advanced settings
|
|
- Review the [Architecture Documentation](/architecture) to understand the system
|
|
- For server deployments, set up monitoring using the health check endpoint
|
|
- Consider setting up a cron job to clean up old events: `bun scripts/cleanup-events.ts`
|