mirror of
https://github.com/advplyr/audiobookshelf.git
synced 2026-07-09 19:01:41 +00:00
3.3 KiB
3.3 KiB
Audiobookshelf Deployment Guide
Prerequisites
- Docker Desktop (for local deployment)
- Portainer (optional, for container management)
- At least 1GB of free RAM
- Sufficient disk space for your audiobooks and metadata
Directory Structure
audiobookshelf/
├── audiobooks/ # Your audiobooks directory
├── podcasts/ # Your podcasts directory
├── metadata/ # Application metadata
├── config/ # Configuration files
├── client/ # Frontend source code
├── server/ # Backend source code
├── Dockerfile # Docker build instructions
└── docker-compose.prod.yml
External Directories:
/libraries/ # Additional media libraries directory (customizable path)
Deployment Steps
Using Docker Desktop
-
Create the required directories:
mkdir -p audiobooks podcasts metadata config -
Configure your libraries path: Edit
docker-compose.prod.ymland modify the libraries volume mount to point to your desired path:volumes: - /path/to/your/libraries:/libraries -
Build and start the application:
# Build the image docker compose -f docker-compose.prod.yml build # Start the containers docker compose -f docker-compose.prod.yml up -d -
Access the application at
http://localhost:13378
Using Portainer
- In Portainer, go to "Stacks" and click "Add Stack"
- Give your stack a name (e.g., "audiobookshelf")
- Copy the contents of
docker-compose.prod.ymlinto the web editor - Modify the libraries volume mount path to match your system
- Enable "Build Image" option in Portainer
- Click "Deploy the stack"
Configuration
- The application runs on port 13378 by default
- Data is persisted in the mounted volumes:
./audiobooks: Default audiobooks directory./podcasts: Default podcasts directory./metadata: Application metadata./config: Configuration files/libraries: Additional media libraries (customize path in docker-compose.prod.yml)
- Timezone can be configured in the docker-compose file
- User/Group IDs can be set via PUID/PGID environment variables
Post-Installation
- On first run, create an admin account
- Configure your libraries in the web interface:
- Set up the default audiobooks and podcasts directories
- Add additional libraries from the
/librariesmount point
- Add your media files to the appropriate directories
Updating
When you make changes to your code:
# Rebuild the image with your changes
docker compose -f docker-compose.prod.yml build
# Restart the containers with the new image
docker compose -f docker-compose.prod.yml up -d
Backup
Important directories to backup:
config/- Contains application settings and databasemetadata/- Contains metadata for your mediaaudiobooks/andpodcasts/- Your media files- Any additional libraries you've configured
Troubleshooting
- Check container logs:
docker logs audiobookshelf - Ensure proper file permissions on mounted volumes
- Verify port 13378 is not in use by another application
- Check resource usage in Docker Desktop dashboard
- Build logs:
docker compose -f docker-compose.prod.yml build --progress=plain - Check that all volume mount paths exist and are accessible
- Verify file permissions on the libraries directory