🚀 Django 6.0 is out!
This is a super exciting new release, introducing the tasks framework, template partials, Content Security Policy support, improved email handling, and lots more!
Here are my annotated and expanded highlights from the release notes:

Django 6.0 was released today, starting another release cycle for the loved and long-lived Python web framework (now 20 years old!). It comes with a mosaic of new features, contributed to by many, some of which I am happy to have helped with. Below is my pick of highlights from the release notes.
being subjected to a mandatory corporate training video that wants me to adopt the concept of "kaizen", which means "to change for the better"
man, if only English had a word for that! it would really improve our lives.
Install Tailscale tsidp in Proxmox
In this guide we’ll walk through setting up Tailscale’s experimental Identity Provider (tsidp) inside a lightweight Debian Proxmox container. We’ll create the container, install Go, build the binary, configure systemd with environment variables, and run tsidp as a dedicated user.
This is a very raw howto, copy paste ready, based on my attempts, target audience is homelaber. Comments welcome !
1. Create a Proxmox container
2. Update system and install dependencies
Enter VM console and let’s start initial setup !
# Start from a clean OSapt update && apt upgrade -y# Install git and wgetapt install -y git wgetDownload and install Go 1.24.7 manually:
wget https://go.dev/dl/go1.24.7.linux-amd64.tar.gztar -C /usr/local -xzf go1.24.7.linux-amd64.tar.gzecho 'export PATH=$PATH:/usr/local/go/bin' >> ~/.bashrcsource ~/.bashrcVerify:
root@tsidp-tuto:~# go versiongo version go1.24.7 linux/amd64 3. Clone tsidp
git clone https://github.com/tailscale/tsidp.git /opt/tsidp-src 4. Build and install binary
cd /opt/tsidp-srcmkdir /opt/tsidpgo build -o /opt/tsidp/tsidp . 5. Configure systemd service
Create a dedicated user:
# Create tsidp user with home and no hselluseradd -r -m -d /home/tsidp -s /bin/false tsidpCreate your TS_AUTHKEY :
It’s important to create a reusable key so that the service can restart itself.
The README says “Ensure you select an existing tag or create a new one.”
So I created a “tsidp” tag for this purpose.
Create environment file with your newly created key:
cat >/opt/tsidp/.env <<EOFTSNET_FORCE_LOGIN=1TS_AUTHKEY=tskey-auth-xxxxxxxxxxxxTAILSCALE_USE_WIP_CODE=1EOFSystemd unit /etc/systemd/system/tsidp.service:
[Unit]Description=Tailscale IDPAfter=network.target[Service]WorkingDirectory=/opt/tsidpEnvironmentFile=/opt/tsidp/.envExecStart=/opt/tsidp/tsidpRestart=on-failureRestartSec=5User=tsidpGroup=tsidp[Install]WantedBy=multi-user.targetEnable service:
systemctl daemon-reloadsystemctl enable --now tsidp 6. Recap & Next steps
Once started, you can check whether tsidp is running correctly:
systemctl status tsidpOr follow logs in real-time:
journalctl -u tsidp -fLook for messages like tsidp server started or AuthLoop: state is Running which confirm that the embedded Tailscale client has initialized successfully.
You now have tsidp running inside a minimal Debian Proxmox container, with proper environment separation and persistent state. This setup is lightweight, reproducible, and suitable for lab testing.
Stay tuned for next steps !