This guide explains how to run the Field Recording Manager using Docker.
- Docker
- Docker Compose
-
Clone the repository (if not already done):
git clone <repository-url> cd fieldrecordingmanager
-
Build and start the container:
docker-compose up -d
-
Access the application: Open your browser and go to:
http://localhost:8080
- 8080: Web interface (HTTP)
The following directories are persisted:
field_recordings_data: Database and application datafield_recordings_uploads: Audio file uploadsfield_recordings_logs: Application logs
- PHP 8.2 with Apache
- SQLite database
- Apache modules: rewrite, headers
docker-compose up -ddocker-compose downdocker-compose logs -f field_recordingsdocker-compose down
docker-compose build --no-cache
docker-compose up -ddocker exec -it field_recordings_manager bashTo backup your data:
# Backup volumes
docker run --rm -v field_recordings_data:/data -v $(pwd):/backup alpine tar czf /backup/data-backup.tar.gz -C /data .
docker run --rm -v field_recordings_uploads:/data -v $(pwd):/backup alpine tar czf /backup/uploads-backup.tar.gz -C /data .To restore:
# Restore volumes
docker run --rm -v field_recordings_data:/data -v $(pwd):/backup alpine tar xzf /backup/data-backup.tar.gz -C /data
docker run --rm -v field_recordings_uploads:/data -v $(pwd):/backup alpine tar xzf /backup/uploads-backup.tar.gz -C /datadocker-compose psdocker inspect field_recordings_manager | grep Health -A 10docker-compose down -v
docker-compose up -d- The application runs as
www-datauser inside the container - Upload and data directories have appropriate permissions
- Apache is configured with security headers
- SQLite database is stored in a persistent volume
- The container includes health checks
- Automatic restart on failure
- Optimized file permissions
- Efficient Docker layer caching