mirror of
https://github.com/RayLabsHQ/gitea-mirror.git
synced 2025-12-07 20:16:46 +03:00
122 lines
3.4 KiB
Markdown
122 lines
3.4 KiB
Markdown
# Scripts Directory
|
|
|
|
This folder contains utility scripts for database management, event management, Docker builds, and LXC container deployment.
|
|
|
|
## Database Management
|
|
|
|
### Database Management Tool (manage-db.ts)
|
|
|
|
This is a consolidated database management tool that handles all database-related operations. It combines the functionality of the previous separate scripts into a single, more intelligent script that can check, fix, and initialize the database as needed.
|
|
|
|
#### Features
|
|
|
|
- **Check Mode**: Validates the existence and integrity of the database
|
|
- **Init Mode**: Creates the database only if it doesn't already exist
|
|
- **Fix Mode**: Corrects database file location issues
|
|
- **Reset Users Mode**: Removes all users and their data
|
|
- **Auto Mode**: Automatically checks, fixes, and initializes the database if needed
|
|
|
|
#### Running the Database Management Tool
|
|
|
|
You can execute the database management tool using your package manager with various commands:
|
|
|
|
```bash
|
|
# Checks database status (default action if no command is specified)
|
|
bun run manage-db
|
|
|
|
# Check database status
|
|
bun run check-db
|
|
|
|
# Initialize the database (only if it doesn't exist)
|
|
bun run init-db
|
|
|
|
# Fix database location issues
|
|
bun run fix-db
|
|
|
|
# Automatic check, fix, and initialize if needed
|
|
bun run db-auto
|
|
|
|
# Reset all users (for testing signup flow)
|
|
bun run reset-users
|
|
|
|
# Remove database files completely
|
|
bun run cleanup-db
|
|
|
|
# Complete setup (install dependencies and initialize database)
|
|
bun run setup
|
|
|
|
# Start development server with a fresh database
|
|
bun run dev:clean
|
|
|
|
# Start production server with a fresh database
|
|
bun run start:fresh
|
|
```
|
|
|
|
#### Database File Location
|
|
|
|
The database file should be located in the `./data/gitea-mirror.db` directory. If the file is found in the root directory, the fix mode will move it to the correct location.
|
|
|
|
## Event Management
|
|
|
|
The following scripts help manage events in the SQLite database:
|
|
|
|
### Event Inspection (check-events.ts)
|
|
|
|
Displays all events currently stored in the database.
|
|
|
|
```bash
|
|
bun scripts/check-events.ts
|
|
```
|
|
|
|
### Event Cleanup (cleanup-events.ts)
|
|
|
|
Removes old events from the database to prevent it from growing too large.
|
|
|
|
```bash
|
|
# Remove events older than 7 days (default)
|
|
bun scripts/cleanup-events.ts
|
|
|
|
# Remove events older than X days
|
|
bun scripts/cleanup-events.ts 14
|
|
```
|
|
|
|
This script can be scheduled to run periodically (e.g., daily) using cron or another scheduler.
|
|
|
|
### Mark Events as Read (mark-events-read.ts)
|
|
|
|
Marks all unread events as read.
|
|
|
|
```bash
|
|
bun scripts/mark-events-read.ts
|
|
```
|
|
|
|
### Make Events Appear Older (make-events-old.ts)
|
|
|
|
For testing purposes, this script modifies event timestamps to make them appear older.
|
|
|
|
```bash
|
|
bun scripts/make-events-old.ts
|
|
```
|
|
|
|
## Deployment Scripts
|
|
|
|
### Docker Deployment
|
|
|
|
- **build-docker.sh**: Builds the Docker image for the application
|
|
- **docker-diagnostics.sh**: Provides diagnostic information for Docker deployments
|
|
|
|
### LXC Container Deployment
|
|
|
|
Two scripts are provided for deploying Gitea Mirror in LXC containers:
|
|
|
|
1. **gitea-mirror-lxc-proxmox.sh**: For online deployment on a Proxmox VE host
|
|
- Pulls everything from GitHub
|
|
- Creates a privileged container with the application
|
|
- Sets up systemd service
|
|
|
|
2. **gitea-mirror-lxc-local.sh**: For offline/LAN-only deployment on a developer laptop
|
|
- Pushes your local checkout + Bun ZIP to the container
|
|
- Useful for testing without internet access
|
|
|
|
For detailed instructions on LXC deployment, see [README-lxc.md](./README-lxc.md).
|