2.5 KiB
2.5 KiB
DosVault Docker Deployment
Quick Start
-
Copy the environment template:
cp .env.example .env -
Edit
.envwith your configuration:- Set
IGDB_CLIENT_IDandIGDB_SECRET_KEY(required) - Set
ROMS_PATHto your ROM collection directory - Optionally customize host/port settings
- Set
-
Start the application:
docker-compose up -d -
Create admin user:
docker-compose exec dosvault python src/create_admin.py -
Access the application:
- Web interface: http://localhost:8080
- Admin panel: http://localhost:8080/admin
Configuration
Environment Variables
| Variable | Required | Description |
|---|---|---|
IGDB_CLIENT_ID |
Yes | Twitch API Client ID |
IGDB_SECRET_KEY |
Yes | Twitch API Client Secret |
ROMS_PATH |
No | Path to ROM collection (default: ./roms) |
DOSFRONTEND_CONFIG_DIR |
No | Application data directory (default: /app/data) |
Configuration Persistence
Configuration changes made through the web interface are automatically persisted to the mounted volume:
- In Docker: Configuration is stored in
/app/data/config.json(mounted volume) - Regular install: Configuration is stored in
~/.config/dosfrontend/config.json - File structure: All application data uses the same base directory:
config.json- Main configuration fileroms.db- SQLite databaseimages/- Downloaded game artworklogs/- Application logs
Volume Mounts
dosvault_data:/app/data- Application data (database, images, logs)${ROMS_PATH}:/app/data/roms:ro- ROM collection (read-only)
Database Management
Initialize Database
docker-compose exec dosvault python src/migrate.py db-init
Run Migrations
docker-compose exec dosvault python src/migrate.py upgrade
Scrape ROM Metadata
docker-compose exec dosvault python -m src
Maintenance
View Logs
docker-compose logs -f dosvault
Backup Database
docker-compose exec dosvault cp /app/data/roms.db /app/data/backup.db
docker cp $(docker-compose ps -q dosvault):/app/data/backup.db ./backup.db
Update Application
docker-compose pull
docker-compose up -d
Troubleshooting
Check Container Health
docker-compose ps
Access Container Shell
docker-compose exec dosvault bash
Reset Data
docker-compose down -v
docker-compose up -d