{"id":13653202,"url":"https://github.com/ampache/ampache-docker","last_synced_at":"2025-04-23T06:31:20.372Z","repository":{"id":21134609,"uuid":"24435617","full_name":"ampache/ampache-docker","owner":"ampache","description":"Ampache docker package","archived":false,"fork":true,"pushed_at":"2025-04-23T05:25:11.000Z","size":340,"stargazers_count":105,"open_issues_count":43,"forks_count":68,"subscribers_count":13,"default_branch":"master","last_synced_at":"2025-04-23T06:26:10.766Z","etag":null,"topics":["docker"],"latest_commit_sha":null,"homepage":"http://ampache.org","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"ericfrederich/docker-ampache","license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ampache.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2014-09-24T22:57:03.000Z","updated_at":"2025-04-23T05:21:44.000Z","dependencies_parsed_at":"2023-09-26T05:00:35.051Z","dependency_job_id":null,"html_url":"https://github.com/ampache/ampache-docker","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ampache%2Fampache-docker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ampache%2Fampache-docker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ampache%2Fampache-docker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ampache%2Fampache-docker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ampache","download_url":"https://codeload.github.com/ampache/ampache-docker/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250384907,"owners_count":21421814,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker"],"created_at":"2024-08-02T02:01:07.201Z","updated_at":"2025-04-23T06:31:15.357Z","avatar_url":"https://github.com/ampache.png","language":"Shell","funding_links":[],"categories":["Dockerfile"],"sub_categories":[],"readme":"# ampache-docker\n\nDocker image for Ampache, a web based audio/video streaming application and file manager allowing you to access your music \u0026 videos from anywhere, using almost any internet enabled device.\n\n## NEWS\n\nAmpache 5.6.2 had to upgrade from Debian Bullseye to Bookworm.\n\nMariaDB has been upgraded and has already caused one issue so far.\n\nHave a look at https://github.com/ampache/ampache-docker/issues/102#issuecomment-1640956439 for information about how it was solved when there was an error during the upgrade.\n\n## How to use this image\n\nThis section covers two methods for running Ampache, first with the `docker run` command, and then using `docker-compose`.\n\n### docker run\n\nTo run the current Ampache master (stable) branch:\n\n```bash\ndocker run --name=ampache -d -v /path/to/your/music:/media:ro -p 80:80 ampache/ampache\n```\n\n### docker-compose\n\nThis method is recommended as it creates persistent volumes for important data and makes restarting the container much easier.\n\nIf you're already using Docker Desktop for Windows or Mac then Docker Compose is included. If you are using a different version or on Linux, follow these instructions in the docker docs: [Install Docker Compose](https://docs.docker.com/compose/install/)\n\nIn the [GitHub repository](https://github.com/ampache/ampache-docker/blob/master/docker-compose.yml) is a simple `docker-compose.yml` file to get started. Download the file and run this command to start an Ampache container:\n\n```bash\ndocker-compose up -d\n```\n\nThis automatically creates the following bind mounts:\n\n* `./data/media` mounted at `/media` for music\n* `./data/mysql` mounted at `/var/lib/mysql` for persistent MySQL storage\n* `./data/config` mounted at `/var/www/config` for persistent Ampache configuration\n* `./data/log` mounted at `/var/log/ampache` for debug logs\n\n### Environment variables\n\nYou can configure parts of the container using environment variables. When running with `docker run`, you can set an environment variable using the `-e` parameter; for example, `-e FOO=BAR` sets the environemnt variable `FOO` to bar. When using `docker-compose`, you can set environment variables using a `.env` file in this directory.\n\nAvailable environment variables are:\n\n* `DISABLE_INOTIFYWAIT_CLEAN`: If set to 1, disables the clean step on the directory monitor. This prevents Ampache from automatically cleaning files. If you are using a bind mount on an external storage, this may be desirable as it prevents Ampache from removing files if the external storage goes down.\n\n### Permissions\n\nIn the container the webserver runs as the http user (UID and GID 33). If you created the directories manually, it is important to ensure that the Ampache Configuration, and log directories are readable and writeable by that user.\n\n```bash\nchown 33:33 ./data/config -R\nchown 33:33 ./data/log\n```\n\nOptionally, the media directory should be writable as if you wish to allow uploads.\n\n```bash\nchgrp 33 ./data/media \u0026\u0026 chmod g+w ./data/media\n```\n\n## Image Variants\n\nFor more advanced users a few different image variants are available.\n\n### `ampache:version`\n\n**Recommended**: Specifies a particular version from the Ampache master (stable) branch. Pinning Ampache to a specific version can prevent issues where you unexpectedly update a major version of Ampache with breaking changes you're not aware of.\n\nUse something like [Diun](https://crazymax.dev/diun/) to monitor for updates to the image.\n\n### `ampache:latest`\n\nPulls the most recent image from the Master (stable) branch\n\n### `ampache:develop`\n\nPulls the most recent image from the Develop branch. This is generally safe to run but can break occasionally. Contains the latest features and updates.\n\n~~The develop tag is set up to use git updates so you don't have to rebuild your images to stay up to date with development.~~\n\n### `ampache:nosql`\n\nFor advanced users, this provides an image without a MySQL server built-in. You must provide your own MySQL server.\n\n### `ampache:nosql\u003cversion\u003e`\n\nThe `nosql` image pinned to a specific version.\n\n## Running on ARM\n\nThe automated builds for the official repo are now built for linux/amd64, linux/arm/v7 and linux/arm64.\n\n## Installation\n\n1. Open [http://localhost/install.php](http://localhost/install.php) and click **Start Configuration**, then **Continue**\n2. On the **Insert Ampache Database** page:\n    1. **MySQL Administrative Username**: admin\n    2. **MySQL Administrative Password**: (see container output)\n        * The logs will show a line like: `mysql -uadmin -pjnzYXLz7cMzq -h\u003chost\u003e -P\u003cport\u003e`. The password is everything after `-p`, in this case `jnzYXLz7cMzq`.\n    3. Check **Create Database User**\n    4. **Ampache Database User Password**: Enter anything\n    5. Click **Insert Database**\n3. **Generate Configuration File** page:\n    1. Click **Create Config**\n4. **Create Admin Account** page:\n    1. Enter anything for **Username** and **Password**\n    2. Click **Create Account**\n5. **Ampache Update** page:\n    1. Click **Update Now!**\n    2. Click [Return to main page] to login using previously entered credentials\n\nAfter installation you will need to setup a catalog. Make sure to use `/media` as the path where your media is located.\n\n## Set the local_web_path\n\nThis applies if Ampache is running behind a reverse proxy. The following are typical error messages:\n\n(Ampache\\Module\\Api\\Subsonic_Api) -\u003e Stream error: \n(Ampache\\Module\\Api\\Subsonic_Api) -\u003e Stream error: The requested URL returned error: 404 Not Found\n\nIn ampache.cfg.php set local_web_path to localhost. There are various discussions and issues with more detail on this, see for example: https://github.com/ampache/ampache/issues/1639\n\n## Themes\n\nBy default Ampache only ships with one theme built-in located at `/var/www/public/themes/reborn`. We want to avoid mounting the whole `/themes` directory otherwise the reborn theme will not be updated when the Amapche image updates. It's best to make a copy of the existing theme and then we can mount it in the `/themes` directory as a new theme.\n\nMake sure that the container is already running then copy the current theme to a folder on the host:\n\n```shell\ndocker run -d --name=ampache ampache/ampache\ndocker cp ampache:/var/www/public/themes/reborn ./data/new-theme\ndocker container stop ampache\n```\n\nNow make modifications to the theme and then start the container again this time mounting the new theme to the container:\n\n```shell\ndocker run -d --name=ampache -v ./data/new-theme:/var/www/public/themes/new-theme\n```\n\n## Thanks to\n\n* @ericfrederich for his original work\n* @velocity303 and @goldy for the other ampache-docker inspiration\n* @kuzi-moto for bringing the image out of the dark ages\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fampache%2Fampache-docker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fampache%2Fampache-docker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fampache%2Fampache-docker/lists"}