-
Notifications
You must be signed in to change notification settings - Fork 2
/
docker-compose.yml
141 lines (133 loc) · 4.36 KB
/
docker-compose.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
---
################################################################### #### # ##
# >> DOCKER-COMPOSE-GLFTPD-V4
################################################################### #### # ##
# build args: <see docker-build.sh comments>
# environment options: <see docker-run.sh comments>
# ####
# uncomment any volumes to mount dirs from host
# optionally uncomment args e.g. additional ftp ports
################################################################### #### # ##
services:
glftpd:
image: ghcr.io/silv3rr/docker-glftpd:latest
volumes: &glftpd_volumes
- source: ./glftpd/site
target: /glftpd/site
type: bind
bind: { create_host_path: false }
- source: ./glftpd/glftpd.conf
target: /glftpd/glftpd.conf
type: bind
bind: { create_host_path: false }
- source: ./glftpd/etc
target: /glftpd/etc
type: bind
bind: { create_host_path: false }
- source: ./glftpd/ftp-data/users
target: /glftpd/ftp-data/users
type: bind
bind: { create_host_path: false }
- source: ./glftpd/ftp-data/groups
target: /glftpd/ftp-data/groups
type: bind
bind: { create_host_path: false }
- source: ./glftpd/sitebot
target: /glftpd/sitebot
type: bind
bind: { create_host_path: false }
ports: &glftpd_ports
- "1337:1337"
# uncomment for bot
# - "3333:3333"
# uncomment for pasv ports
# - "5000-6000:5000-6000"
ulimits: &glftpd_ulimits
nofile: { soft: 1024, hard: 1024 }
container_name: glftpd
hostname: glftpd
# environment:
glftpd-full:
profiles: [full]
image: ghcr.io/silv3rr/docker-glftpd:full
volumes: *glftpd_volumes
ports: *glftpd_ports
ulimits: *glftpd_ulimits
container_name: glftpd-full
hostname: glftpd
web:
profiles: [full]
image: ghcr.io/silv3rr/docker-glftpd-web:latest
volumes: &web_volumes
- /var/run/docker.sock:/var/run/docker.sock
- ./glftpd/glftpd.conf:/app/glftpd/glftpd.conf
- ./glftpd/sitebot/eggdrop.conf:/app/glftpd/sitebot/eggdrop.conf
- ./glftpd/sitebot/pzs-ng/ngBot.conf:/app/glftpd/sitebot/pzs-ng/ngBot.conf
- ./glftpd/site:/app/glftpd/site
ports: &web_ports
- 4444:443
ulimits: &web_ulimits
nofile: { soft: 1024, hard: 1024 }
container_name: glftpd-web
hostname: glftpd-web
depends_on: [glftpd-full]
################################################################### #### # ##
# local build
################################################################### #### # ##
local-glftpd:
profiles: [local]
build:
context: .
cache_from: [docker-glftpd:latest]
dockerfile: Dockerfile
args: &glftpd_args
# if glftpd.io is down, uncomment to use mirror
# - GLFTPD_URL=https://mirror.glftpd.nl.eu.org/files/glftpd-LNX-2.14a_3.0.12_x64.tgz
- GLFTPD_SHA=981fec98d3c92978f8774a864729df0a2bca91afc0672c51833f0cfc10ac04935ccaadfe9798a02711e3a1c4c714ddd75d5edd5fb54ff46ad495b1a2c391c1ad
- INSTALL_ZS=1
- INSTALL_BOT=1
- INSTALL_WEBUI=1
image: docker-glftpd:latest
volumes: *glftpd_volumes
ports: *glftpd_ports
ulimits: *glftpd_ulimits
container_name: glftpd
hostname: glftpd
local-glftpd-full:
profiles: [local]
build:
context: .
cache_from: [docker-glftpd:full]
dockerfile: Dockerfile
args: *glftpd_args
image: docker-glftpd:full
volumes: *glftpd_volumes
ports: *glftpd_ports
ulimits: *glftpd_ulimits
container_name: glftpd
hostname: glftpd
local-web:
profiles: [local]
image: docker-glftpd-web:latest
build:
context: https://github.com/silv3rr/glftpd-webui.git
cache_from: [docker-glftpd-web:latest]
dockerfile: Dockerfile
# uncomment to set port, auth mode, htpasswd etc
# args:
# - WEBUI_PORT=4043
# - WEBUI_AUTH_MODE=basic
# - WEBUI_AUTH_USER=notshit
# - WEBUI_AUTH_PASS=Othersh1ttyPass
# uncomment to use host instead of bridge
# network_mode: host
volumes: *web_volumes
ports: *web_ports
ulimits: *web_ulimits
container_name: glftpd-web
hostname: glftpd-web
depends_on: [local-glftpd-full]
# uncomment to change authmode of the fly (basic|glftpd|both|none)
# environment:
# - WEBUI_AUTH_MODE=glftpd
# volumes: