Uninstall Debian installation

To uninstall Funkwhale from your Debian server, follow the instructions in this guide.

Warning

Removing Funkwhale data is irreversible. Make sure you back up your data.

Stop the Funkwhale server

Before you uninstall anything from your server, you need to stop the Funkwhale systemd services.

  1. Stop all systemd services listed under the funkwhale target

    sudo systemctl stop funkwhale.target
    
  2. Disable all systemd services to prevent launch at startup.

    sudo systemctl disable funkwhale-server
    sudo systemctl disable funkwhale-worker
    sudo systemctl disable funkwhale-beat
    
  3. Remove the service files.

    sudo rm /etc/systemd/system/funkwhale-server.service
    sudo rm /etc/systemd/system/funkwhale-worker.service
    sudo rm /etc/systemd/system/funkwhale-beat.service
    sudo rm /etc/systemd/system/funkwhale.target
    
  4. Reload all services to pick up the changes.

    sudo systemctl daemon-reload
    sudo systemctl reset-failed
    

Remove the reverse proxy

To stop serving Funkwhale from your web server, you need to remove your reverse proxy configuration.

  1. Remove the configuration files from your web host.

    sudo rm /etc/nginx/sites-enabled/funkwhale.conf
    sudo rm /etc/nginx/sites-available/funkwhale.conf
    sudo rm /etc/nginx/funkwhale_proxy.conf
    
  2. Reload the web server.

    sudo systemctl reload nginx
    
  1. Remove the configuration files from your web host.

    sudo rm /etc/apache2/sites-enabled/funkwhale.conf
    sudo rm /etc/apache2/sites-available/funkwhale.conf
    
  2. Reload the web server.

    sudo service apache2 restart
    

Remove the Funkwhale database

Warning

This action is irreversible. Make sure you have backed up your data before proceeding.

Once you have stopped the Funkwhale services, you can remove the Funkwhale database.

  1. Navigate to your Funkwhale directory.

    cd /srv/funkwhale
    
  2. Delete the Funkwhale database.

    sudo -u postgres psql -c 'DROP DATABASE funkwhale;'
    
  3. Delete the Funkwhale user.

    sudo -u postgres psql -c 'DROP USER funkwhale;'
    

Delete the Funkwhale account

Warning

This action deletes the /srv/funkwhale/ directory. Make sure you have backed up any data you want to keep.

Once you have removed the database, you can delete the funkwhale user and all associated data.

sudo userdel -r funkwhale

This deletes the funkwhale user and everything in their home directory (/srv/funkwhale/). If your content is hosted in an S3-compatible store, you need to delete this data separately.

Uninstall dependencies

Funkwhale uses the following dependencies on your server:

build-essential
curl
ffmpeg
libjpeg-dev
libmagic-dev
libpq-dev
postgresql-client
python3-dev
libldap2-dev
libsasl2-dev
make
documentation = "https://docs.funkwhale.audio"
license = "AGPL-3.0-only"

packages = [
  { include = "funkwhale_api" },
  { include = "config" },
]
include = [
  { path = "*.html" },
  { path = "*.json" },
  { path = "*.png" },
  { path = "*.txt" },
]
exclude = ["tests"]

[tool.poetry.scripts]
funkwhale-manage = 'funkwhale_api.main:main'

[tool.poetry.dependencies]
python = "^3.8,<3.13"

# Django
dj-rest-auth = "5.0.2"
django = "4.2.9"
django-allauth = "0.55.2"
django-cache-memoize = "0.1.10"
django-cacheops = "==7.0.2"
django-cleanup = "==8.1.0"
django-cors-headers = "==4.3.1"
django-dynamic-preferences = "==1.14.0"
django-environ = "==0.11.2"
django-filter = "==23.5"
django-oauth-toolkit = "2.2.0"
django-redis = "==5.2.0"
django-storages = "==1.13.2"
django-versatileimagefield = "==3.1"
djangorestframework = "==3.14.0"
drf-spectacular = "==0.26.5"
markdown = "==3.4.4"
persisting-theory = "==1.0"
psycopg2-binary = "==2.9.9"
redis = "==5.0.1"

# Django LDAP
django-auth-ldap = "==4.1.0"
python-ldap = "==3.4.4"

# Channels
channels = { extras = ["daphne"], version = "==4.0.0" }
channels-redis = "==4.1.0"

Uninstall any dependencies you don’t need.