Back to Home
Self-Hosted

Bring Your Own Server

Complete data sovereignty. Deploy the MyAuth backend on your own infrastructure and take full control of your 2FA data.

Why Self-Host?

Don't trust our cloud? You don't have to. MyAuth is designed with a "Bring Your Own Server" architecture. While our managed cloud service is secure by design (we can never see your data thanks to zero-knowledge encryption), some users and organizations prefer absolute control over their infrastructure. We built BYOS for exactly that.

🏢

Enterprise Compliance

Meet regulatory requirements by keeping all data within your own infrastructure.

🔐

Total Privacy

Your encrypted data never touches third-party servers. Period.

⚙️

Custom Configuration

Tweak server settings, backup schedules, and scaling to your exact needs.

How It Works

1

Deploy the Backend

Clone the open-source MyAuth backend repository and deploy it on your preferred platform such as Docker, bare metal, Kubernetes, or any cloud provider. The backend is lightweight and runs on minimal resources.

2

Configure Your Server URL

Open MyAuth on your device, navigate to Settings, and enter your custom server URL. The app will validate the connection and switch to your self-hosted backend seamlessly.

3

Sync Securely on Your Terms

All your 2FA data is encrypted on-device with your private key before syncing. Your server stores only encrypted blobs, even with full server access, nobody can read your secrets.

Quick Start

Deploy with Docker Compose

docker-compose.yml
version: "3.8"
services:
  myauth-server:
    image: ghcr.io/myauth/server:latest
    ports:
      - "8080:8080"
    environment:
      - DATABASE_URL=postgres://user:pass@db:5432/myauth
      - JWT_SECRET=your-secure-secret
    depends_on:
      - db
  db:
    image: postgres:16-alpine
    volumes:
      - pgdata:/var/lib/postgresql/data

Point the App to Your Server

settings.yaml
server:
url:https://myauth.yourdomain.com
encryption:client-side
sync:enabled

Architecture Overview

📱
Mobile
iOS & Android
🔒 Client-Side Encrypted

Your Server

Stores only encrypted blobs, can never read your secrets

🗄️
PostgreSQL
Your database, your rules

Server Requirements

Minimum

  • 1 CPU core
  • 512 MB RAM
  • 1 GB disk space
  • Docker or Node.js 20+

Supported Platforms

DockerKubernetesAWSGCPAzureDigitalOceanBare MetalRailway

Ready to Self-Host?

Get started in minutes. Clone the repository, configure your environment, and take full ownership of your 2FA infrastructure.