# 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)