Update
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
# ============================================================
|
||||
# SYSTEM SETTINGS
|
||||
# ============================================================
|
||||
TZ=America/New_York
|
||||
PUID=1000
|
||||
PGID=1000
|
||||
DATA_PATH=/home/miker/docker/authentik
|
||||
|
||||
# ============================================================
|
||||
# AUTHENTIK VERSION & PORTS
|
||||
# ============================================================
|
||||
AUTHENTIK_IMAGE=ghcr.io/goauthentik/server
|
||||
AUTHENTIK_TAG=2026.2.1
|
||||
COMPOSE_PORT_HTTP=9000
|
||||
COMPOSE_PORT_HTTPS=9443
|
||||
|
||||
# ============================================================
|
||||
# DATABASE CREDENTIALS
|
||||
# ============================================================
|
||||
PG_DB=authentik
|
||||
PG_USER=authentik
|
||||
PG_PASS=GenerateSecurePasswordHere
|
||||
|
||||
# ============================================================
|
||||
# SECURITY KEYS
|
||||
# ============================================================
|
||||
# Generate with: openssl rand -base64 36
|
||||
AUTHENTIK_SECRET_KEY=GenerateSecureSecretKeyHere
|
||||
@@ -1,79 +1,79 @@
|
||||
# Authentik Identity & SSO Stack
|
||||
services:
|
||||
postgresql:
|
||||
env_file:
|
||||
- .env
|
||||
image: docker.io/library/postgres:16-alpine
|
||||
container_name: authentik-db
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
POSTGRES_DB: ${PG_DB:-authentik}
|
||||
POSTGRES_PASSWORD: ${PG_PASS:?database password required}
|
||||
POSTGRES_USER: ${PG_USER:-authentik}
|
||||
- POSTGRES_DB=${PG_DB:-authentik}
|
||||
- POSTGRES_USER=${PG_USER:-authentik}
|
||||
- POSTGRES_PASSWORD=${PG_PASS}
|
||||
- TZ=${TZ}
|
||||
volumes:
|
||||
- ${DATA_PATH}/database:/var/lib/postgresql/data
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "pg_isready -d $${POSTGRES_DB} -U $${POSTGRES_USER}"]
|
||||
interval: 30s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
start_period: 20s
|
||||
test:
|
||||
- CMD-SHELL
|
||||
- pg_isready -d $${POSTGRES_DB} -U $${POSTGRES_USER}
|
||||
timeout: 5s
|
||||
image: docker.io/library/postgres:16-alpine
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- /home/miker/docker/authentik/database:/var/lib/postgresql/data
|
||||
networks:
|
||||
- authentik
|
||||
|
||||
server:
|
||||
image: ${AUTHENTIK_IMAGE:-ghcr.io/goauthentik/server}:${AUTHENTIK_TAG:-2026.2.1}
|
||||
container_name: authentik-server
|
||||
restart: unless-stopped
|
||||
command: server
|
||||
environment:
|
||||
- AUTHENTIK_POSTGRESQL__HOST=postgresql
|
||||
- AUTHENTIK_POSTGRESQL__NAME=${PG_DB:-authentik}
|
||||
- AUTHENTIK_POSTGRESQL__USER=${PG_USER:-authentik}
|
||||
- AUTHENTIK_POSTGRESQL__PASSWORD=${PG_PASS}
|
||||
- AUTHENTIK_SECRET_KEY=${AUTHENTIK_SECRET_KEY}
|
||||
- TZ=${TZ}
|
||||
volumes:
|
||||
- ${DATA_PATH}/data:/data
|
||||
- ${DATA_PATH}/custom-templates:/templates
|
||||
ports:
|
||||
- "${COMPOSE_PORT_HTTP}:9000"
|
||||
- "${COMPOSE_PORT_HTTPS}:9443"
|
||||
shm_size: 512mb
|
||||
depends_on:
|
||||
postgresql:
|
||||
condition: service_healthy
|
||||
env_file:
|
||||
- .env
|
||||
environment:
|
||||
AUTHENTIK_POSTGRESQL__HOST: postgresql
|
||||
AUTHENTIK_POSTGRESQL__NAME: ${PG_DB:-authentik}
|
||||
AUTHENTIK_POSTGRESQL__PASSWORD: ${PG_PASS}
|
||||
AUTHENTIK_POSTGRESQL__USER: ${PG_USER:-authentik}
|
||||
AUTHENTIK_SECRET_KEY: ${AUTHENTIK_SECRET_KEY:?secret key required}
|
||||
image: ${AUTHENTIK_IMAGE:-ghcr.io/goauthentik/server}:${AUTHENTIK_TAG:-2026.2.1}
|
||||
ports:
|
||||
- ${COMPOSE_PORT_HTTP}:9000
|
||||
- ${COMPOSE_PORT_HTTPS}:9443
|
||||
restart: unless-stopped
|
||||
shm_size: 512mb
|
||||
volumes:
|
||||
- /home/miker/docker/authentik/data:/data
|
||||
- /home/miker/docker/authentik/custom-templates:/templates
|
||||
networks:
|
||||
- authentik
|
||||
- main
|
||||
|
||||
worker:
|
||||
image: ${AUTHENTIK_IMAGE:-ghcr.io/goauthentik/server}:${AUTHENTIK_TAG:-2026.2.1}
|
||||
container_name: authentik-worker
|
||||
restart: unless-stopped
|
||||
command: worker
|
||||
user: root
|
||||
environment:
|
||||
- AUTHENTIK_POSTGRESQL__HOST=postgresql
|
||||
- AUTHENTIK_POSTGRESQL__NAME=${PG_DB:-authentik}
|
||||
- AUTHENTIK_POSTGRESQL__USER=${PG_USER:-authentik}
|
||||
- AUTHENTIK_POSTGRESQL__PASSWORD=${PG_PASS}
|
||||
- AUTHENTIK_SECRET_KEY=${AUTHENTIK_SECRET_KEY}
|
||||
- TZ=${TZ}
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
- ${DATA_PATH}/data:/data
|
||||
- ${DATA_PATH}/certs:/certs
|
||||
- ${DATA_PATH}/custom-templates:/templates
|
||||
shm_size: 512mb
|
||||
depends_on:
|
||||
postgresql:
|
||||
condition: service_healthy
|
||||
env_file:
|
||||
- .env
|
||||
environment:
|
||||
AUTHENTIK_POSTGRESQL__HOST: postgresql
|
||||
AUTHENTIK_POSTGRESQL__NAME: ${PG_DB:-authentik}
|
||||
AUTHENTIK_POSTGRESQL__PASSWORD: ${PG_PASS}
|
||||
AUTHENTIK_POSTGRESQL__USER: ${PG_USER:-authentik}
|
||||
AUTHENTIK_SECRET_KEY: ${AUTHENTIK_SECRET_KEY:?secret key required}
|
||||
image: ${AUTHENTIK_IMAGE:-ghcr.io/goauthentik/server}:${AUTHENTIK_TAG:-2026.2.1}
|
||||
restart: unless-stopped
|
||||
shm_size: 512mb
|
||||
user: root
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
- /home/miker/docker/authentik/data:/data
|
||||
- /home/miker/docker/authentik/certs:/certs
|
||||
- /home/miker/docker/authentik/custom-templates:/templates
|
||||
networks:
|
||||
- authentik
|
||||
- main
|
||||
|
||||
networks:
|
||||
main:
|
||||
external: true # Tells Compose not to create this network
|
||||
external: true
|
||||
authentik:
|
||||
external: true # Tells Compose not to create this network
|
||||
external: true
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
# ============================================================
|
||||
# SYSTEM SETTINGS
|
||||
# ============================================================
|
||||
TZ=America/New_York
|
||||
PUID=1000
|
||||
PGID=1000
|
||||
PORT=8250
|
||||
|
||||
# ============================================================
|
||||
# PATH LOCATIONS
|
||||
# ============================================================
|
||||
DATA_PATH=/home/miker/docker/duplicati
|
||||
DOCKER_ROOT=/home/miker/docker
|
||||
IMMICH_LIBRARY=/home/miker/docker/immich/library
|
||||
|
||||
# ============================================================
|
||||
# SECURITY KEYS
|
||||
# ============================================================
|
||||
SETTINGS_ENCRYPTION_KEY=84Jo17Ecw5muzGgqVjpeZQYnWBH7XFM7R01CdR646jSIfNbxgp
|
||||
@@ -1,17 +1,30 @@
|
||||
# Duplicati — Encrypted Offsite/Local Backup Client
|
||||
services:
|
||||
duplicati:
|
||||
image: lscr.io/linuxserver/duplicati:latest
|
||||
container_name: duplicati
|
||||
environment:
|
||||
- PUID=1000 # Your host user ID
|
||||
- PGID=1000 # Your host group ID
|
||||
- TZ=America/New_York
|
||||
- SETTINGS_ENCRYPTION_KEY=84Jo17Ecw5muzGgqVjpeZQYnWBH7XFM7R01CdR646jSIfNbxgp # <-- Add this line
|
||||
volumes:
|
||||
- /home/miker/docker/duplicati/config:/config
|
||||
- /home/miker/docker/immich/library:/source/photos:ro # Mounts your photo directory as read-only
|
||||
- /home/miker/docker:/source/apps:ro # Mounts your application data files
|
||||
- /home/miker/docker/duplicati/backups:/backups # Optional local backup location
|
||||
ports:
|
||||
- 8250:8200
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- PUID=${PUID}
|
||||
- PGID=${PGID}
|
||||
- TZ=${TZ}
|
||||
- SETTINGS_ENCRYPTION_KEY=${SETTINGS_ENCRYPTION_KEY}
|
||||
volumes:
|
||||
- ${DATA_PATH}/config:/config
|
||||
- ${DATA_PATH}/backups:/backups
|
||||
- ${IMMICH_LIBRARY}:/source/photos:ro
|
||||
- ${DOCKER_ROOT}:/source/apps:ro
|
||||
ports:
|
||||
- "${PORT}:8200"
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "curl -f http://localhost:8200/ || exit 1"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
start_period: 20s
|
||||
networks:
|
||||
- main
|
||||
|
||||
networks:
|
||||
main:
|
||||
external: true
|
||||
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
# ============================================================
|
||||
# SYSTEM SETTINGS
|
||||
# ============================================================
|
||||
TZ=America/New_York
|
||||
IMMICH_VERSION=v3
|
||||
|
||||
# ============================================================
|
||||
# PATH LOCATIONS
|
||||
# ============================================================
|
||||
UPLOAD_LOCATION=/home/miker/docker/immich/library
|
||||
DB_DATA_LOCATION=/home/miker/docker/immich/postgres
|
||||
|
||||
# ============================================================
|
||||
# DATABASE CREDENTIALS
|
||||
# ============================================================
|
||||
DB_USERNAME=postgresadmin
|
||||
DB_PASSWORD=mM3PXXUjK0QMz7
|
||||
DB_DATABASE_NAME=immich
|
||||
+36
-26
@@ -1,51 +1,56 @@
|
||||
# Immich — Self-Hosted Photo & Video Management
|
||||
name: immich
|
||||
|
||||
services:
|
||||
immich-server:
|
||||
container_name: immich_server
|
||||
image: ghcr.io/immich-app/immich-server:v3
|
||||
image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-v3}
|
||||
# extends:
|
||||
# file: hwaccel.transcoding.yml
|
||||
# service: cpu
|
||||
volumes:
|
||||
- /home/miker/docker/immich/library:/data
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
environment:
|
||||
DB_USERNAME: postgresadmin
|
||||
DB_PASSWORD: mM3PXXUjK0QMz7
|
||||
DB_DATABASE_NAME: immich
|
||||
- DB_USERNAME=${DB_USERNAME}
|
||||
- DB_PASSWORD=${DB_PASSWORD}
|
||||
- DB_DATABASE_NAME=${DB_DATABASE_NAME}
|
||||
- TZ=${TZ}
|
||||
volumes:
|
||||
- ${UPLOAD_LOCATION}:/data
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
ports:
|
||||
- '2283:2283'
|
||||
- "2283:2283"
|
||||
depends_on:
|
||||
- redis
|
||||
- database
|
||||
restart: always
|
||||
healthcheck:
|
||||
disable: false
|
||||
database:
|
||||
condition: service_healthy
|
||||
redis:
|
||||
condition: service_healthy
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- immich
|
||||
- main
|
||||
|
||||
immich-machine-learning:
|
||||
container_name: immich_machine_learning
|
||||
image: ghcr.io/immich-app/immich-machine-learning:v3
|
||||
image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-v3}
|
||||
# extends:
|
||||
# file: hwaccel.ml.yml
|
||||
# service: cpu
|
||||
environment:
|
||||
- TZ=${TZ}
|
||||
volumes:
|
||||
- model-cache:/cache
|
||||
restart: always
|
||||
healthcheck:
|
||||
disable: false
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- immich
|
||||
|
||||
redis:
|
||||
container_name: immich_redis
|
||||
image: docker.io/valkey/valkey:9@sha256:3b55fbaa0cd93cf0d9d961f405e4dfcc70efe325e2d84da207a0a8e6d8fde4f9
|
||||
restart: unless-stopped
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "valkey-cli ping || exit 1"]
|
||||
restart: always
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
networks:
|
||||
- immich
|
||||
|
||||
@@ -53,16 +58,21 @@ services:
|
||||
container_name: immich_postgres
|
||||
image: ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0
|
||||
environment:
|
||||
POSTGRES_PASSWORD: mM3PXXUjK0QMz7
|
||||
POSTGRES_USER: postgresadmin
|
||||
POSTGRES_DB: immich
|
||||
POSTGRES_INITDB_ARGS: '--data-checksums'
|
||||
- POSTGRES_USER=${DB_USERNAME}
|
||||
- POSTGRES_PASSWORD=${DB_PASSWORD}
|
||||
- POSTGRES_DB=${DB_DATABASE_NAME}
|
||||
- POSTGRES_INITDB_ARGS=--data-checksums
|
||||
- TZ=${TZ}
|
||||
volumes:
|
||||
- /home/miker/docker/immich/postgres:/var/lib/postgresql/data
|
||||
shm_size: 128mb
|
||||
restart: always
|
||||
- ${DB_DATA_LOCATION}:/var/lib/postgresql/data
|
||||
shm_size: 512mb
|
||||
restart: unless-stopped
|
||||
healthcheck:
|
||||
disable: false
|
||||
test: ["CMD-SHELL", "pg_isready -U ${DB_USERNAME} -d ${DB_DATABASE_NAME}"]
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
start_period: 15s
|
||||
networks:
|
||||
- immich
|
||||
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
# ============================================================
|
||||
# SYSTEM SETTINGS
|
||||
# ============================================================
|
||||
TZ=America/New_York
|
||||
PUID=1000
|
||||
PGID=1000
|
||||
DATA_PATH=/home/miker/docker/obsidian
|
||||
|
||||
# ============================================================
|
||||
# OBSIDIAN LIVESYNC / COUCHDB CONFIGURATION
|
||||
# ============================================================
|
||||
COUCHDB_USER=miker
|
||||
COUCHDB_PASSWORD=tw9222dvO91ZHb
|
||||
COUCHDB_DATABASE=obsidian
|
||||
SERVER_DOMAIN=https://obsidian.mikemcfetridge.com
|
||||
+21
-19
@@ -1,30 +1,32 @@
|
||||
# Obsidian Self-Hosted LiveSync (CouchDB Engine)
|
||||
services:
|
||||
couchdb-obsidian-livesync:
|
||||
image: docker.io/oleduc/docker-obsidian-livesync-couchdb:master
|
||||
container_name: obsidian-livesync
|
||||
# image: couchdb:3.3.3 # Specify a stable CouchDB version
|
||||
image: 'docker.io/oleduc/docker-obsidian-livesync-couchdb:master'
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
# User and password for CouchDB admin access
|
||||
- COUCHDB_USER=miker
|
||||
- COUCHDB_PASSWORD=tw9222dvO91ZHb
|
||||
- COUCHDB_DATABASE=obsidian
|
||||
- SERVER_DOMAIN=https://obsidian.mikemcfetridge.com
|
||||
# Optional: Set PUID, PGID, UMASK, and TZ for user/group permissions and timezone
|
||||
- PUID=1000
|
||||
- PGID=1000
|
||||
- UMASK=0022
|
||||
- TZ=America/New_York # Adjust timezone as needed
|
||||
- COUCHDB_USER=${COUCHDB_USER}
|
||||
- COUCHDB_PASSWORD=${COUCHDB_PASSWORD}
|
||||
- COUCHDB_DATABASE=${COUCHDB_DATABASE}
|
||||
- SERVER_DOMAIN=${SERVER_DOMAIN}
|
||||
- PUID=${PUID}
|
||||
- PGID=${PGID}
|
||||
- UMASK=002
|
||||
- TZ=${TZ}
|
||||
volumes:
|
||||
# Mount a local directory for CouchDB data persistence
|
||||
- /home/miker/docker/obsidian/data:/opt/couchdb/data
|
||||
# Mount a local directory for CouchDB configuration files
|
||||
- /home/miker/docker/obsidian/config:/opt/couchdb/etc/local.d
|
||||
- ${DATA_PATH}/data:/opt/couchdb/data
|
||||
- ${DATA_PATH}/config:/opt/couchdb/etc/local.d
|
||||
ports:
|
||||
# Map CouchDB's default port 5984 to the host machine
|
||||
- "5984:5984"
|
||||
restart: unless-stopped # Ensure the container restarts automatically unless explicitly stopped
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://localhost:5984/_up"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 5
|
||||
start_period: 20s
|
||||
networks:
|
||||
- main
|
||||
|
||||
networks:
|
||||
main:
|
||||
external: true # Tells Compose not to create this network
|
||||
external: true
|
||||
|
||||
Reference in New Issue
Block a user