Server

Troubleshooting.

Steps for the person who runs the server, when something is not doing what they expected. Each section says what the commands change. A warning comes before anything that deletes an installation.

The container name is already in use

docker compose up -d stops with The container name "/farwing" is already in use when an older container still has that name. Compose will not start a second one. Removing the container leaves /data and /srv/files on the machine.

From the folder that holds compose.yml:

docker rm -f farwing
docker compose up -d

docker rm -f stops that container and deletes it. docker compose stop only stops it, so the name stays taken and the next up fails the same way.

Start over

This deletes the installation in /data. Accounts, settings, the license, the install ID and the certificates go with that folder. Files under /srv/files stay where they are. The renamed folder is the backup. Do this when you want a new server.

From the folder that holds compose.yml:

docker rm -f farwing
mv /data "/data.backup.$(date +%F-%H%M%S)"
mkdir -p /data /srv/files
docker compose up -d

Remove the container before renaming /data, so nothing is still using that folder. The backup name includes the date and time, so a later run leaves the earlier backup in place. ls -d /data.backup.* prints it. Open https://<hostname>:8443. The setup wizard runs again. The new installation has a new install ID, so load the license again.

To put the previous installation back, remove the container and swap the folders. Use the name ls -d /data.backup.* printed, in place of the sample below:

docker rm -f farwing
mv /data /data.new
mv /data.backup.2026-10-10-090000 /data
docker compose up -d

Delete /data.new after you have signed in and the previous installation is the one you wanted. A copy taken while the server is still running is covered in nightly backups.

Forgotten password

On the sign-in page, choose Forgot password when this server can send mail. That keeps every setting.

When mail is not set up, or the message does not arrive, set a new password from the machine. Use the administrator's existing address. The hostname, storage, license and certificates stay as they are. The password must be at least 12 characters. The server is stopped until the last command. /data and /srv/files stay on the machine.

docker rm -f farwing
printf '%s' 'a new password at least 12 characters' | docker compose run --rm -T farwing create-admin --email [email protected]
docker compose up -d

Without Docker, stop the service, then run printf '%s' 'a new password at least 12 characters' | farwing-server create-admin --data /data --email [email protected] and start the service again.

This leaves an authenticator app in place. After the new password, sign in with a recovery code, or have another administrator clear the authenticator on the People page. An administrator who has lost the password, the authenticator and the recovery codes, with no other administrator who can sign in, has to start over.

Related