Swap Photopea -> GIMP (lscr.io/linuxserver/gimp); remove broken photopea container/basic-auth on media tools
This commit is contained in:
@@ -14,7 +14,7 @@ storage and an audio transcriber.
|
|||||||
(sam / jo / harry / finn). It remembers conversations (shown in a sidebar),
|
(sam / jo / harry / finn). It remembers conversations (shown in a sidebar),
|
||||||
can summarise web pages and documents, and can understand and generate images.
|
can summarise web pages and documents, and can understand and generate images.
|
||||||
It is hardened so it cannot run system commands.
|
It is hardened so it cannot run system commands.
|
||||||
- **Media tools** — browser-based editing apps: Photopea (images), KdenLive
|
- **Media tools** — browser-based editing apps: GIMP (images), KdenLive
|
||||||
(video), Audacity + LMMS (audio & music).
|
(video), Audacity + LMMS (audio & music).
|
||||||
- **Transcriber** — turns audio into MIDI (Basic Pitch) and full sheet music
|
- **Transcriber** — turns audio into MIDI (Basic Pitch) and full sheet music
|
||||||
(MuScriptor).
|
(MuScriptor).
|
||||||
|
|||||||
@@ -169,16 +169,25 @@ services:
|
|||||||
<<: *logging
|
<<: *logging
|
||||||
|
|
||||||
# ----- Tool containers (profile "tools") -----
|
# ----- Tool containers (profile "tools") -----
|
||||||
# Images per Obsidian blueprint: Photopea shtse8, KdenLive + Audacity via
|
# Images per Obsidian blueprint: media tools via LinuxServer standalone apps.
|
||||||
# LinuxServer standalone apps. Host ports reassigned (8081 taken by airflow,
|
# Host ports reassigned (8081 taken by airflow, 3000 taken by a NixOS
|
||||||
# 3000 taken by a NixOS service) -> video 8083, audio 8084.
|
# service) -> video 8083, audio 8084, gimp 8087.
|
||||||
photopea:
|
gimp:
|
||||||
image: ${IMAGE_PHOTOPEA:-shtse8/photopea:1.0}
|
image: ${IMAGE_GIMP:-lscr.io/linuxserver/gimp:latest}
|
||||||
profiles: ["tools"]
|
profiles: ["tools"]
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
environment:
|
||||||
|
PUID: 1000
|
||||||
|
PGID: 100
|
||||||
|
TZ: Australia/Melbourne
|
||||||
|
DARK_MODE: "true"
|
||||||
ports:
|
ports:
|
||||||
- "8487:8887"
|
- "8087:3000"
|
||||||
|
volumes:
|
||||||
|
- gimp-config:/config
|
||||||
|
- /mnt/data/family-home-lab/shared-media:/media:ro
|
||||||
networks: [fhl-net]
|
networks: [fhl-net]
|
||||||
|
shm_size: 1gb
|
||||||
<<: *logging
|
<<: *logging
|
||||||
|
|
||||||
video-editor:
|
video-editor:
|
||||||
@@ -217,6 +226,7 @@ volumes:
|
|||||||
pgdata:
|
pgdata:
|
||||||
redisdata:
|
redisdata:
|
||||||
rabbitmqdata:
|
rabbitmqdata:
|
||||||
|
gimp-config:
|
||||||
video-config:
|
video-config:
|
||||||
audio-config:
|
audio-config:
|
||||||
|
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
|
|
||||||
## Public — *.lab.audasmedia.com.au
|
## Public — *.lab.audasmedia.com.au
|
||||||
console.lab # Family Home Lab portal (login)
|
console.lab # Family Home Lab portal (login)
|
||||||
photo.lab / video.lab / audio.lab / lmms.lab # media editor tools (basic-auth)
|
video.lab / audio.lab / lmms.lab / gimp.lab # media editor tools (no login) (photopea removed 2026-08-26)
|
||||||
dsh-sam.lab dsh-jo.lab dsh-harry.lab dsh-finn.lab # DeepSeek chat (basic-auth)
|
dsh-sam.lab dsh-jo.lab dsh-harry.lab dsh-finn.lab # DeepSeek chat (basic-auth)
|
||||||
chat.lab # family group chat
|
chat.lab # family group chat
|
||||||
pb.chat.lab # chat admin (admin-only, basic-auth)
|
pb.chat.lab # chat admin (admin-only, basic-auth)
|
||||||
@@ -47,9 +47,9 @@ where-woof.com admin.where-woof.com # family location
|
|||||||
homeassistant.lab.quickweb.com.au # HA mirror
|
homeassistant.lab.quickweb.com.au # HA mirror
|
||||||
|
|
||||||
## auth model
|
## auth model
|
||||||
- No-login tools behind Caddy basic-auth: photo/video/audio/lmms, dsh-*, omniroute,
|
- Media/chat browser tools (video/audio/lmms/gimp, dsh-*, omniroute, photo-filter) have NO login
|
||||||
photo-filter, dozzle, sams, pb.chat, ntfy, plus apps left on basic-auth (toora,
|
(basic-auth removed 2026-08-26 so they load fully). Apps still behind basic-auth: toora, homebox,
|
||||||
homebox, phpipam, watchyourlan, librenms, kopia, backrest, filebrowser, ...).
|
phpipam, watchyourlan, librenms, kopia, backrest, filebrowser, dozzle, sams, pb.chat, ntfy.
|
||||||
- Apps with own login (basic-auth REMOVED so their mobile apps/APIs work): homeassistant,
|
- Apps with own login (basic-auth REMOVED so their mobile apps/APIs work): homeassistant,
|
||||||
nextcloud, immich, audiobookshelf, vikunja, proxmox(+backup), portainer, grafana,
|
nextcloud, immich, audiobookshelf, vikunja, proxmox(+backup), portainer, grafana,
|
||||||
uptimekuma, supabase.
|
uptimekuma, supabase.
|
||||||
|
|||||||
@@ -72,13 +72,13 @@ def _cat() -> list[Tool]:
|
|||||||
# ---- Chat & AI -----------------------------------------------------
|
# ---- Chat & AI -----------------------------------------------------
|
||||||
Tool("dsh", "DeepSeek Harness", "chat",
|
Tool("dsh", "DeepSeek Harness", "chat",
|
||||||
"Your personal assistant instance", "https://dsh-sam.lab.audasmedia.com.au",
|
"Your personal assistant instance", "https://dsh-sam.lab.audasmedia.com.au",
|
||||||
private=True, login=True),
|
private=True),
|
||||||
Tool("chat-lab", "Family Chat", "chat",
|
Tool("chat-lab", "Family Chat", "chat",
|
||||||
"Group chat — available to everyone", "https://chat.lab.audasmedia.com.au", login=True),
|
"Group chat — available to everyone", "https://chat.lab.audasmedia.com.au", login=True),
|
||||||
Tool("pb-chat", "PB Chat (Admin)", "chat",
|
Tool("pb-chat", "PB Chat (Admin)", "chat",
|
||||||
"Chat admin console (admins only)", "https://pb.chat.lab.audasmedia.com.au", login=True, admin=True),
|
"Chat admin console (admins only)", "https://pb.chat.lab.audasmedia.com.au", login=True, admin=True),
|
||||||
Tool("ai-router", "AI Router", "ai",
|
Tool("ai-router", "AI Router", "ai",
|
||||||
"OmniRoute LLM gateway dashboard", "https://omniroute.lab.audasmedia.com.au", login=True),
|
"OmniRoute LLM gateway dashboard", "https://omniroute.lab.audasmedia.com.au"),
|
||||||
Tool("n8n", "n8n", "ai",
|
Tool("n8n", "n8n", "ai",
|
||||||
"Workflow automation", "https://n8n.lab.audasmedia.com.au", login=True),
|
"Workflow automation", "https://n8n.lab.audasmedia.com.au", login=True),
|
||||||
Tool("langfuse", "Langfuse", "ai",
|
Tool("langfuse", "Langfuse", "ai",
|
||||||
@@ -91,16 +91,16 @@ def _cat() -> list[Tool]:
|
|||||||
"LangChain dev service", "https://supabase.home.lab", login=True, lan=True, admin=True),
|
"LangChain dev service", "https://supabase.home.lab", login=True, lan=True, admin=True),
|
||||||
|
|
||||||
# ---- Image ---------------------------------------------------------
|
# ---- Image ---------------------------------------------------------
|
||||||
Tool("photopea", "Photopea", "image",
|
Tool("gimp", "GIMP", "image",
|
||||||
"Browser photo & PSD editor", "https://photo.lab.audasmedia.com.au", login=True),
|
"Photo editing & retouching", "https://gimp.lab.audasmedia.com.au"),
|
||||||
Tool("penpot", "Penpot", "image",
|
Tool("penpot", "Penpot", "image",
|
||||||
"Open-source design & prototyping", "https://penpot.lab.audasmedia.com.au", login=True),
|
"Open-source design & prototyping", "https://penpot.lab.audasmedia.com.au", login=True),
|
||||||
Tool("photo-filter", "Photo Filter", "image",
|
Tool("photo-filter", "Photo Filter", "image",
|
||||||
"Photo utility / filtering", "https://photo-filter.lab.audasmedia.com.au", login=True),
|
"Photo utility / filtering", "https://photo-filter.lab.audasmedia.com.au"),
|
||||||
|
|
||||||
# ---- Video ---------------------------------------------------------
|
# ---- Video ---------------------------------------------------------
|
||||||
Tool("video-editor", "Video Editor", "video",
|
Tool("video-editor", "Video Editor", "video",
|
||||||
"Desktop video editing in your browser", "https://video.lab.audasmedia.com.au", login=True),
|
"Desktop video editing in your browser", "https://video.lab.audasmedia.com.au"),
|
||||||
Tool("jellyfin", "Jellyfin", "media",
|
Tool("jellyfin", "Jellyfin", "media",
|
||||||
"Movies, TV & music server", "https://jellyfin.lab.audasmedia.com.au", login=True),
|
"Movies, TV & music server", "https://jellyfin.lab.audasmedia.com.au", login=True),
|
||||||
Tool("jellyseerr", "Jellyseerr", "media",
|
Tool("jellyseerr", "Jellyseerr", "media",
|
||||||
@@ -126,9 +126,9 @@ def _cat() -> list[Tool]:
|
|||||||
|
|
||||||
# ---- Audio ---------------------------------------------------------
|
# ---- Audio ---------------------------------------------------------
|
||||||
Tool("audio-editor", "Audio Editor", "audio",
|
Tool("audio-editor", "Audio Editor", "audio",
|
||||||
"Multi-track audio editing", "https://audio.lab.audasmedia.com.au", login=True),
|
"Multi-track audio editing", "https://audio.lab.audasmedia.com.au"),
|
||||||
Tool("lmms", "LMMS Music Studio", "audio",
|
Tool("lmms", "LMMS Music Studio", "audio",
|
||||||
"Beats, melodies & full arrangements", "https://lmms.lab.audasmedia.com.au", login=True),
|
"Beats, melodies & full arrangements", "https://lmms.lab.audasmedia.com.au"),
|
||||||
Tool("snapcast", "Snapcast", "audio",
|
Tool("snapcast", "Snapcast", "audio",
|
||||||
"Sync audio to speakers around the house", "https://snapcast.home.lab", lan=True),
|
"Sync audio to speakers around the house", "https://snapcast.home.lab", lan=True),
|
||||||
Tool("mopidy", "Mopidy", "audio",
|
Tool("mopidy", "Mopidy", "audio",
|
||||||
@@ -320,6 +320,5 @@ def _dsh_for_user(user) -> Tool:
|
|||||||
mode=base.mode,
|
mode=base.mode,
|
||||||
status=base.status,
|
status=base.status,
|
||||||
external=True,
|
external=True,
|
||||||
login=True,
|
|
||||||
private=True,
|
private=True,
|
||||||
)
|
)
|
||||||
Reference in New Issue
Block a user