Sanitized mirror from private repository - 2026-04-18 11:19:59 UTC
This commit is contained in:
182
hosts/vms/seattle/wallabag/README.md
Normal file
182
hosts/vms/seattle/wallabag/README.md
Normal file
@@ -0,0 +1,182 @@
|
||||
# Wallabag - Read-Later Service
|
||||
|
||||
## 📋 Overview
|
||||
|
||||
Wallabag is a self-hosted read-later application that allows you to save articles, web pages, and other content to read later. It's similar to Pocket or Instapaper but completely self-hosted.
|
||||
|
||||
## 🔧 Service Details
|
||||
|
||||
| Property | Value |
|
||||
|----------|-------|
|
||||
| **Container Name** | `wallabag` |
|
||||
| **Image** | `wallabag/wallabag:latest` |
|
||||
| **Internal Port** | 80 |
|
||||
| **Host Port** | 127.0.0.1:8880 |
|
||||
| **Domain** | `wb.vish.gg` |
|
||||
| **Database** | SQLite (embedded) |
|
||||
|
||||
## 🌐 Network Access
|
||||
|
||||
- **Public URL**: `https://wb.vish.gg`
|
||||
- **Local Access**: `http://127.0.0.1:8880`
|
||||
- **Reverse Proxy**: Nginx configuration in `/etc/nginx/sites-enabled/wallabag`
|
||||
|
||||
## 📁 Directory Structure
|
||||
|
||||
```
|
||||
/opt/wallabag/
|
||||
├── docker-compose.yml # Service configuration
|
||||
├── data/ # Application data
|
||||
│ ├── db/ # SQLite database
|
||||
│ └── assets/ # User uploads
|
||||
└── images/ # Article images
|
||||
```
|
||||
|
||||
## 🚀 Management Commands
|
||||
|
||||
### Docker Operations
|
||||
```bash
|
||||
# Navigate to service directory
|
||||
cd /opt/wallabag/
|
||||
|
||||
# Start service
|
||||
docker-compose up -d
|
||||
|
||||
# Stop service
|
||||
docker-compose down
|
||||
|
||||
# Restart service
|
||||
docker-compose restart
|
||||
|
||||
# View logs
|
||||
docker-compose logs -f
|
||||
|
||||
# Update service
|
||||
docker-compose pull
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
### Container Management
|
||||
```bash
|
||||
# Check container status
|
||||
docker ps | grep wallabag
|
||||
|
||||
# Execute commands in container
|
||||
docker exec -it wallabag bash
|
||||
|
||||
# View container logs
|
||||
docker logs wallabag -f
|
||||
|
||||
# Check container health
|
||||
docker inspect wallabag | grep -A 10 Health
|
||||
```
|
||||
|
||||
## ⚙️ Configuration
|
||||
|
||||
### Environment Variables
|
||||
- **Database**: SQLite (no external database required)
|
||||
- **Domain**: `https://wb.vish.gg`
|
||||
- **Registration**: Disabled (`FOSUSER_REGISTRATION=false`)
|
||||
- **Email Confirmation**: Disabled (`FOSUSER_CONFIRMATION=false`)
|
||||
|
||||
### Volume Mounts
|
||||
- **Data**: `/opt/wallabag/data` → `/var/www/wallabag/data`
|
||||
- **Images**: `/opt/wallabag/images` → `/var/www/wallabag/web/assets/images`
|
||||
|
||||
### Health Check
|
||||
- **Endpoint**: `http://localhost:80`
|
||||
- **Interval**: 30 seconds
|
||||
- **Timeout**: 10 seconds
|
||||
- **Retries**: 3
|
||||
|
||||
## 🔒 Security Features
|
||||
|
||||
- **Local Binding**: Only accessible via localhost (127.0.0.1:8880)
|
||||
- **Nginx Proxy**: SSL termination and security headers
|
||||
- **Registration Disabled**: Prevents unauthorized account creation
|
||||
- **Data Isolation**: Runs in isolated Docker container
|
||||
|
||||
## 📱 Usage
|
||||
|
||||
### Web Interface
|
||||
1. Access via `https://wb.vish.gg`
|
||||
2. Log in with configured credentials
|
||||
3. Use browser extension or bookmarklet to save articles
|
||||
4. Organize with tags and categories
|
||||
5. Export/import data as needed
|
||||
|
||||
### Browser Extensions
|
||||
- Available for Chrome, Firefox, and other browsers
|
||||
- Allows one-click saving of web pages
|
||||
- Automatic tagging and categorization
|
||||
|
||||
## 🔧 Maintenance
|
||||
|
||||
### Backup
|
||||
```bash
|
||||
# Backup data directory
|
||||
tar -czf wallabag-backup-$(date +%Y%m%d).tar.gz /opt/wallabag/data/
|
||||
|
||||
# Backup database only
|
||||
cp /opt/wallabag/data/db/wallabag.sqlite /backup/location/
|
||||
```
|
||||
|
||||
### Updates
|
||||
```bash
|
||||
cd /opt/wallabag/
|
||||
docker-compose pull
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
### Database Maintenance
|
||||
```bash
|
||||
# Access SQLite database
|
||||
docker exec -it wallabag sqlite3 /var/www/wallabag/data/db/wallabag.sqlite
|
||||
|
||||
# Check database size
|
||||
du -sh /opt/wallabag/data/db/wallabag.sqlite
|
||||
```
|
||||
|
||||
## 🐛 Troubleshooting
|
||||
|
||||
### Common Issues
|
||||
```bash
|
||||
# Container won't start
|
||||
docker-compose logs wallabag
|
||||
|
||||
# Permission issues
|
||||
sudo chown -R 33:33 /opt/wallabag/data/
|
||||
sudo chmod -R 755 /opt/wallabag/data/
|
||||
|
||||
# Database corruption
|
||||
# Restore from backup or recreate container
|
||||
|
||||
# Nginx proxy issues
|
||||
sudo nginx -t
|
||||
sudo systemctl reload nginx
|
||||
```
|
||||
|
||||
### Health Check
|
||||
```bash
|
||||
# Test local endpoint
|
||||
curl -I http://127.0.0.1:8880
|
||||
|
||||
# Test public endpoint
|
||||
curl -I https://wb.vish.gg
|
||||
|
||||
# Check container health
|
||||
docker inspect wallabag | grep -A 5 '"Health"'
|
||||
```
|
||||
|
||||
## 🔗 Related Services
|
||||
|
||||
- **Nginx**: Reverse proxy with SSL termination
|
||||
- **Let's Encrypt**: SSL certificate management
|
||||
- **Docker**: Container runtime
|
||||
|
||||
## 📚 External Resources
|
||||
|
||||
- [Wallabag Documentation](https://doc.wallabag.org/)
|
||||
- [Docker Hub](https://hub.docker.com/r/wallabag/wallabag)
|
||||
- [GitHub Repository](https://github.com/wallabag/wallabag)
|
||||
- [Browser Extensions](https://wallabag.org/en/download)
|
||||
Reference in New Issue
Block a user