Attune
Attune is a tool for securely publishing and hosting Linux packages.
Join our Community Slack to connect with other users and get help.
- Flexible deployment: Deploy a self-hosted package repository, or use our managed cloud infrastructure.
- Secure by design: Attune's CLI does repository index signing locally, so you can own your signing keys without ever exposing them.
- Really, really fast: Attune does incremental repository index rebuilds, so adding and removing packages is really fast.
Attune is available in two editions:
- Community Edition: Free and open source, perfect for individual developers and small teams
- Enterprise Edition: For organizations with advanced security and compliance needs, includes priority support and advanced security features
See our pricing page for a detailed comparison of features between editions.
We currently support publishing APT (Debian and Ubuntu) repositories, with more coming soon.
Installing the CLI
If you only need the Attune CLI (without setting up the control plane), you can install it directly:
macOS
# Add the Attune Homebrew tap brew tap attunehq/attune # Install Attune CLI brew install attune
Linux
# Download the latest .deb package from the GitHub releases page: # https://github.com/attunehq/attune/releases/latest # Install using apt sudo apt install ./attune_VERSION_linux_amd64.deb
Quick Start
Here's how to set up an APT repository in about 5 minutes.
Prerequisites
- Docker: Required for running the Attune control plane and required services (PostgreSQL and MinIO)
- Rust: Required for building the Attune CLI
- GnuPG (
gpg): Required for signing packages
Setup
# 1. Clone the repository git clone https://github.com/attunehq/attune.git cd attune # 2. Set up environment variables cp .env.example .env # Modify values in .env as needed for your setup # 3. Start the control plane and supporting services docker compose up -d # This starts: # - Attune control plane on port 3000 # - PostgreSQL on port 5432 (default database: attune, default credentials: attune/attune) # - MinIO on ports 9000/9001 (default credentials: attuneminio/attuneminio) # 4. Build and install the CLI cargo install --path ./packages/attune # 5. Generate a GPG key (if you don't already have one) gpg --generate-key # 6. Get the key ID of your secret key gpg --list-secret-keys # Note the 40 character hexadecimal string next to the `sec` entries # 7. Create a new repository attune apt repo create example.com # 8. Add a package to your repository attune apt pkg add --repo example.com --key-id $YOUR_GPG_KEY_ID $PATH_TO_DEB # Replace: # - $YOUR_GPG_KEY_ID with your GPG key ID from step 6 # - $PATH_TO_DEB with the path to your .deb package
For more detailed setup instructions and configuration options, refer to the self-hosting guide.
License
Attune is Apache 2 licensed.