version: '3.8' services: ftp-server: build: . container_name: ase-ftp-server ports: - "2121:2121" # FTP control port - "60000-60099:60000-60099" # FTP passive ports range environment: # FTP Configuration FTP_PASSIVE_PORTS: "60000" # Prima porta del range passivo FTP_EXTERNAL_IP: "192.168.1.100" # IP esterno/VIP da pubblicizzare ai client # Database Configuration DB_HOST: "mysql-server" DB_PORT: "3306" DB_USER: "ase_user" DB_PASSWORD: "your_secure_password" DB_NAME: "ase_lar" # Logging (opzionale) LOG_LEVEL: "INFO" volumes: - ./logs:/app/logs - ./data:/app/data depends_on: - mysql-server restart: unless-stopped networks: - ase-network # Esempio di setup HA con più istanze FTP ftp-server-2: build: . container_name: ase-ftp-server-2 ports: - "2122:2121" # Diversa porta di controllo per seconda istanza - "61000-61099:60000-60099" # Diverso range passivo environment: FTP_PASSIVE_PORTS: "60000" # Stessa config, ma mappata su porte diverse dell'host FTP_EXTERNAL_IP: "192.168.1.100" # Stesso VIP condiviso DB_HOST: "mysql-server" DB_PORT: "3306" DB_USER: "ase_user" DB_PASSWORD: "your_secure_password" DB_NAME: "ase_lar" LOG_LEVEL: "INFO" volumes: - ./logs2:/app/logs - ./data:/app/data depends_on: - mysql-server restart: unless-stopped networks: - ase-network mysql-server: image: mysql:8.0 container_name: ase-mysql environment: MYSQL_ROOT_PASSWORD: "root_password" MYSQL_DATABASE: "ase_lar" MYSQL_USER: "ase_user" MYSQL_PASSWORD: "your_secure_password" ports: - "3306:3306" volumes: - mysql-data:/var/lib/mysql - ./dbddl:/docker-entrypoint-initdb.d restart: unless-stopped networks: - ase-network networks: ase-network: driver: bridge volumes: mysql-data: