Skip to content

Commit 4419c16

Browse files
readme adjustments
1 parent bda8337 commit 4419c16

File tree

1 file changed

+76
-20
lines changed

1 file changed

+76
-20
lines changed

README.md

Lines changed: 76 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,23 @@ A comprehensive web-based solution for backing up GitHub repositories with sched
66

77
## Features
88

9-
- **Web UI with Authentication**: Secure login system with user management
10-
- **Repository Management**: Add, edit, and delete GitHub repositories for backup
9+
- **Web UI with Authentication**: Secure login system with automatic admin user creation
10+
- **Password Reset System**: Forgot password functionality with server-logged reset codes
11+
- **Repository Management**: Add, edit, delete, and manually trigger backups for GitHub repositories
1112
- **Multiple Backup Formats**: Support for folder structure, ZIP, and TAR.GZ archives
12-
- **Flexible Scheduling**: Manual, hourly, daily, weekly, and monthly backup schedules
13-
- **Retention Policies**: Configurable backup retention with automatic cleanup
13+
- **Flexible Scheduling**:
14+
- Manual backup triggering
15+
- Predefined schedules: Hourly, Daily (2 AM), Weekly (Sunday 2 AM), Monthly (1st, 2 AM)
16+
- Custom schedules: Every X days/weeks/months at specified time
17+
- **Retention Policies**: Configurable backup retention (1-50 versions) with automatic cleanup
1418
- **Private Repository Support**: Works with GitHub Personal Access Tokens
15-
- **Job Monitoring**: Track backup job status and view error logs
16-
- **Docker Ready**: Fully containerized with health checks
19+
- **Dashboard Overview**: Statistics cards showing repository count, active repos, completed and failed jobs
20+
- **Job Monitoring**:
21+
- Real-time backup job status tracking (running, completed, failed)
22+
- Detailed backup job history with timestamps
23+
- Recent jobs display on dashboard
24+
- **User Settings**: Change username and password functionality
25+
- **Docker Ready**: Fully containerized with health checks and proper user permissions
1726

1827
## Quick Start
1928

@@ -38,7 +47,10 @@ docker-compose up -d
3847

3948
4. Access the web interface at `http://localhost:8080`
4049

41-
5. Create your admin account (first user becomes admin automatically)
50+
5. Login with default credentials (created automatically):
51+
- **Username**: `admin`
52+
- **Password**: `changeme`
53+
- ⚠️ **Important**: Change the default password immediately after first login via Settings
4254

4355
### Using Pre-built Docker Image
4456

@@ -60,7 +72,9 @@ docker run -d \
6072
| Variable | Description | Default |
6173
|----------|-------------|---------|
6274
| `SECRET_KEY` | Flask secret key for sessions | `dev-secret-key-change-in-production` |
63-
| `LOG_LEVEL` | Logging level | `INFO` |
75+
| `DATABASE_URL` | SQLite database file path | `sqlite:////app/data/github_backup.db` |
76+
| `PUID` | User ID for file permissions | `1000` |
77+
| `PGID` | Group ID for file permissions | `1000` |
6478

6579
### GitHub Token Setup
6680

@@ -78,15 +92,52 @@ For private repositories, you'll need a GitHub Personal Access Token:
7892

7993
## Scheduling Options
8094

81-
- **Manual**: Backup only when triggered manually
95+
- **Manual**: Backup only when triggered manually via the web interface
8296
- **Hourly**: Every hour at minute 0
8397
- **Daily**: Every day at 2:00 AM
84-
- **Weekly**: Every Sunday at 2:00 AM
98+
- **Weekly**: Every Sunday at 2:00 AM
8599
- **Monthly**: 1st of every month at 2:00 AM
100+
- **Custom**: Every X days/weeks/months at a specified time
101+
- Days: 1-365 day intervals
102+
- Weeks: 1-52 week intervals
103+
- Months: 1-12 month intervals
104+
- Custom time selection (24-hour format)
105+
106+
## Web Interface
107+
108+
The application provides a modern, responsive web interface with:
109+
110+
### Dashboard
111+
- Repository statistics (total, active, completed backups, failed jobs)
112+
- Recent repositories overview with status indicators
113+
- Recent backup jobs with real-time status
114+
- Quick access to add new repositories
115+
116+
### Repository Management
117+
- Add repositories with GitHub URL
118+
- Configure backup format (Folder, ZIP, TAR.GZ)
119+
- Set up scheduling (predefined or custom intervals)
120+
- Configure retention policies (1-50 backup versions)
121+
- Edit repository settings
122+
- Manual backup triggering
123+
- Repository activation/deactivation
124+
125+
### Backup Jobs
126+
- Real-time job status monitoring
127+
- Complete backup history with timestamps
128+
- Job status indicators (running, completed, failed)
129+
- Auto-refresh for running jobs
130+
131+
### User Management
132+
- Secure login system
133+
- Password reset functionality (codes logged to server)
134+
- User settings (change username/password)
135+
- Automatic admin user creation on first run
86136

87137
## API Endpoints
88138

89-
- `GET /health` - Health check endpoint
139+
- `GET /health` - Health check endpoint for monitoring
140+
- `GET /favicon.ico` - Application favicon
90141
- Web interface available at `/` (requires authentication)
91142

92143
## Development
@@ -116,11 +167,13 @@ docker build -t github-backup .
116167

117168
## Security Considerations
118169

119-
- Change the default `SECRET_KEY` in production
120-
- Use strong passwords for user accounts
121-
- GitHub tokens are stored encrypted in the database
122-
- The application runs as non-root user in Docker
123-
- Regular security updates are recommended
170+
- **Change default credentials**: The application creates a default admin user (`admin`/`changeme`) - change this immediately
171+
- **Change the SECRET_KEY**: Use a strong, unique secret key in production
172+
- **Use strong passwords**: Enforce strong passwords for all user accounts
173+
- **GitHub tokens**: Personal Access Tokens are stored in the database for private repository access
174+
- **Container security**: The application runs as non-root user in Docker with configurable PUID/PGID
175+
- **Regular updates**: Keep the application and dependencies updated for security patches
176+
- **Password reset**: Reset codes are logged to server logs for manual distribution
124177

125178
## Backup Storage
126179

@@ -139,10 +192,13 @@ Backups are organized as follows:
139192

140193
## Monitoring
141194

142-
- View backup job status in the web interface
143-
- Check container health: `docker healthcheck github-backup`
144-
- Monitor logs: `docker logs github-backup`
145-
- Logs are also available in `/app/logs/` directory
195+
- **Web Interface**: Real-time backup job status and repository management
196+
- **Dashboard**: Visual overview of repository count, active repos, and job statistics
197+
- **Job History**: Complete backup job history with timestamps and status
198+
- **Container Health**: `docker healthcheck github-backup`
199+
- **Application Logs**: `docker logs github-backup`
200+
- **Persistent Logs**: Available in `/app/logs/` directory inside container
201+
- **Health Endpoint**: `GET /health` returns JSON status for external monitoring
146202

147203
## Contributing
148204

0 commit comments

Comments
 (0)