Skip to content

Rohmilchkaese/owntone-server-alpine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OwnTone Server - Alpine Linux Docker Image

A lightweight Docker image that builds OwnTone (formerly forked-daapd) from source on Alpine Linux. OwnTone is a media server that shares music libraries over your local network using the DAAP protocol.

The image is built as a multi-arch manifest for linux/amd64, linux/arm64, and linux/arm/v7, and published to Docker Hub as rohmilkaese/owntone. Docker will automatically pull the correct image for your platform.

Quick Start

docker run -d \
  --network host \
  -v /path/to/config:/config \
  -v /path/to/music:/music \
  -v /etc/localtime:/etc/localtime:ro \
  --restart unless-stopped \
  rohmilkaese/owntone:latest

Or with Docker Compose:

version: "3"
services:
  owntone:
    image: rohmilkaese/owntone:latest
    container_name: owntone
    network_mode: host
    volumes:
      - ./config:/config
      - /path/to/music:/music
      - /etc/localtime:/etc/localtime:ro
    restart: unless-stopped

Ports

Port Description
3689 DAAP protocol (music sharing)
3688 Web interface

Volumes

Path Description
/config Persistent configuration and database cache
/music Music library directory

On first start, the default owntone.conf is copied to /config/owntone.conf. Edit this file to customize the server.

Building

docker build -t owntone .

To build a specific OwnTone version:

docker build --build-arg OWNTONE_BRANCH=29.0 -t owntone .

Build Configuration

The Dockerfile compiles OwnTone with the following options:

  • iTunes support: enabled
  • Chromecast: disabled
  • MPD: disabled
  • Spotify: disabled
  • IPv6: disabled
  • Runs as: root
  • Logs to: stdout (for docker logs)

GitHub Actions

CI is split into two workflows:

  1. Test (test.yml) — Runs on every push to master. Builds the Docker image for all platforms (no push). On success, creates a v<version> git tag if it doesn't already exist, and calls the Publish workflow.
  2. Publish (publish.yml) — Called by the Test workflow (via workflow_call) or triggered by a v* tag push. Builds and pushes the multi-arch image to Docker Hub with version and latest tags.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors