Funkwhale

Funkwhale - A social platform to enjoy and share music

8080
Default Port
3
Services
22.0/20
Complexity
Medium
Memory Usage
Configuration

Installation Command

blastdock init funkwhale

Template Overview

Everything you need to deploy Funkwhale with BlastDock

Quick Deploy

One command deployment

Secure

Production-ready security

Configurable

Customizable settings

Scalable

Ready to scale up

What's Included

Funkwhale
funkwhale/funkwhale:latest
Postgres
postgres:13
Redis
redis:6
Categories
Database
Security Features
Password Protection, Admin User
Resource Requirements
CPU: Medium, Memory: Medium , Storage Required

Quick Commands

blastdock init Initialize new project
blastdock deploy Deploy the application
blastdock status Check deployment status
blastdock logs View application logs

Quick Installation

Get Funkwhale up and running in minutes with our one-click installation.

BlastDock Installation

First, install BlastDock using pip (recommended):

Terminal
pip install blastdock

Then deploy Funkwhale with:

Terminal
blastdock init funkwhale

Interactive mode:

Terminal
blastdock init funkwhale -i

What's Included

Funkwhale
Container service
Postgres
Container service
Redis
Container service

BlastDock Commands

blastdock templates List available templates
blastdock status project Check deployment status
blastdock logs project View application logs
blastdock stop project Stop deployment

Configuration Options

Customize your Funkwhale installation with these configuration options.

5
Required Fields
0
Optional Fields
2
Auto-Generated Passwords

Port

Web interface port

port
Default: 8080
Required: Yes

Db Password

Database password

password
Default: ••••••••••••
Required: Yes
Security: Auto-generated

Admin Username

Admin username

string
Default: admin
Required: Yes

Admin Email

Admin email

string
Required: Yes

Admin Password

Admin password

password
Default: ••••••••••••
Required: Yes
Security: Auto-generated

Docker Compose

Complete Docker Compose configuration for Funkwhale deployment.

3
Services
4
Volumes
1
Networks
1
Exposed Ports
docker-compose.yml
version: '3.8'

services:
  postgres:
    image: postgres:13
    container_name: {{ project_name }}_postgres
    restart: unless-stopped
    environment:
      0: POSTGRES_USER=funkwhale
      1: POSTGRES_PASSWORD={{ db_password }}
      2: POSTGRES_DB=funkwhale
    volumes:
      - /var/lib/postgresql/data
    networks:
      - funkwhale_network

  redis:
    image: redis:6
    container_name: {{ project_name }}_redis
    restart: unless-stopped
    networks:
      - funkwhale_network

  funkwhale:
    image: funkwhale/funkwhale:latest
    container_name: {{ project_name }}_funkwhale
    restart: unless-stopped
    depends_on:
      - postgres
      - redis
    ports:
      - "80"
    environment:
      0: FUNKWHALE_HOSTNAME=localhost
      1: FUNKWHALE_PROTOCOL=http
      - FUNKWHALE_URL=http: //localhost:{{ port }}
      2: DJANGO_SETTINGS_MODULE=config.settings.production
      - DATABASE_URL=postgresql: //funkwhale:{{ db_password }}@postgres/funkwhale
      - CACHE_URL=redis: //redis:6379/0
      3: FUNKWHALE_ADMIN_USERNAME={{ admin_username }}
      4: FUNKWHALE_ADMIN_EMAIL={{ admin_email }}
      5: FUNKWHALE_ADMIN_PASSWORD={{ admin_password }}
    volumes:
      - /data/media
      - /data/static
      - /data
    networks:
      - funkwhale_network

volumes:
  postgres_data:
    driver: local

  funkwhale_media:
    driver: local

  funkwhale_static:
    driver: local

  funkwhale_data:
    driver: local

networks:
  funkwhale_network:
    driver: bridge