# Onboard a Bareos client: File Daemon, TLS and the first backup job

Source: https://forgeone.solutions/en/tech/onboard-bareos-client-file-daemon-tls-first-backup-job
Language: en
Published: 2026-10-17
Updated: 2026-10-17

Connect a Debian client to Bareos step by step, configure File Daemon and Director securely, and verify the path with a real full backup.

## Starting point and goal

Part 1 built the Bareos server with Director, Storage Daemon, PostgreSQL catalog, bconsole and WebUI. This part connects client01.example.test as a separate Debian 13 system over the private lab network.

An installed File Daemon is not yet an onboarded client. Matching resource names and secrets, a reachable private address, valid Director configuration and an executed backup job provide the required evidence.

- Bareos server: bareos01.example.test at 192.168.77.10.
- Client: client01.example.test at 192.168.77.11.
- Bareos community build 25.1.2~pre49.d5742f640 from the official Debian 13 repository.
- Administrative lab account: fone-rumboldm with fone-admins.
- Test scope: connection, estimate and a full backup of isolated test data.

## 1. Add the repository and install the File Daemon

Client and server should use compatible Bareos channels. The lab therefore uses the same official current repository on both hosts. Review the installer and record the package version actually installed.

```text
sudo apt-get update
sudo apt-get install -y ca-certificates curl gnupg
curl -fsSLo /tmp/add_bareos_repositories.sh https://download.bareos.org/current/Debian_13/add_bareos_repositories.sh
less /tmp/add_bareos_repositories.sh
sudo sh /tmp/add_bareos_repositories.sh
sudo apt-get update
sudo apt-get install -y bareos-filedaemon
dpkg-query -W bareos-filedaemon bareos-common
```

## 2. Configure the client identity and Director access

The File Daemon client resource uses a unique name and binds only to the private lab address. Plugin Names is deliberately empty because the test does not require plugins.

The Director resource authorizes bareos-dir with a dedicated random secret. The same secret is configured in the Director client resource and belongs in secret management. The real connection negotiated TLS 1.3 with CHACHA20-POLY1305.

```text
sudoedit /etc/bareos/bareos-fd.d/client/myself.conf

Client {
  Name = client01-fd
  FD Address = 192.168.77.11
  Plugin Names = ""
}

sudoedit /etc/bareos/bareos-fd.d/director/bareos-dir.conf

Director {
  Name = bareos-dir
  Password = "<SECRET_FROM_SECRET_MANAGEMENT>"
}
```

## 3. Add the client resource to the Director

The Director needs the counterpart to the File Daemon configuration. Name, address and secret must match exactly. Use an internally resolvable address or fixed private IP, never localhost for a remote client.

```text
sudoedit /etc/bareos/bareos-dir.d/client/client01-fd.conf

Client {
  Name = client01-fd
  Address = 192.168.77.11
  Password = "<SAME_SECRET_AS_ON_CLIENT>"
  Maximum Concurrent Jobs = 5
}
```

## 4. Define a limited FileSet

The first acceptance test protects a small controlled directory rather than the whole system. This makes the expected files explicit and limits the impact of a wrong include path. ACL and extended-attribute support are enabled.

```text
sudo install -d -m 0755 /srv/bareos-test/subdirectory
printf "%s\n" "ForgeOne Bareos client onboarding test" | sudo tee /srv/bareos-test/README.txt

sudoedit /etc/bareos/bareos-dir.d/fileset/client01-test.conf

FileSet {
  Name = "client01-test"
  Include {
    Options {
      Signature = XXH128
      Acl Support = yes
      Xattr Support = yes
    }
    File = /srv/bareos-test
  }
}
```

## 5. Connect the backup job to the existing JobDefs

The job reuses the verified DefaultJob resource and overrides client, FileSet and Full pool. A production schedule should only be enabled after RPO, maintenance window and retention have been agreed.

```text
sudoedit /etc/bareos/bareos-dir.d/job/backup-client01.conf

Job {
  Name = "backup-client01"
  JobDefs = "DefaultJob"
  Client = "client01-fd"
  FileSet = "client01-test"
  Pool = "Full"
}
```

## 6. Validate both configurations before restart

Validate the File Daemon first and the Director second. Reload services only after clean checks. Deprecated warnings also need correction; the lab removed one obsolete File Daemon directive before acceptance.

```text
sudo bareos-fd -t
sudo systemctl restart bareos-filedaemon
systemctl is-active bareos-filedaemon

# Auf dem Director
sudo -u bareos bareos-dir -t
sudo systemctl reload bareos-director
```

## 7. Verify connection and selection with bconsole

status client verifies authentication, protocol and reachability. estimate evaluates the FileSet without writing a backup. The lab negotiated Immediate TLS with TLS 1.3 and reported five filesystem entries with 135 bytes of payload.

```text
sudo -u bareos bconsole
status client=client01-fd
estimate job=backup-client01 level=Full
quit
```

## 8. Run the full backup and read the result

The first full job used isolated test data. Bareos created volume Full-0001, wrote five entries and reported OK for both File and Storage Daemons. Job status T means successfully terminated.

A successful backup does not yet prove recoverability. It confirms the Director-to-client, client-to-storage and catalog path. The next part performs an isolated restore with content and metadata comparison.

```text
sudo -u bareos bconsole
run job=backup-client01 level=Full yes
wait
messages
list jobs client=client01-fd last
quit
```

## Troubleshoot failures methodically

Authentication failed usually points to mismatching resource names or secrets. Connection refused suggests an inactive daemon, incorrect bind address or firewall rule. A successful Director connection with a failed job can indicate the separate path to the Storage Daemon.

- Compare Director and File Daemon resource names and secrets exactly.
- Confirm that the File Daemon listens on the intended private address and port 9102.
- Test routing from Director to client and from client to storage separately.
- Run bareos-fd -t and bareos-dir -t before interpreting logs.
- Correlate Director, File Daemon and Storage messages by job ID.
- Do not work around TLS problems by disabling encryption; correct trust and naming.

[![Bareos WebUI showing client01-fd and two successfully completed full backup jobs](https://forgeone.solutions/media/05-bareos-client01-details-desktop.png)](https://forgeone.solutions/media/05-bareos-client01-details-desktop.png)

[![Successful Bareos full-job details with five files and volume Full-0001](https://forgeone.solutions/media/06-bareos-client01-job-desktop.png)](https://forgeone.solutions/media/06-bareos-client01-job-desktop.png)

[![Bareos job details in the mobile Playwright viewport](https://forgeone.solutions/media/07-bareos-client01-job-mobile.png)](https://forgeone.solutions/media/07-bareos-client01-job-mobile.png)

[![Redacted terminal evidence for the TLS connection, estimate and full backup of client01](https://forgeone.solutions/media/08-bareos-client01-terminal-acceptance.png)](https://forgeone.solutions/media/08-bareos-client01-terminal-acceptance.png)

## Technical acceptance of client onboarding

This acceptance covers installation, authentication and a real full backup. Restore remains open until its own executed test has passed.

- File Daemon and Director use unique matching resource names.
- The client secret is absent from the article and repository and matches on both sides.
- The File Daemon binds to 192.168.77.11:9102.
- bareos-fd -t and bareos-dir -t pass without errors or deprecated warnings.
- status client confirms Immediate TLS and TLS 1.3.
- estimate confirms five entries and 135 bytes in the test FileSet.
- Full job 2 finishes with Success/T, zero errors and volume Full-0001.
- Real desktop and mobile WebUI views passed Playwright without console errors.
- Still open and not claimed: restore, production schedule, retention, offsite and disaster recovery.

## Hero image

[![Bareos WebUI showing client01-fd and two successfully completed full backup jobs](https://forgeone.solutions/media/05-bareos-client01-details-desktop.png)](https://forgeone.solutions/media/05-bareos-client01-details-desktop.png)

## Author

Mathias Rumbold

## Category

- [Bareos & Data Protection](https://forgeone.solutions/en/tech/onboard-bareos-client-file-daemon-tls-first-backup-job?category=bareos-and-data-protection)

## Tags

- [Backup](https://forgeone.solutions/en/tech/onboard-bareos-client-file-daemon-tls-first-backup-job?tags=backup)
- [Linux](https://forgeone.solutions/en/tech/onboard-bareos-client-file-daemon-tls-first-backup-job?tags=linux)
- [Bareos](https://forgeone.solutions/en/tech/onboard-bareos-client-file-daemon-tls-first-backup-job?tags=bareos)
- [TLS](https://forgeone.solutions/en/tech/onboard-bareos-client-file-daemon-tls-first-backup-job?tags=tls)

## Links and sources

- [Bareos Documentation: Client/File Daemon Configuration](https://docs.bareos.org/Configuration/FileDaemon.html)
- [Bareos Documentation: Bareos Console](https://docs.bareos.org/TasksAndConcepts/BareosConsole.html)
- [Bareos Documentation: Transport Encryption](https://docs.bareos.org/bareos-25/TasksAndConcepts/TransportEncryption.html)

## Onboard Bareos clients with a controlled process

We design client groups, FileSets, schedules, retention and restore tests around your systems and protection requirements.

[Discuss a backup design](https://forgeone.solutions/en/contact#termin-buchen)

## Bareos step by step

The series moves from a verified base installation through client onboarding and restore tests to operations, monitoring and disaster recovery with Proxmox.

1. [Install and configure Bareos on Linux: Debian, Ubuntu, RHEL, Rocky, AlmaLinux and SUSE](https://forgeone.solutions/en/tech/install-configure-bareos-linux)
2. [Onboard a Bareos client: File Daemon, TLS and the first backup job (current part)](https://forgeone.solutions/en/tech/onboard-bareos-client-file-daemon-tls-first-backup-job)
3. Test Bareos restores: recover files, permissions and metadata
4. Operate Bareos jobs, schedules, retention and volumes
5. Bareos monitoring, catalog maintenance and troubleshooting
6. Integrate and test Bareos disaster recovery with Proxmox
