server command starts the ArchiveBox web interface, providing a graphical admin UI, background orchestrator, and API access.
Basic Usage
docker
What It Provides
Web UI
- Public Index - Browse archived snapshots
- Admin Interface - Manage snapshots, crawls, tags, and settings
- Add URLs - Web form for adding new archives
- Search - Full-text search across archives
- API - REST API for programmatic access
Background Services
- Orchestrator - Processes archiving queue
- Workers - Parallel extraction workers
- Schedulers - Handles periodic tasks
Server Modes
Production Mode (Default)
Runs with supervisord managing multiple workers:- Daphne (ASGI web server)
- Orchestrator (background worker)
- Automatic restart on crashes
- Process management via supervisord
- Web UI: http://127.0.0.1:8000
- Admin: http://127.0.0.1:8000/admin
Development Mode
Runs Django’s development server with debugging:- Auto-reload on code changes (
--reload) - Detailed error pages
- Debug toolbar
- Single-threaded execution
Options
Custom Host/Port
Specify bind address and port:127.0.0.1:8000
--reload
Enable auto-reload on code/template changes (development):
- Plugin development
- Template customization
- Configuration testing
--debug
Enable DEBUG mode with verbose errors:
- Full error tracebacks
- SQL queries
- Template rendering details
- Debug toolbar
--init
Run archivebox init --quick before starting server:
- First-time setup
- Automated deployments
- Container startup
--nothreading
Force single-threaded mode (debug only):
--daemonize
Run server in background as daemon:
Examples
Start Server (Default)
Start on Different Port
Listen on All Interfaces
Make server accessible from network:Development Mode
Start with auto-reload and debugging:Initialize and Start
Setup and start in one command:Background Daemon
Run server as background process:Docker Server
Using docker-compose:Creating Admin User
Before accessing the admin UI, create a superuser:docker-compose.yml
Accessing the UI
Public Index
http://127.0.0.1:8000 Browse archived snapshots (ifPUBLIC_INDEX=true).
Admin Interface
http://127.0.0.1:8000/admin Full control panel:- Manage snapshots and crawls
- View archiving status
- Configure settings
- Manage users and permissions
- View logs
Add URLs
http://127.0.0.1:8000/add Web form for adding new URLs.API
http://127.0.0.1:8000/api REST API for programmatic access.Background Processing
When server is running, it automatically:- Processes queue - Archives queued snapshots
- Runs extractors - Executes plugins in parallel
- Updates status - Tracks progress in real-time
- Retries failures - Re-attempts failed archives
Monitoring Workers
Check orchestrator status:Stopping the Server
Graceful Shutdown
PressCtrl+C in the terminal:
Force Kill
If server doesn’t respond:Docker Shutdown
Reverse Proxy Setup
For production, use nginx or Apache:Nginx Example
Apache Example
Configuration
Server Settings
Configure viaarchivebox config:
Environment Variables
Or use environment variables:Troubleshooting
Port already in use
Server already running
Cannot create admin user
Workers not processing queue
Check orchestrator is running:Permission errors
Solution: Check file ownership:Related Commands
add
Queue URLs via CLI
manage
Django management commands
config
Configure server settings
status
Check server health
Production Deployment
Systemd Service
Create/etc/systemd/system/archivebox.service:
Docker Compose Production
docker-compose.yml
Best Practices
- Use reverse proxy - nginx/Apache for SSL and caching
- Set strong passwords - For admin accounts
- Disable public access - Unless needed:
PUBLIC_INDEX=false - Monitor logs -
tail -f logs/errors.log - Regular backups - Backup
index.sqlite3andarchive/ - Use systemd - For automatic restart and logging
- Firewall rules - Restrict access to trusted IPs
- SSL/TLS - Use HTTPS via reverse proxy