Skip to main content

Add your description here

Project description

Arkitekt Server

A command-line tool for deploying and managing an Arkitekt server deployments. Arkitekt Server provides a comprehensive platform for scientific computing and data management, with built-in support for authentication, task orchestration, data storage, and containerized application deployment.

Overview

Arkitekt Server is a deployment configuration management tool that simplifies the setup and management of the Arkitekt ecosystem. It generates Docker Compose configurations and handles the complex orchestration of multiple services including databases, message queues, object storage, and various scientific computing services.

Quick Start: How to Start the Server

Prerequisites

  • Python 3.12+
  • Docker and Docker Compose
  • UVX (recommended) or pip

1. Initialize Your Deployment

# Default configuration (recommended for beginners)
uvx arkitekt-server init default

# Development configuration (with hot-reload support)
uvx arkitekt-server init dev

# Minimal configuration (lightweight setup)
uvx arkitekt-server init minimal

2. Configure Services (Optional)

# Enable specific services you need
uvx arkitekt-server service rekuest --enable
uvx arkitekt-server service mikro --enable
uvx arkitekt-server service kabinet --enable

3. Set Up Users

# Add users interactively
uvx arkitekt-server auth user add

4. Build and Start

# Generate Docker Compose files
uvx arkitekt-server build docker

# Start all services
uvx arkitekt-server start

5. Access Your Server

Wait for services to initialize, then access via the Arkitekt Orkestrator interface at the configured URL.

Additional Commands

# Update services to latest versions
uvx arkitekt-server update

# View configured users (development only)
uvx arkitekt-server inspect users

# Create temporary instance for testing
uvx arkitekt-server ephemeral --port 8080

Detailed Documentation

For comprehensive documentation, see the docs/ folder:

Oh my god, I forgot all of my passwords!

If you forget your preconfiugred user passwords, you can reset them by running:

uvx arkitekt-server inspect users

This command will list all users and their roles, that you have configured previously. Of course you would never use this in production, but it is a useful command for development and testing purposes.

Non-UVX Usage

If you prefer not to use UVX, you can run the tool directly with:

pip install arkitekt-server
arkitekt-server init default

Key Features

  • One-Command Deployment: Generate complete Docker Compose configurations with sensible defaults
  • Service Deployment: Deploy and manage multiple interconnected services
  • Authentication & Authorization: Built-in user management with JWT-based authentication
  • Development Mode: Hot-reload support for development with GitHub repository mounting (when available)

Core Services

The Arkitekt ecosystem includes several specialized services:

  • Lok: Authentication and authorization service with JWT token management
  • Rekuest: Task orchestration and workflow management
  • Mikro: Image and microscopy data management
  • Kabinet: Container and application registry
  • Fluss: Workflow execution engine
  • Kraph: Knowledge graph and metadata management
  • Elektro: Event streaming and notifications
  • Alpaka: AI/ML model management with Ollama integration

Quick Start

Initialize a new deployment

# Create a default configuration
arkitekt-server init default

# Create a development configuration with GitHub mounting
arkitekt-server init dev

# Create a minimal configuration
arkitekt-server init minimal

Configure services

# Enable/disable specific services
arkitekt-server service rekuest --enable
arkitekt-server service mikro --enable
arkitekt-server service kabinet --enable

Manage users

# Add a new user
arkitekt-server auth user add

Allows you to add a new user with options for username, email, and password.

Deploy

When ready to deploy, run:

# Generate Docker Compose files and deploy
arkitekt-server build docker

This command generates the necessary Docker Compose files based on your configuration and starts the services.

Start the services

docker compose up

This command starts all the services defined in the generated Docker Compose files, wait for the services to be up and running, and then you can access the deployment though the orkestrator interface.

Configuration

The tool generates and manages a arkitekt_server_config.yaml file that contains all deployment settings. This file includes:

  • Service configurations and Docker images
  • Database and Redis settings
  • Object storage (MinIO) configuration
  • Authentication keys and secrets
  • User and group management
  • Network and routing configuration

This file can be customized to suit your deployment needs, allowing you to specify local or remote databases, shared or dedicated storage buckets, and development or production deployment modes. This config-file is the central point for managing your Arkitekt Server deployment. And it is automatically generated based on the services you enable and the options you choose during initialization.

Architecture

Arkitekt Server uses a self-container-service architecture with:

  • PostgreSQL: Primary database for all services
  • Redis: Message queuing and caching
  • MinIO: S3-compatible object storage
  • Caddy: Reverse proxy and gateway
  • Docker: Container orchestration

Each service can be configured independently with options for:

  • Local or remote databases
  • Shared or dedicated storage buckets
  • Development or production deployment modes
  • Custom authentication configurations

Development

For development workflows, the tool supports:

  • GitHub repository mounting for live code reloading
  • Debug mode with detailed logging
  • Separate development configurations
  • Hot-swappable service configurations

License

MIT License

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

arkitekt_server-1.7.0.tar.gz (75.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

arkitekt_server-1.7.0-py3-none-any.whl (87.5 kB view details)

Uploaded Python 3

File details

Details for the file arkitekt_server-1.7.0.tar.gz.

File metadata

  • Download URL: arkitekt_server-1.7.0.tar.gz
  • Upload date:
  • Size: 75.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.8.22

File hashes

Hashes for arkitekt_server-1.7.0.tar.gz
Algorithm Hash digest
SHA256 ee4f304780b7f1dddd24a6db08eaaad9b1d055f065fe74fe42b740abd573d5e2
MD5 9001c92f1c48719e9191a0fe61714b40
BLAKE2b-256 56897023d347178128d95be9f5a67798a8f0767adae4c3ba7b6edd4cd4b2cab1

See more details on using hashes here.

File details

Details for the file arkitekt_server-1.7.0-py3-none-any.whl.

File metadata

File hashes

Hashes for arkitekt_server-1.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0d585c554b4f5f928d11e33eb4bf098eff836026727eb2d528c6e114e01856c3
MD5 6386603ea91b1d7ebe53f6c3de0ac22e
BLAKE2b-256 d015bef80e0e39e07a309c118620421fde39b34f6bfc4b55f7a3342250ae0bbc

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page