Install

Install Syncloom

Run the server with Docker in about five minutes, then build the apps.

1. Run the server

The server is a single container next to Postgres. A bundled Caddy takes care of HTTPS certificates, and a web app container serves the browser interface.

1 vCPU · 512 MBenough for a family or a small team
Docker 24+with the Compose plugin
A domain namepointing at the machine, ports 80 and 443 open
    1. Get the deployment bundle

      git clone https://github.com/Syncloom/syncloom-deploy.git
      cd syncloom-deploy
      
    2. Configure it

      cp .env.example .env
      

      Set SYNCLOOM_DOMAIN to your host name and choose a strong POSTGRES_PASSWORD. Everything else is optional; see the configuration reference.

    3. Start everything

      docker compose up -d
      

      Caddy obtains a Let’s Encrypt certificate on first request. Check that all four containers are healthy with docker compose ps.

    4. Create the first account

      Open https://your-domain/. The first account becomes the administrator. You will be shown your recovery key once, then asked to add a second factor, such as an authenticator app or a hardware security key.

Try it locally first

No domain yet? Use the plain-HTTP test stack on your laptop:

docker compose -f docker-compose.yml -f docker-compose.test.yml up -d
# then open http://localhost:8088

Store files in S3 instead of a volume

Set these in .env and restart:

BLOB_BACKEND=s3
S3_BUCKET=syncloom
S3_REGION=eu-central-1
S3_ENDPOINT=https://s3.example.com   # omit for AWS
S3_ACCESS_KEY=...
S3_SECRET_KEY=...

Sign in with your identity provider

Syncloom speaks OpenID Connect. Register https://your-domain/api/v1/auth/oidc/callback as a redirect URI, then set OIDC_ISSUER, OIDC_CLIENT_ID and OIDC_CLIENT_SECRET. Administrators pre-create SSO users in the admin panel, or you can enable OIDC_AUTO_PROVISION.

2. Install the apps

There are no pre-built downloads yet, so the apps are built from source. Every app signs in with your username, password and a second factor, then unlocks your vault locally.

Build the app with Xcode and XcodeGen. Files appear in the Finder sidebar and download on demand.

git clone https://github.com/Syncloom/syncloom-apple.git
git clone https://github.com/Syncloom/syncloom-macos.git
cd syncloom-macos && xcodegen && open Syncloom.xcodeproj
Build the app with Xcode from syncloom-ios (same steps as for macOS). Your encrypted files show up in the Files app next to iCloud Drive. It has not been tested on a real device yet.

The Linux client is a GTK4 app and a command-line client for servers. There are no packages yet, so build from source:

cargo install --git https://github.com/Syncloom/syncloom-linux syncloom
syncloom login https://your-domain you
syncloom daemon          # keeps ~/Syncloom in sync
The Windows client (C# and WinUI 3) is in the repository syncloom-windows. It has not been built or tested yet.
Build the app from syncloom-android with Android Studio or ./gradlew assembleDebug. It registers as a document provider, so your files appear in the system file picker. It has not been tested on a real device yet.
Nothing to install. Open your server’s address in any current browser. Files are decrypted locally with WebAssembly, and hardware security keys are supported.

3. Add a spare second factor

Open Settings → Two-step verification and add a second authenticator or a spare security key. You can enrol as many as you like, and any one of them is enough to sign in.

Updating

git pull
docker compose pull
docker compose up -d

Database migrations run automatically at startup. Back up the pgdata and blobs volumes first; see Administration.