Skip to content
On this page

Configuration

Configure Shelves using environment variables.

Environment Variables

VariableDefaultDescription
SHELVES_PORT9000S3 API port
SHELVES_ADMIN_PORT9001Admin dashboard port
SHELVES_DATA_DIR./dataStorage directory
SHELVES_ACCESS_KEYshelvesadminDefault access key
SHELVES_SECRET_KEYshelvesadminDefault secret key

Example

bash
SHELVES_PORT=8000 \
SHELVES_ACCESS_KEY=mykey \
SHELVES_SECRET_KEY=mysecret \
SHELVES_DATA_DIR=/var/shelves \
bun run start

Docker Configuration

bash
docker run -d \
  -p 9000:9000 \
  -p 9001:9001 \
  -e SHELVES_ACCESS_KEY=production-key \
  -e SHELVES_SECRET_KEY=production-secret \
  -v /data/shelves:/data \
  verbjs/shelves

Production Recommendations

  1. Change default credentials - Never use shelvesadmin in production
  2. Use persistent storage - Mount a volume for /data
  3. Run behind proxy - Use nginx/Caddy for SSL termination
  4. Set resource limits - Configure memory/CPU limits in Docker

Released under the MIT License.