From 76014494bcabb7433d6d5562c31811cc7dae9ec6 Mon Sep 17 00:00:00 2001 From: Sebastian Dauenhauer Date: Thu, 1 Oct 2026 22:17:32 +0200 Subject: [PATCH 1/2] Default Starling quickstart to a single docker run command --- src/content/docs/server/docker.mdx | 38 ++++++++++++++---------------- 1 file changed, 18 insertions(+), 20 deletions(-) diff --git a/src/content/docs/server/docker.mdx b/src/content/docs/server/docker.mdx index 2459080..a9401ab 100644 --- a/src/content/docs/server/docker.mdx +++ b/src/content/docs/server/docker.mdx @@ -1,43 +1,41 @@ --- title: Run Starling with Docker -description: Start the current Fancy Mumble server using Starling's maintained Compose deployment. +description: Start Starling with the published GitHub container image. --- -Starling is the current Fancy Mumble server. Its repository contains the Compose file and the matching configuration file. For an existing deployment, follow [Migrating to Starling](/server/migrating-to-starling/). +Starling is the current Fancy Mumble server. With Docker installed and running, start its published image directly. For an existing deployment, follow [Migrating to Starling](/server/migrating-to-starling/). ## Start a server ~~~sh -git clone https://github.com/Fancy-Mumble/starling.git -cd starling -STARLING_IMAGE=ghcr.io/fancy-mumble/starling:latest docker compose up -d --wait -docker compose logs gateway +docker run -d --name starling --restart unless-stopped -p 64738:64738/tcp -p 64738:64738/udp -p 8080:8080 -p 64740:64740 -v starling-data:/var/lib/starling ghcr.io/fancy-mumble/starling:latest ~~~ -On Windows PowerShell, set the image with `$env:STARLING_IMAGE='ghcr.io/fancy-mumble/starling:latest'` before running `docker compose up -d --wait`. +The same command works in PowerShell. Docker downloads the image automatically; its default starts all services in one container. -Connect Fancy Mumble to localhost:64738. On first boot Starling creates a self-signed server certificate and a SuperUser password. In the distributed stack, find the password in `docker compose logs userdata`; in the all-in-one service, check `docker compose logs starling`. Save it. Keep the starling-data volume: it holds the certificate, accounts, channels, and service data. +Connect Fancy Mumble to **localhost:64738**. On first boot Starling creates a self-signed server certificate and a SuperUser password. Run `docker logs starling` to find the password and save it. The **starling-data** volume preserves the generated configuration, certificate, accounts, channels, and service data. + +## Configure and operate -To build from source, use: +The container generates a starter configuration on first run. See [Configuration](/server/config/) for changing settings. Set a public file-server URL that other members can reach before sharing files outside your machine. See [Ports and networking](/server/network/) for remote access and feature-specific media ports. ~~~sh -docker compose up -d --wait --build +docker logs -f starling +docker stop starling +docker start starling ~~~ -The Compose file also supports a single-container deployment with the starling service. Start that service by name; it replaces the distributed services. +Stopping or removing the container keeps its named data volume. Deleting **starling-data** deletes its configuration, certificate, and databases. See [Upgrade and backup](/server/upgrade/). -## Configure and operate - -Edit deploy/starling.toml before starting the distributed stack. The file is mounted into every service. Set an instance name and password under the instances tables. For a single process, start with starling.example.toml instead. See [Configuration](/server/config/). +## Distributed deployment or source builds -The Compose deployment publishes TCP and UDP port 64738 and HTTP port 8080 for files. Its sample public URL is localhost:8080; set a URL that other users can reach before sharing files outside your machine. See [Ports and networking](/server/network/). +Use the repository's Compose deployment when you want separate services or a local source build: ~~~sh -docker compose ps -docker compose logs -f gateway -docker compose down +git clone https://github.com/Fancy-Mumble/starling.git +cd starling ~~~ -Docker Compose down keeps the data volume. Adding -v deletes it, including the server certificate and database. See [Upgrade and backup](/server/upgrade/). +Edit **deploy/starling.toml** for the distributed stack. To use the published image, set `STARLING_IMAGE=ghcr.io/fancy-mumble/starling:latest` in a `.env` file, then run `docker compose up -d --wait`. To build locally, run `docker compose up -d --wait --build`. -For current Compose options, see the [Starling README](https://github.com/Fancy-Mumble/starling#install) and [Compose file](https://github.com/Fancy-Mumble/starling/blob/main/docker-compose.yml). +The Compose **starling** service is the single-container alternative: `docker compose up -d --wait starling` starts it instead of the distributed services. It uses **starling.example.toml**; see the [Compose file](https://github.com/Fancy-Mumble/starling/blob/main/docker-compose.yml) for its mounts and settings. From a910de1e3c021a9a1548a86f67086fa14c30dbb1 Mon Sep 17 00:00:00 2001 From: Sebastian Dauenhauer Date: Thu, 1 Oct 2026 22:18:47 +0200 Subject: [PATCH 2/2] Clarify the Compose configuration mount --- src/content/docs/server/docker.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/docs/server/docker.mdx b/src/content/docs/server/docker.mdx index a9401ab..55866c8 100644 --- a/src/content/docs/server/docker.mdx +++ b/src/content/docs/server/docker.mdx @@ -38,4 +38,4 @@ cd starling Edit **deploy/starling.toml** for the distributed stack. To use the published image, set `STARLING_IMAGE=ghcr.io/fancy-mumble/starling:latest` in a `.env` file, then run `docker compose up -d --wait`. To build locally, run `docker compose up -d --wait --build`. -The Compose **starling** service is the single-container alternative: `docker compose up -d --wait starling` starts it instead of the distributed services. It uses **starling.example.toml**; see the [Compose file](https://github.com/Fancy-Mumble/starling/blob/main/docker-compose.yml) for its mounts and settings. +The Compose **starling** service is the single-container alternative: `docker compose up -d --wait starling` starts it instead of the distributed services. It uses the same **deploy/starling.toml** mount with service routing overrides; see the [Compose file](https://github.com/Fancy-Mumble/starling/blob/main/docker-compose.yml) for its mounts and settings.