Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/michaelmob/docker-funkwhale
All-in-one funkwhale docker image.
https://github.com/michaelmob/docker-funkwhale
Last synced: 9 days ago
JSON representation
All-in-one funkwhale docker image.
- Host: GitHub
- URL: https://github.com/michaelmob/docker-funkwhale
- Owner: michaelmob
- Created: 2019-01-04T07:09:41.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2021-12-30T15:49:22.000Z (almost 3 years ago)
- Last Synced: 2024-08-02T14:06:16.597Z (3 months ago)
- Language: Dockerfile
- Homepage:
- Size: 86.9 KB
- Stars: 91
- Watchers: 3
- Forks: 18
- Open Issues: 20
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Funkwhale Docker Container
[Funkwhale](https://funkwhale.audio/) is a modern, self-hosted, free and open-source music server.
## Usage
```sh
docker run \
--name=funkwhale \
-e FUNKWHALE_HOSTNAME= \
-e NESTED_PROXY=0 \
-v :/data \
-v :/music:ro \
-p 3030:80 \
thetarkus/funkwhale
```## Parameters
+ `-e PUID` - Optional user ID for volume ownership.
+ `-e PGID` - Optional group ID for volume ownership.
+ `-e FUNKWHALE_HOSTNAME` - Hostname of your Funkwhale instance.
+ `-e NESTED_PROXY` - Set to 1 when container is behind a reverse proxy.
+ `-v /data` - Volume to save media files and database.
+ `-v /music` - Path to your music.
+ `-p 3030:80` - Access Funkwhale on port 3030.## Instructions
### Creation
Creation of the container will take a minute or two. The commands in the sections below will not work until the initialization is complete. For any subsequent runs (assuming you are re-using the `/data` volume), there will be no wait time.### Create an initial superuser account
On the creation of your container, you will need to create an account. Running the following command will prompt you for a username, email, and password for your new account.
```sh
docker exec -it funkwhale manage createsuperuser
```all this does is run `/usr/local/bin/manage createsuperuser` on the docker
if you are running on synology docker, in the funkwhale docker window go to Terminal, click the drop-down arrow by create and enter `/bin/sh`
in the terminal prompt, enter `/usr/local/bin/manage createsuperuser`### Importing Music
To import your music, open your Funkwhale instance in your browser and find the libraries page under "Add content" and create a library. Click the "details" button on your newly created library and get the library ID from the URL bar. It will look similar to the format of: `b8756c0d-839b-461f-b334-583983dc9ead`.
Set the `LIBRARY_ID` environment variable (or replace it inside of the command) with your library ID, then run the command below.
```sh
# For file structures similar to ./Artist/Album/Track.mp3
docker exec -it funkwhale manage import_files $LIBRARY_ID "/music/**/**/*.mp3" --in-place --async
```
For more information see the [Funkwhale docs on importing music](https://docs.funkwhale.audio/importing-music.html).### Running behind a proxy
In more involved deployments, you may have a reverse proxy in front of the container.
If it is the case, add the `-e NESTED_PROXY=1` flag to the docker run command, or ensure
`NESTED_PROXY=1` is available in the container environment.### Build this image
This image is built and pushed automatically on `funkwhale/all-in-one`, for all Funkwhale releases and for the development version as well (using the `develop` tag).If you want to build it manually, you can run the following:
```bash
image_name='mycustomimage' # choose a name for the image
version='develop' # replace 'develop' with any tag or branch name
arch='amd64' # set your cpu architecture# download Funkwhale front and api artifacts and nginx configuration
./scripts/download-artifact.sh src/ $version build_front
./scripts/download-artifact.sh src/ $version build_api
./scripts/download-nginx-template.sh src/ $version
docker build --build-arg $arch -t $image_name:$version .
```