added new photobooth ftp control service, switched ftp image

This commit is contained in:
Codex Agent
2025-12-04 20:30:46 +01:00
parent 4ede5351be
commit a5b4feb57e
4 changed files with 303 additions and 6 deletions

View File

@@ -22,6 +22,7 @@ x-app-env: &app-env
BROADCAST_DRIVER: log
FILESYSTEM_DISK: ${FILESYSTEM_DISK:-local-ssd}
STORAGE_ALERT_EMAIL: ${STORAGE_ALERT_EMAIL:-}
PHOTOBOOTH_CONTROL_BASE_URL: ${PHOTOBOOTH_CONTROL_BASE_URL:-http://photobooth-ftp:8080}
x-app-build: &app-build
context: .
@@ -52,6 +53,9 @@ services:
- app-storage:/var/www/html/storage
- app-bootstrap-cache:/var/www/html/bootstrap/cache
- photobooth-import:/var/www/html/storage/app/photobooth
networks:
- default
- photobooth-network
depends_on:
mysql:
condition: service_healthy
@@ -117,21 +121,32 @@ services:
restart: unless-stopped
photobooth-ftp:
image: delfer/alpine-ftp-server:latest
build:
context: ./docker/photobooth-control
image: registry.internal:5443/${PHOTOBOOTH_CONTROL_IMAGE:-fotospiel-photobooth-control:latest}
env_file:
- path: .env
environment:
USERS: ${PHOTOBOOTH_FTP_USERS:-seed|changeme|/home/ftpusers/photobooth}
ADDRESS: ${PHOTOBOOTH_FTP_ADDRESS:-test-y0k0.fotospiel.app}
MIN_PORT: ${PHOTOBOOTH_FTP_PASV_MIN_PORT:-30000}
MAX_PORT: ${PHOTOBOOTH_FTP_PASV_MAX_PORT:-30009}
CONTROL_TOKEN: ${PHOTOBOOTH_CONTROL_TOKEN}
FTP_PUBLIC_HOST: ${PHOTOBOOTH_FTP_ADDRESS:-test-y0k0.fotospiel.app}
FTP_PORT: ${PHOTOBOOTH_FTP_PORT:-2121}
FTP_PASSIVE_MIN: ${PHOTOBOOTH_FTP_PASV_MIN_PORT:-30000}
FTP_PASSIVE_MAX: ${PHOTOBOOTH_FTP_PASV_MAX_PORT:-30009}
REQUIRE_FTPS: ${PHOTOBOOTH_REQUIRE_FTPS:-0}
PHOTOBOOTH_ROOT: /photobooth
FTP_SYSTEM_USER: ${PHOTOBOOTH_FTP_USER:-ftpuser}
FTP_SYSTEM_GROUP: ${PHOTOBOOTH_FTP_GROUP:-ftpgroup}
FTP_MAX_CLIENTS: ${PHOTOBOOTH_FTP_MAX_CLIENTS:-50}
FTP_MAX_PER_IP: ${PHOTOBOOTH_FTP_MAX_PER_IP:-10}
volumes:
- photobooth-import:/home/ftpusers/photobooth
- photobooth-import:/photobooth
- photobooth-ftp-auth:/etc/pure-ftpd
ports:
- "${PHOTOBOOTH_FTP_PORT:-2121}:21"
- "${PHOTOBOOTH_FTP_PASV_MIN_PORT:-30000}-${PHOTOBOOTH_FTP_PASV_MAX_PORT:-30009}:${PHOTOBOOTH_FTP_PASV_MIN_PORT:-30000}-${PHOTOBOOTH_FTP_PASV_MAX_PORT:-30009}"
networks:
- dokploy-network
- photobooth-network
healthcheck:
test: ["CMD", "nc", "-z", "localhost", "21"]
interval: 30s
@@ -151,6 +166,9 @@ services:
- app-code:/var/www/html
- app-storage:/var/www/html/storage
- app-bootstrap-cache:/var/www/html/bootstrap/cache
networks:
- default
- photobooth-network
depends_on:
app:
condition: service_healthy
@@ -172,6 +190,9 @@ services:
- app-code:/var/www/html
- app-storage:/var/www/html/storage
- app-bootstrap-cache:/var/www/html/bootstrap/cache
networks:
- default
- photobooth-network
depends_on:
app:
condition: service_healthy
@@ -192,6 +213,9 @@ services:
- app-storage:/var/www/html/storage
- app-bootstrap-cache:/var/www/html/bootstrap/cache
- photobooth-import:/var/www/html/storage/app/photobooth
networks:
- default
- photobooth-network
depends_on:
app:
condition: service_healthy
@@ -209,6 +233,9 @@ services:
- app-code:/var/www/html
- app-storage:/var/www/html/storage
- app-bootstrap-cache:/var/www/html/bootstrap/cache
networks:
- default
- photobooth-network
depends_on:
app:
condition: service_healthy
@@ -253,9 +280,12 @@ volumes:
name: fotospiel-${APP_ENV:-prod}-storage
app-bootstrap-cache:
photobooth-import:
photobooth-ftp-auth:
mysql-data:
redis-data:
networks:
dokploy-network:
external: true
photobooth-network:
name: fotospiel-${APP_ENV:-prod}-photobooth