-
-
Save DominikStyp/29a84da7faddde681b1e3c9248562842 to your computer and use it in GitHub Desktop.
Laravel Sail + Docker Compose: FTP Server proper configuration
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
APP_NAME=Laravel | |
APP_ENV=local | |
APP_KEY= | |
APP_DEBUG=true | |
APP_URL=http://some.site.local | |
DB_CONNECTION=mysql | |
DB_HOST=mysql | |
DB_PORT=3306 | |
DB_DATABASE=site_db | |
DB_USERNAME=site_db | |
DB_PASSWORD=site_db | |
FORWARD_DB_PORT=3306 | |
SFTP_HOST=ftpd_server | |
SFTP_PORT=21 | |
SFTP_USER=ftpuser | |
SFTP_PASSWORD=ftpuser | |
SFTP_USE_SSL=false | |
SFTP_USE_PASSIVE_MODE=false | |
LOG_CHANNEL=stack | |
BROADCAST_DRIVER=log | |
CACHE_DRIVER=file | |
QUEUE_CONNECTION=sync | |
SESSION_DRIVER=file | |
SESSION_LIFETIME=120 | |
REDIS_HOST=127.0.0.1 | |
REDIS_PASSWORD=null | |
REDIS_PORT=6379 | |
MAIL_DRIVER=smtp | |
MAIL_HOST=mailhog | |
MAIL_PORT=1025 | |
MAIL_USERNAME=null | |
MAIL_PASSWORD=null | |
MAIL_ENCRYPTION=null | |
SAIL_XDEBUG_MODE=debug | |
APP_SERVICE=web |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# For more information: https://laravel.com/docs/sail | |
version: '3' | |
services: | |
web: | |
build: | |
context: ./docker/7.1 | |
dockerfile: Dockerfile | |
args: | |
WWWGROUP: '${WWWGROUP}' | |
image: sail-7.1/api-middleware | |
extra_hosts: | |
- 'host.docker.internal:host-gateway' | |
ports: | |
- '${APP_PORT:-80}:80' | |
- '${VITE_PORT:-5173}:${VITE_PORT:-5173}' | |
environment: | |
WWWUSER: '${WWWUSER}' | |
LARAVEL_SAIL: 1 | |
XDEBUG_MODE: '${SAIL_XDEBUG_MODE:-off}' | |
XDEBUG_CONFIG: '${SAIL_XDEBUG_CONFIG:-client_host=host.docker.internal}' | |
volumes: | |
- '.:/var/www/html' | |
- './docker/7.1/php.ini:/etc/php/7.1/cli/conf.d/99-sail.ini' | |
networks: | |
- sail | |
depends_on: | |
- mysql | |
- selenium | |
mysql: | |
image: 'mysql/mysql-server:8.0' | |
ports: | |
- '${FORWARD_DB_PORT:-3306}:3306' | |
environment: | |
MYSQL_ROOT_PASSWORD: '${DB_PASSWORD}' | |
MYSQL_ROOT_HOST: "%" | |
MYSQL_DATABASE: '${DB_DATABASE}' | |
MYSQL_USER: '${DB_USERNAME}' | |
MYSQL_PASSWORD: '${DB_PASSWORD}' | |
MYSQL_ALLOW_EMPTY_PASSWORD: 1 | |
volumes: | |
- 'sail-mysql:/var/lib/mysql' | |
- './docker/entrypoint.sh:/docker-entrypoint-initdb.d/10-create-testing-database.sh' | |
networks: | |
- sail | |
healthcheck: | |
test: ["CMD", "mysqladmin", "ping", "-p${DB_PASSWORD}"] | |
retries: 3 | |
timeout: 5s | |
selenium: | |
image: 'selenium/standalone-chrome' | |
volumes: | |
- '/dev/shm:/dev/shm' | |
networks: | |
- sail | |
mailhog: | |
image: 'mailhog/mailhog:latest' | |
ports: | |
- '${FORWARD_MAILHOG_PORT:-1025}:1025' | |
- '${FORWARD_MAILHOG_DASHBOARD_PORT:-8025}:8025' | |
networks: | |
- sail | |
ftpd_server: | |
image: stilliard/pure-ftpd | |
container_name: pure-ftpd | |
ports: | |
- "21:21" | |
- "30000-30009:30000-30009" | |
volumes: # remember to replace /folder_on_disk/ with the path to where you want to store the files on the host machine | |
- "./storage/ftpdir/data:/home/ftpuser/" | |
- "./storage/ftpdir/passwd:/etc/pure-ftpd/passwd" | |
# uncomment for ssl/tls, see https://github.com/stilliard/docker-pure-ftpd#tls | |
# - "/folder_on_disk/ssl:/etc/ssl/private/" | |
# or ssl/tls with Let's Encrypt (cert and key as two files) | |
# - "/etc/letsencrypt/live/<your_server>/cert.pem:/etc/ssl/private/pure-ftpd-cert.pem" | |
# - "/etc/letsencrypt/live/<your_server>/privkey.pem:/etc/ssl/private/pure-ftpd-key.pem" | |
environment: | |
FTP_USER_NAME: ftpuser | |
FTP_USER_PASS: ftpuser | |
FTP_USER_HOME: /home/ftpuser | |
# also for ssl/tls: | |
# ADDED_FLAGS: "--tls=2" | |
restart: unless-stopped | |
networks: | |
- sail | |
networks: | |
sail: | |
driver: bridge | |
volumes: | |
sail-mysql: | |
driver: local |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
// config/filesystems.php | |
.... | |
'ftp' => [ | |
'driver' => 'ftp', | |
'host' => env('SFTP_HOST'), | |
'port' => env('SFTP_PORT', 21), | |
'username' => env('SFTP_USER'), | |
'password' => env('SFTP_PASSWORD'), | |
'ssl' => env('SFTP_USE_SSL', true), | |
'timeout' => 10, | |
'passive' => env('SFTP_USE_PASSIVE_MODE', true), //for testing should be false locally | |
], | |
.... | |
?> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment