docker-compose.yml 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. ---
  2. version: "3"
  3. services:
  4. webdav:
  5. image: bytemark/webdav
  6. restart: always
  7. ports:
  8. - "80:80"
  9. environment:
  10. AUTH_TYPE: Digest
  11. USERNAME: alice
  12. PASSWORD: secret1234
  13. sftp:
  14. container_name: sftp
  15. restart: always
  16. image: atmoz/sftp
  17. volumes:
  18. - ./test_files/sftp/users.conf:/etc/sftp/users.conf
  19. - ./test_files/sftp/ssh_host_ed25519_key:/etc/ssh/ssh_host_ed25519_key
  20. - ./test_files/sftp/ssh_host_rsa_key:/etc/ssh/ssh_host_rsa_key
  21. - ./test_files/sftp/id_rsa.pub:/home/bar/.ssh/keys/id_rsa.pub
  22. ports:
  23. - "2222:22"
  24. ftp:
  25. container_name: ftp
  26. restart: always
  27. image: delfer/alpine-ftp-server
  28. environment:
  29. USERS: 'foo|pass|/home/foo/upload'
  30. ADDRESS: 'localhost'
  31. ports:
  32. - "2121:21"
  33. - "21000-21010:21000-21010"
  34. ftpd:
  35. container_name: ftpd
  36. restart: always
  37. environment:
  38. PUBLICHOST: localhost
  39. FTP_USER_NAME: foo
  40. FTP_USER_PASS: pass
  41. FTP_USER_HOME: /home/foo
  42. image: stilliard/pure-ftpd
  43. ports:
  44. - "2122:21"
  45. - "30000-30009:30000-30009"
  46. command: "/run.sh -l puredb:/etc/pure-ftpd/pureftpd.pdb -E -j -P localhost"
  47. toxiproxy:
  48. container_name: toxiproxy
  49. restart: unless-stopped
  50. image: ghcr.io/shopify/toxiproxy
  51. command: "-host 0.0.0.0 -config /opt/toxiproxy/config.json"
  52. volumes:
  53. - ./test_files/toxiproxy/toxiproxy.json:/opt/toxiproxy/config.json:ro
  54. ports:
  55. - "8474:8474" # HTTP API
  56. - "8222:8222" # SFTP
  57. - "8121:8121" # FTP
  58. - "8122:8122" # FTPD