Simple django site acting as a frontend for:
- lastfm_cg: Last.fm collage generator
- lastfm_pg: Last.fm playlist generator
- lastfm-wordcloud: Last.fm wordcloud generator
- lastfm-scraper: Some lastfm scripts
This project includes a NixOS module for easy declarative deployment. See NIXOS.md for detailed instructions.
Quick start with flakes:
# Development environment
nix develop
# Build the package
nix build
# Add to your NixOS configuration - see NIXOS.md and example-configuration.nixUse the provided docker-compose.yml for containerized deployment. See the Docker section below for details.
Follow the configuration steps below using .ini files or environment variables.
To run the website, you will need some config files.
[django]
SECRET_KEY = secret_key_here
[lastfm]
username=username_here
api_key=api_key_here
api_secret=api_secret_here
REDIS_URL=redis://domain.tld
# optional, for docker + traefik
DEFAULT_NETWORK=traefik-network
DOMAIN=domain.tld
ALLOWED_HOSTS='127.0.0.1 localhost domain.tld'
If you can't use ini files (i.e. when deploying with heroku), you can use those environment variables:
PYLAST_USERNAMEPYLAST_API_KEYPYLAST_API_SECRETDJANGO_SECRET_KEYREDIS_URL
The project includes Docker support with Dockerfile and docker-compose.yml:
# Build and run with docker-compose
docker-compose up -dThis will start:
- Redis container for Celery
- Django web server with Gunicorn
- Celery worker for background tasks
