Download
Corexar Server
For a shared installation: a team, or an enthusiast with their own server. Images are multi-architecture, so the same commands work on Intel/AMD and on ARM.
- Create docker-compose.yml
services: # ── Corexar Platform API (Scala 3 / ZIO 2 / FFmpeg) ───────── backend: image: registry.corexar.tech/corexar-backend:latest restart: unless-stopped ports: - "8080:8080" environment: SERVER_PORT: "8080" DB_URL: "jdbc:postgresql://postgres:5432/collection_tracker" DB_USER: "tracker" DB_PASSWORD: "secure_password" JWT_SECRET: "replace-with-a-random-secret-key" ADMIN_EMAIL: "admin@example.com" ENCRYPTION_MODE: "server_envelope" ENCRYPTION_PEPPER: "replace-with-a-random-pepper-32-chars" ELASTICSEARCH_URL: "http://elasticsearch:9200" KAFKA_BOOTSTRAP_SERVERS: "kafka:9092" MEDIA_S3_ENDPOINT: "http://minio:9000" # Address of MinIO as seen from the BROWSER (upload/download links are signed for it) MEDIA_S3_PUBLIC_ENDPOINT: "http://localhost:9010" MEDIA_S3_ACCESS_KEY: "tracker" MEDIA_S3_SECRET_KEY: "tracker123" MEDIA_S3_BUCKET: "collection-tracker-media" # Optional: enter Alpha evaluation key or leave empty for free Community edition PLATFORM_LICENSE_KEY: "" LICENSE_SERVER_URL: "https://verify.corexar.tech" depends_on: postgres: { condition: service_healthy } kafka: { condition: service_healthy } elasticsearch: { condition: service_healthy } minio: { condition: service_healthy } # ── Corexar Web Interface (React 18 / Vite / Nginx) ────────── frontend: image: registry.corexar.tech/corexar-frontend:latest restart: unless-stopped depends_on: - backend ports: - "80:80" # ── Supporting Infrastructure (Postgres, Kafka, MinIO, ES) ── postgres: image: postgres:16-alpine environment: POSTGRES_DB: collection_tracker POSTGRES_USER: tracker POSTGRES_PASSWORD: secure_password healthcheck: test: ["CMD-SHELL", "pg_isready -U tracker -d collection_tracker"] interval: 5s timeout: 3s retries: 20 volumes: - pgdata:/var/lib/postgresql/data minio: image: minio/minio:latest command: server /data --console-address ":9001" environment: MINIO_ROOT_USER: tracker MINIO_ROOT_PASSWORD: tracker123 healthcheck: test: ["CMD-SHELL", "mc ready local || exit 1"] interval: 5s timeout: 3s retries: 20 ports: - "9010:9000" volumes: - miniodata:/data elasticsearch: image: docker.elastic.co/elasticsearch/elasticsearch:8.15.0 environment: - discovery.type=single-node - xpack.security.enabled=false - "ES_JAVA_OPTS=-Xms512m -Xmx512m" healthcheck: test: ["CMD-SHELL", "curl -sf http://localhost:9200/_cluster/health || exit 1"] interval: 10s timeout: 5s retries: 30 volumes: - esdata:/usr/share/elasticsearch/data kafka: image: apache/kafka:3.8.0 environment: KAFKA_NODE_ID: 1 KAFKA_PROCESS_ROLES: broker,controller KAFKA_LISTENERS: PLAINTEXT://0.0.0.0:9092,CONTROLLER://0.0.0.0:9093 KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:9092 KAFKA_CONTROLLER_LISTENER_NAMES: CONTROLLER KAFKA_CONTROLLER_QUORUM_VOTERS: 1@kafka:9093 KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1 KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR: 1 KAFKA_TRANSACTION_STATE_LOG_MIN_ISR: 1 KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS: 0 CLUSTER_ID: "ZmZmZmZmZmZmZmZmZmZmZm" healthcheck: test: ["CMD-SHELL", "/opt/kafka/bin/kafka-broker-api-versions.sh --bootstrap-server localhost:9092 > /dev/null 2>&1 || exit 1"] interval: 10s timeout: 10s retries: 30 volumes: pgdata: miniodata: esdata:Change the passwords and secrets before you go further. For the full list of settings see Configuration.
- Start it
docker compose up -d docker compose logs -f backend - Open it and register
Go to http://localhost (port 8080 for the API). The first start takes a minute: the API waits for the database, search, the message broker and storage.
The account registered with the ADMIN_EMAIL address becomes the administrator. Opening Corexar from another device: replace localhost in MEDIA_S3_PUBLIC_ENDPOINT with the server’s address.
Free and licensed
Without a key, Server runs as the Community edition: 1 workspace, 3 collections, 100 entries each and 1 GB of files. Larger limits, encrypted collections and isolated search need a Pro or Enterprise key. During the alpha they are issued free of charge on request. Ask for a key