Phase 1: first-run setup wizard, bash installer, Docker profiles

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-09 08:05:38 -04:00
parent 6dbd0dff46
commit cf1b9672f4
12 changed files with 1754 additions and 16 deletions
+12
View File
@@ -5,6 +5,7 @@ services:
caddy:
image: caddy:2-alpine
container_name: cell-caddy
profiles: ["core", "full"]
ports:
- "80:80"
- "443:443"
@@ -28,6 +29,7 @@ services:
dns:
image: coredns/coredns:latest
container_name: cell-dns
profiles: ["core", "full"]
command: ["-conf", "/etc/coredns/Corefile"]
ports:
- "${DNS_PORT:-53}:53/udp"
@@ -49,6 +51,7 @@ services:
dhcp:
image: alpine:latest
container_name: cell-dhcp
profiles: ["full"]
ports:
- "${DHCP_PORT:-67}:67/udp"
volumes:
@@ -71,6 +74,7 @@ services:
ntp:
image: alpine:latest
container_name: cell-ntp
profiles: ["full"]
ports:
- "${NTP_PORT:-123}:123/udp"
volumes:
@@ -92,6 +96,7 @@ services:
mail:
image: mailserver/docker-mailserver:latest
container_name: cell-mail
profiles: ["full"]
hostname: mail
domainname: cell.local
env_file: ./config/mail/mailserver.env
@@ -121,6 +126,7 @@ services:
radicale:
image: tomsquest/docker-radicale:latest
container_name: cell-radicale
profiles: ["full"]
ports:
- "127.0.0.1:${RADICALE_PORT:-5232}:5232"
volumes:
@@ -140,6 +146,7 @@ services:
webdav:
image: bytemark/webdav:latest
container_name: cell-webdav
profiles: ["full"]
ports:
- "127.0.0.1:${WEBDAV_PORT:-8080}:80"
environment:
@@ -162,6 +169,7 @@ services:
wireguard:
image: linuxserver/wireguard:latest
container_name: cell-wireguard
profiles: ["core", "full"]
environment:
- SERVERMODE=true
- PUID=${PUID:-1000}
@@ -193,6 +201,7 @@ services:
api:
build: ./api
container_name: cell-api
profiles: ["core", "full"]
ports:
- "127.0.0.1:${API_PORT:-3000}:3000"
volumes:
@@ -225,6 +234,7 @@ services:
webui:
build: ./webui
container_name: cell-webui
profiles: ["core", "full"]
ports:
- "${WEBUI_PORT:-8081}:80"
restart: unless-stopped
@@ -241,6 +251,7 @@ services:
rainloop:
image: hardware/rainloop
container_name: cell-rainloop
profiles: ["full"]
restart: unless-stopped
networks:
cell-network:
@@ -259,6 +270,7 @@ services:
filegator:
image: filegator/filegator
container_name: cell-filegator
profiles: ["full"]
restart: unless-stopped
networks:
cell-network: