Home page of the Stary Sącz municipal video portal on a computer and a phone: the Town Hall channel with 140 videos and a menu with the accessibility statement and data protection notice

PeerTube in local government: council sessions without YouTube

29/10/2026

Since 2018 every Polish municipality has had to stream and record its council sessions. Most do it the simplest way possible: they open a YouTube channel and that is that. Free, set up in fifteen minutes, and nobody asks any questions.

Stary Sącz went another way. Town council sessions are streamed on its own video portal, built on PeerTube, open source video software, running on a server in the town hall. After two and a half years I have data from the database and some experience of running it, so here is an honest look at the pros and cons.

Home page of the Stary Sącz municipal video portal on a computer and a phone: the Town Hall channel with 140 videos and a menu with the accessibility statement and data protection notice(enlarge)
The municipal video portal on a computer and a phone

A legal duty everyone handles with YouTube

The Polish Act on Municipal Self-Government is clear: council sessions are streamed and recorded, and the recordings are published in the Public Information Bulletin, on the municipal website and in other customary ways (Article 20(1b)). It does not say which platform. Nor does it say the platform has to belong to someone else.

YouTube wins because it is free and everybody knows it. But that “free” has a price, paid mainly by viewers and by the council as the data controller.

GDPR: who is responsible for a session recording

A session recording shows more than councillors. Residents, village heads and local business owners speak too. The data controller is the municipality, not Google, and it is the municipality that has to show the processing is lawful.

In February 2024 the Supreme Administrative Court (case III OSK 3839/21) upheld a fine of PLN 40,000 imposed by the Polish data protection authority on the mayor of a town in the Kujawy region. Among the findings: no risk assessment before using YouTube, and the recordings existed only on YouTube, with no copy kept by the council.

Then there are the viewers. The YouTube player means cookies, profiling and ads, and the data goes to the US. Today that rests on the Data Privacy Framework, but the Court of Justice of the EU struck down the previous arrangements (Safe Harbor, Privacy Shield). There is no guarantee this one will survive.

On our own PeerTube it looks like this:

  • recordings and viewer data stay on the municipal server,
  • there are no ads and no third-party cookies,
  • P2P is off by default, because with P2P viewers can see each other’s IP addresses,
  • IP addresses in the logs are anonymised,
  • the portal has an accessibility statement, a data protection notice and a separate notice for session streams.

Independence and the risk of being blocked

The second argument is less legal and more practical. On YouTube the platform’s terms have the final say, enforced by automated systems. Content ID can mute or take down a stream because music was playing in the background. Community guidelines filters cannot tell a heated council debate about vaccines or the war from the content they are meant to block.

When a municipal channel gets a strike or a ban, there is nobody to call. There is an appeal form and waiting. Yet streaming council sessions is a statutory duty, and it should not depend on moderation by a company in California.

There is also something few people think about: YouTube recommends whatever it likes next to a session recording. Anything can appear beside the council debate, political ads included. On the municipal portal the only thing next to a session is other sessions.

Stary Sącz in a parliamentary question

On 19 November 2024 MP Paulina Matysiak submitted parliamentary question no. 6473 to the Minister of Digital Affairs on public administration in social media, technological neutrality and digital sovereignty. Stary Sącz was given in it as an example:

One example is the municipality of Stary Sącz, which started using PeerTube instead of YouTube to publish recordings of town council sessions.

- Parliamentary question no. 6473, Polish Sejm

The ministry replied in January 2025. It said it was looking into the subject, discussing official Fediverse instances (citing the data protection authority’s Mastodon account) and planning a programme to roll out open source software in administration. The most telling part was one sentence: the ministry had “not carried out a risk analysis regarding the publication of key information on foreign platforms”.

It is nice to be mentioned in a document like that. But there is still no systemic support, so any municipality wanting to do the same has to do it on its own.

Why federation is switched off

PeerTube’s greatest strength is federation: instances connect over the ActivityPub protocol, follow each other and show each other’s videos. In Stary Sącz it is switched off. The server follows nobody, and the nine instances that followed it earlier no longer receive new content.

The reasons are legal, not technical:

  • following other instances means videos by other people appear on the council’s domain, beyond its control, while it is responsible for what it publishes (including under the Digital Services Act),
  • federation sends recordings with people’s faces and voices to servers run by unknown administrators, some outside the EEA, without any data processing agreement,
  • there is no reliable way to delete a recording from other people’s copies when the retention period ends or someone asks for their data to be erased,
  • the Polish digital accessibility act covers content on a public body’s website, and other people’s videos usually have no subtitles.

For the same reasons comments are disabled and account registration is closed. The council has no staff to moderate discussions under recordings. So, to be honest, this PeerTube is “decentralised” mostly in name. It is simply the municipality’s own video service built on open software, and that was the whole point anyway.

Subtitles: a legal duty and Whisper on our own server

The Polish digital accessibility act exempts live streams from subtitles, but a recording published afterwards is another matter. Hand-made subtitles for a four-hour session take a full day of work no council can spare.

Since version 6.2 PeerTube has automatic transcription using the Whisper model, running locally. The audio never leaves the server, there is no external API and no extra fees. On the portal 80 videos have Polish subtitles, 43 of them generated automatically.

Recording of a council session with automatic subtitles. The mayor at the lectern next to a slide about a regional village contest, with a recognition error in the subtitle at the bottom(enlarge)
Automatic subtitles on a session recording, including a typical recognition error in the Polish text

The quality is good but not perfect. The model mangles surnames, place names and sometimes ordinary words, as in the screenshot above. Subtitles need checking and correcting, but correcting is far easier than writing from scratch. Transcription runs on the server’s CPU, so a long recording keeps it busy for a while.

Numbers from the server

PeerTube records every playback: when it started, how long it lasted, what device it was on. The figures below come straight from the database and cover 29 February 2024 to the end of October 2026.

Infographic: 11,248 playbacks, 8,516 hours watched, 45 minutes per playback on average, a record of 85 concurrent viewers. Chart of playbacks by hour peaking between 1 and 4 pm. Phones 3,381, computers 2,895, tablets 86, TVs 73. The server holds 140 videos, 315 hours, 709 GB(enlarge)
The video portal in numbers, data from the PeerTube database
  • 11,248 playbacks and 8,516 hours watched. 45 minutes per playback on average, so these are not accidental clicks.
  • The record is 85 people watching a stream at the same time (the session of 31 October 2024). The most stream playbacks in a single day: 395, on 28 November 2025.
  • More people watch recordings than live streams: 6,974 recording playbacks against 4,274 live. People come back to sessions after work, in the evening, often for a single item on the agenda.
  • Phones beat computers: 3,381 to 2,895. There are also 73 playbacks on TVs.
  • Among the detected countries, besides Poland, there are France, the UK, the US and Germany. Probably family and friends who moved abroad but still follow local affairs.
  • Sessions make up 111 of the 140 videos and about 90 per cent of all views.

One caveat: PeerTube counts playbacks differently from YouTube, so comparing these numbers one to one with other councils’ channels makes no sense. They do show well when and how residents watch.

Playlist of the 9th term of the town council with 29 session recordings, each three to five hours long, with view counts(enlarge)
Session recordings of the current term, each several hours long

What kind of server it takes

The video portal runs on a virtual machine in the town hall’s server room. Docker runs PeerTube 8.3, PostgreSQL 17 and Redis. The specs:

  • 8 virtual cores (Intel Xeon Gold 5415+),
  • 24 GB of RAM,
  • Ubuntu 24.04,
  • 2 TB of disk for video, 709 GB of it used.

Most of the time the server is idle. It works hard only during streams, when the picture is transcoded live into three qualities (480p, 720p and 1080p), and when new recordings are processed. In front of PeerTube sits nginx with a cache, so dozens of simultaneous viewers do not choke the server.

Disk is the biggest cost. 315 hours of footage take up 709 GB, about 2.2 GB per hour. Every video is stored in several resolutions and in two formats (HLS and a plain video file). Dropping one of them would roughly halve the usage, and that is the first thing I would change.

Then there is the human side. Upgrades (most recently PeerTube 7.2 to 8.3 and PostgreSQL 13 to 17), backups and keeping an eye on streams do not happen by themselves. I described this in the project Video Portal for the Municipality of Stary Sącz.

Pros

  • recordings and viewer data stay with the municipality, which answers the issues raised in the court ruling,
  • no ads, no algorithm and no third-party cookies,
  • nobody outside can block a stream or the channel,
  • subtitles generated locally, without sending audio to the cloud,
  • its own look and WCAG-compliant accessibility, consistent with the municipal portal,
  • open source software with no licence fees and no vendor lock-in.

Cons

  • the server and disk cost money, and the disk grows with every session,
  • someone has to maintain and upgrade it,
  • smaller reach: without an algorithm promotional videos get few views, on YouTube they would get more,
  • automatic subtitles need correcting,
  • if the town hall loses its connection or power, the stream goes down too, and a session recording has already had to be uploaded again,
  • federation is off, so little remains of the Fediverse benefits.

Would I recommend it to other municipalities

Yes, if the municipality has someone in IT to look after it. For council sessions PeerTube is a very good fit. For promotion and reach YouTube is still better, and nothing stops you from posting a promotional video in both places.

Smaller municipalities do not need their own servers. A shared instance for a county or region would make more sense, and a central service for local government would be best. That is exactly what the parliamentary question asked about, and so far there is no answer.

A session stream is not just another video online. It is the only way a resident can see how their councillor votes. They should not need an account with an advertising company to do that.

- Aleksander Kowal

Click or scroll to zoom in. Drag to move around.Double tap or pinch to zoom in.