-
Notifications
You must be signed in to change notification settings - Fork 0
Installation
Carlo edited this page Jun 17, 2026
·
2 revisions
- Docker (version 24+)
- Docker Compose (V2, included with Docker Desktop)
- The following ports must be available:
-
8080— Backend API (Only if API must be reachable from outside of docker network) -
5173— Frontend
-
services:
mariadb:
image: mariadb:11
restart: unless-stopped
environment:
MARIADB_ROOT_PASSWORD: CHANGEME_DB_PASSWORD
MARIADB_DATABASE: CHANGEME_DB_NAME
volumes:
- mariadb_data:/var/lib/mysql
healthcheck:
test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
interval: 10s
timeout: 5s
retries: 5
backend:
image: ghcr.io/alleslockr/alleslocker-backend:latest
restart: unless-stopped
#ports:
# - "8080:8080" Only if you want to expose the api
environment:
SPRING_DATASOURCE_URL: jdbc:mariadb://mariadb:3306/CHANGEME_DB_NAME
SPRING_DATASOURCE_USERNAME: root
SPRING_DATASOURCE_PASSWORD: CHANGEME_DB_PASSWORD
SPRING_JPA_HIBERNATE_DDL_AUTO: update
SECURITY_JWT_SECRET: CHANGEME_JWT_SECRET
SECURITY_JWT_EXPIRATION: CHANGEME_JWT_EXPIRATION_MS
APP_SECURITY_MASTER_KEY: CHANGEME_MASTER_KEY
APP_CORS_ALLOWED_ORIGINS: CHANGEME_CORS_ORIGINS
depends_on:
mariadb:
condition: service_healthy
frontend:
image: ghcr.io/alleslockr/alleslocker-frontend:latest
restart: unless-stopped
ports:
- "5173:80"
environment:
VITE_API_URL: CHANGEME_API_URL
depends_on:
- backend
volumes:
mariadb_data:| Placeholder | Description | Example value |
|---|---|---|
CHANGEME_DB_PASSWORD |
MariaDB root password | s3cure!Passw0rd |
CHANGEME_DB_NAME |
Database name | alleslocker |
CHANGEME_JWT_SECRET |
Secret key for signing JWT tokens (min 32 chars, random hex recommended) |
a1b2c3d4e5f6... (64 hex chars) |
CHANGEME_JWT_EXPIRATION_MS |
JWT token validity in milliseconds |
86400000 (24 hours) |
CHANGEME_MASTER_KEY |
AES key for encrypting vendor API credentials at rest (32 base64 chars) | generate via openssl rand -base64 32
|
CHANGEME_CORS_ORIGINS |
Comma-separated list of allowed frontend origins | http://localhost:5173,https://yourdomain.com |
CHANGEME_API_URL |
Backend URL the frontend talks to |
http://localhost:8080 or https://api.yourdomain.com
|
docker compose up -dCheck that all containers are running:
docker compose psdocker compose logs -fdocker compose down # stops and removes containers
docker compose down -v # stops and removes containers + volumes (WARNING: deletes all data)docker compose pull # pulls the latest images from GHCR
docker compose up -d # recreates containers with updated images
docker image prune -f # cleans up old dangling images