Documentation
Getting Started
Fast, GDPR-compliant package infrastructure for Germany. Set up your mirror account and configure your first repository in under ten minutes.
What Is CodeSync?
CodeSync is a package-mirror platform operated out of Frankfurt am Main and Falkenstein (HEX-X) data centers. It provides low-latency mirrors for Debian, Ubuntu, openSUSE, Fedora, Arch Linux, Alpine, and PyPI — all stored on German soil and fully compliant with the GDPR.
Whether you are a sysadmin managing a fleet of build servers, a developer setting up a local cache, or an organization that needs auditable package provenance, CodeSync gives you a single dashboard to configure, monitor, and maintain your mirror topology. Every repository sync is logged, rate-limited per tenant, and served over TLS 1.3 from four German edge nodes.
This guide walks you through account creation, initial configuration, and the first mirror sync. By the end, you will have a working mirror URL you can point your package managers at.
Account Setup
Creating a CodeSync account is free for personal use. Organization accounts with multi-seat access, custom retention policies, and SLA-backed uptime are available through our pricing page.
Step 1
Register at the Dashboard
Navigate to dashboard.codesync.de and click Sign Up. You will need a working email address — we send a time-limited verification link (valid for 15 minutes). You may also authenticate via SSO if your organization uses Keycloak, Auth0, or Azure AD; configure the provider in Settings → Identity after initial registration.
Step 2
Verify and Choose Your Plan
After confirming your email, you land on the plan selection screen. The Free tier includes one mirror target, up to 500 GB of cached data, and best-effort sync scheduling. Pro (€29/month) adds unlimited targets, 2 TB cache, priority sync queues, and daily backups. Enterprise plans are custom-quoted and include dedicated storage arrays and on-call support.
Step 3
Generate Your API Key
Go to Settings → API Keys and create a new key. Store the secret value immediately — it is not displayed again. You will need this key for CLI configuration and for programmatic mirror management via our REST API at api.codesync.de/v1.
Your account dashboard now shows an empty mirror list. The next section covers how to add your first mirror target and start syncing.
Configuration Basics
A CodeSync mirror is defined by a target (the upstream repository), a schedule (how often to pull), and a retention policy (what to keep and what to prune). You can configure all of this through the dashboard or via the csync CLI tool.
Dashboard
Add a Mirror Target
From your dashboard, click New Mirror. Select a distribution from the preset list (Debian 12 "bookworm", Ubuntu 24.04 "noble", Fedora 40, etc.) or enter a custom upstream URL. Choose the component set — for Debian, you might pick main + contrib; for Ubuntu, main + universe. Set the sync interval (15 min, 1 hour, 4 hours, or daily) and confirm. Your mirror receives a unique URL like mirror-7f3a9.cdn.codesync.de.
CLI
Configure with csync
Install the CLI with pip install csync-cli or download the binary from github.com/codesync/cli/releases. Authenticate with csync auth login --key YOUR_API_KEY. Create a mirror with:
csync mirror create --distro debian --release bookworm --components main,contrib --schedule hourly --name "bookworm-main"
The CLI returns the mirror URL and a webhook endpoint for monitoring sync completion events.
Verification
Test Your Mirror
Once the initial sync completes (typically 2–8 minutes for a main component), verify it by checking the Release file: curl -s mirror-7f3a9.cdn.codesync.de/debian/dists/bookworm/Release | head -20. You should see a valid signature block and a Timestamp field matching the latest sync time shown in your dashboard's Sync History tab.
Next steps: Update your /etc/apt/sources.list or /etc/yum.repos.d/ files to point to your CodeSync mirror URL. Enable sync monitoring webhooks in Settings → Notifications to receive email or Slack alerts when a sync fails or exceeds the configured duration threshold. For advanced topologies — multi-region failover, signed metadata, and custom retention rules — see the Advanced Configuration guide.