/ampache

A web based audio/video streaming application and file manager allowing you to access your music & videos from anywhere, using almost any internet enabled device.

Primary LanguagePHP

Ampache

Logo

www.ampache.org | ampache.github.io

News:

  • API documentation has been moved from the wiki to the ampache.org website!
  • Develop DATABASE CHANGES You can now force a default collation and charset on your database. (Read the changelog!)
  • Get your docker images without sql using the new ampache/ampache:nosql image!
  • Develop branch now has a mandatory requirement of php-intl for date formatting.
  • Get your album/artist art right from Spotify's web API. Go to the dashboard
    • Then put your client ID and secret in your ampache config
    • And don't forget to set your art order! (art_order = "db,tags,folder,spotify,musicbrainz")
  • JSON support has landed! Documentation wiki and example responses here.
  • Multiarch docker images are now available on Docker Hub

Basics

Ampache is a web based audio/video streaming application and file manager allowing you to access your music & videos from anywhere, using almost any internet enabled device.

Ampache's usefulness is heavily dependent on being able to extract correct metadata from embedded tags in your files and/or the file name. Ampache is not a media organiser; it is meant to be a tool which presents an already organised collection in a useful way. It assumes that you know best how to manage your files and are capable of choosing a suitable method for doing so.

Recommended Version

The recommended and most stable version is git HEAD. Build Status

You get the latest version with recent changes and fixes but maybe in an unstable state from our develop branch. Build Status Scrutinizer Code Quality Codacy Badge Code Climate

Installation

Please see the wiki and don't forget to check out the basic config guide after that.

Requirements

  • A web server. All of the following have been used, though Ampache receives the most testing with Apache:

    • Apache
    • lighttpd
    • nginx
    • IIS
  • PHP 7.1 or greater. (Currently tested on php7.4-fpm)

  • PHP modules:

    • PDO
    • PDO_MYSQL
    • hash
    • session
    • json
    • intl (Ampache develop)
    • simplexml (optional)
    • curl (optional)
  • For FreeBSD The following php modules must be loaded:

    • php-xml
    • php-dom
    • php-intl (Ampache develop)
  • MySQL 5.x / MySQL 8.x / MariaDB 10.x

Upgrading

If you are upgrading from an older version of Ampache we recommend moving the old directory out of the way, extracting the new copy in its place and then copying the old /config/ampache.cfg.php, /rest/.htaccess, /channel/.htaccess, and /play/.htaccess files if any. All database updates will be handled by Ampache.

License

Ampache is free software; you can redistribute it and/or modify it under the terms of the GNU Affero General Public License v3 (AGPL-3.0-or-later) as published by the Free Software Foundation.

Ampache includes some external modules that carry their own licensing.

Translations

Ampache is currently translated (at least partially) into the following languages. If you are interested in updating an existing translation, simply visit us on Transifex. If you prefer it old school or want to work offline, take a look at /locale/base/TRANSLATIONS for more instructions.

Translation progress so far:

Transifex

Credits

Thanks to all those who have helped make Ampache awesome: Credits

Contact Us

Hate it? Love it? Let us know! Dozens of people send ideas for amazing new features, report bugs and further develop Ampache actively. Be a part of Ampache with it's more than 10 years long history and get in touch with an awesome and friendly community!

Further Information and basic Help

  • Everything related to the Ampache Project can be found on our Public Repository
  • Want to know, how to get Apache to work or learn more about the functions? See our Documentation

We hope to see you soon and that you have fun with this Project!

Team Ampache