This guide will walk you through getting Alarik up and running on your system. The recommended approach is using Docker, which handles all dependencies and provides a consistent environment across platforms.
Before you begin, make sure you have the following installed:
The easiest way to get started is using the prebuilt Docker images from GitHub Container Registry. Create a docker-compose.yml file:
services:
alarik:
image: ghcr.io/achtungsoftware/alarik:latest
restart: unless-stopped
ports:
- "8080:8080"
environment:
- API_BASE_URL=http://localhost:8080
- CONSOLE_BASE_URL=http://localhost:3000
- ADMIN_USERNAME=alarik
- ADMIN_PASSWORD=alarik
- JWT=YOUR_SECURE_JWT_KEY
- ALLOW_ACCOUNT_CREATION=false
volumes:
- alarik-storage:/app/Storage
console:
image: ghcr.io/achtungsoftware/alarik-console:latest
restart: unless-stopped
ports:
- "3000:3000"
environment:
- NUXT_PUBLIC_API_BASE_URL=http://localhost:8080
- NUXT_PUBLIC_CONSOLE_BASE_URL=http://localhost:3000
- NUXT_PUBLIC_ALLOW_ACCOUNT_CREATION=false
depends_on:
- alarik
volumes:
alarik-storage:
Then start the services:
docker compose up -d
Once started, the following services will be available:
| Service | URL | Description |
|---|---|---|
| API | http://localhost:8080 | S3-compatible API endpoint |
| Console | http://localhost:3000 | Web-based management interface |
Alarik is configured through environment variables passed directly to each Docker container.
API_BASE_URL=http://localhost:8080
CONSOLE_BASE_URL=http://localhost:3000
The console uses Nuxt and requires the NUXT_PUBLIC_ prefix for environment variables:
NUXT_PUBLIC_API_BASE_URL=http://localhost:8080
NUXT_PUBLIC_CONSOLE_BASE_URL=http://localhost:3000
NUXT_PUBLIC_ALLOW_ACCOUNT_CREATION=false
A default admin user is always created on first startup. You can customize the credentials using these variables:
ADMIN_USERNAME=alarik
ADMIN_PASSWORD=alarik
You can configure default S3 access keys for the admin account:
DEFAULT_ACCESS_KEY=AKIAIOSFODNN7EXAMPLE
DEFAULT_SECRET_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
ALLOW_ACCOUNT_CREATION=false
Using the AWS CLI:
aws s3 --endpoint-url http://localhost:8080 ls
Or with curl:
curl http://localhost:8080
aws s3 --endpoint-url http://localhost:8080 mb s3://my-first-bucket
If you prefer to build natively without Docker, you'll need Swift 6.2 or later installed on your system.
cd alarik
swift run
For the web console (requires Node.js):
cd console
npm install
npm run dev