Your phone calendar shows different dates than your computer, and after changing devices, you have to transfer contacts again. Baikal allows you to collect this data on your own server and synchronize it with the applications you already use. In this guide, we'll show you how to set up Baikal on Saplo, create a user, and check calendar and address book synchronization.
What Baikal gives you
Baikal, spelled by its authors as Baïkal, is a lightweight CalDAV and CardDAV server. CalDAV is used for calendar synchronization, and CardDAV for contacts. The browser-based panel allows you to manage users, calendars, and address books. Daily additions of meetings or phone numbers are done in the connected client application.
Among others, the project supports clients on iOS and macOS, DAVx5 on Android, and Thunderbird. You can find a description of its capabilities on Baïkal's official website. When choosing a program, check for support of both protocols if you want to synchronize both events and contacts.
Baikal requirements and hosting on Saplo
The cheapest plan that meets the minimum recipe requirements is Box S for $29 per year. The recipe declares a minimum of 256 MB RAM and 2 GB of disk space. If other applications are already running on the same Box, check available resources before installation.
Prepare an active Box, the application name, and the address where it will run. You can start with the subdomain *.saploapp.pl. Installation from the catalog and configuration in the browser do not require SSH. Details of the service can be found on the Baikal hosting on Saplo page.
Step-by-step installation
- Log in to the Saplo panel, open the app catalog, and search for Baikal.
- Give the application a name, select a Box, and an available application address.
- Confirm the installation. Saplo will launch the application and prepare access via a domain with an SSL certificate.
- Wait for the installation to complete in the panel. The time depends on factors such as image download and server load.
- Open the application address via HTTPS and go to the path
/admin/, for examplehttps://your-app.saploapp.pl/admin/. Replace the example domain with the address shown in the panel. - Immediately proceed through the Baikal configuration wizard and set a strong, unique administrator password. Save it in your password manager.
- In the database configuration, leave SQLite and complete the wizard. You do not need to order or set up a separate database in the Saplo panel.
The Saplo recipe prepares a permanent location for the application's configuration and data, but it does not generate a ready-made administrator password. You set it yourself upon first access. A completed installation in the Saplo panel means it's ready for this configuration, not that user accounts have already been created.
First user, calendar, and address book
After completing the wizard, log in to the Baikal admin panel. In the user management section, add the person whose data you want to synchronize. Set a login and a separate password and save them securely. The administrator account is used to manage the server; in the calendar and contacts applications, use the data of the created user.
Open this user's settings and check the list of calendars and address books. If the necessary items are not there, create a "Personal" calendar and a "Contacts" address book. For each subsequent person, create a separate user instead of sharing the same login with everyone.
Connecting Your Phone and Computer
To configure the client, prepare the server address via HTTPS, the Baikal user login, and their password. The entry point for DAV protocols is /dav.php/, for example, https://your-app.saploapp.pl/dav.php/. The path /admin/ is for administration and is not a synchronization address. The configuration of the DAV point is described in the Baïkal installation documentation.
In a CalDAV-enabled program, add a network calendar or CalDAV account, provide the server address and user details, then select the detected calendar. For contacts, add a CardDAV account or a remote address book. Field names depend on the program and its version; if the client requires a specific calendar address, use the address of that collection from your installation instead of guessing its name.
On Android, you can use DAVx5 as a synchronization layer. Add an account with the server address and user details, select the detected resources, and allow access to the calendar and contacts. On an iPhone or Mac, add the appropriate CalDAV and CardDAV accounts in the account settings. In Thunderbird, you configure the network calendar and CardDAV book separately.
Check synchronization before data transfer
Before importing the archive, do a small test:
- On the first device, add a "Baikal Test" event. Save it in the Baikal calendar, not in the phone's local calendar.
- Start synchronization on the second device. Check the event title, time, and time zone.
- Change the time on the second device and check if the change has returned to the first.
- Add a sample contact to the CardDAV book and check if it appears on both devices.
- Delete the test data and confirm that the deletion has also synchronized.
When transferring existing data, first export a copy from your current program. Import a small sample into the target Baikal calendar or book if your client provides such a function. Check Polish characters, recurring events, and phone numbers before transferring everything. This way you will avoid mass duplication of contacts.
What to check when synchronization doesn't work
The program rejects your login or password. Make sure you're using a Baikal user account, not a Saplo panel account or an administrator password. Also, verify the full HTTPS address.
Login works, but you don't see events. Check if the correct calendar is selected for synchronization in the client and if you are saving new entries to it. Similarly, check the target address book when adding contacts.
The client doesn't detect the server automatically. Try providing the full address with /dav.php/. Automatic detection also depends on /.well-known/caldav and /.well-known/carddav redirects, described in the Baïkal troubleshooting documentation. If the problem persists, provide Saplo support with the application address, client name, and error message, without sending your password.
The application doesn't respond after installation. Check its status in the Saplo panel and the address you are opening. Report any visible error message to support, instead of deleting an installation that already contains data.
Backups and further use
Synchronization also transfers mistakes and deletions, so it's not a substitute for a backup. Box S does not include backup in the plan price. Keep calendar and contact exports outside the Box, and before updating, also take care of a copy of the SQLite database and Baikal configuration. Exporting user data and a full installation copy serve different recovery methods.
To start, one user, one calendar, and one address book are sufficient. Open the Baikal offer on Saplo, run the application on Box S for $29 per year, and check synchronization on two devices before transferring your daily data.
- #Baikal
- #CalDAV
- #CardDAV
- #Guide
- #Self-hosted
