forked from henrygd/docker-server-setup
-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.yml
115 lines (107 loc) · 2.62 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
networks:
CHANGE_TO_USERNAME:
external: true
database:
external: true
volumes:
mariadb:
services:
portainer:
image: portainer/portainer-ce:latest
container_name: portainer
restart: unless-stopped
networks:
- CHANGE_TO_USERNAME
volumes:
- /etc/localtime:/etc/localtime:ro
- ./portainer:/data
- /var/run/docker.sock:/var/run/docker.sock:ro
ports:
- 0.0.0.0:6900:6900
mariadb:
image: linuxserver/mariadb
container_name: mariadb
restart: unless-stopped
networks:
- CHANGE_TO_USERNAME
- database
volumes:
- mariadb:/config
environment:
PUID: USER_UID
PGID: USER_GID
MYSQL_ROOT_PASSWORD: 'MARIA_DB_ROOT_PASSWORD'
TZ: USER_TIMEZONE
# nginx proxy database
MYSQL_USER: 'npm'
MYSQL_PASSWORD: 'NPM_DB_PASSWORD'
MYSQL_DATABASE: npm
phpmyadmin:
image: linuxserver/phpmyadmin
container_name: phpmyadmin
networks:
- database
environment:
PUID: USER_UID
PGID: USER_GID
PMA_HOST: mariadb
PMA_USER: root
PMA_PASSWORD: 'MARIA_DB_ROOT_PASSWORD'
TZ: USER_TIMEZONE
ports:
- 0.0.0.0:83:83
restart: unless-stopped
nginx-proxy-manager:
image: 'jc21/nginx-proxy-manager:latest'
container_name: nginx-proxy-manager
restart: unless-stopped
networks:
- CHANGE_TO_USERNAME
ports:
- '0.0.0.0:80:80' # Public HTTP Port
- '0.0.0.0:443:443' # Public HTTPS Port
- '0.0.0.0:81:81' # Admin Web Port
environment:
DB_MYSQL_HOST: 'mariadb'
DB_MYSQL_PORT: 3306
DB_MYSQL_USER: 'npm'
DB_MYSQL_PASSWORD: 'NPM_DB_PASSWORD'
DB_MYSQL_NAME: 'npm'
TZ: USER_TIMEZONE
volumes:
- ./npm/data:/data
# - ./npm/nginx:/etc/nginx
- ./npm/letsencrypt:/etc/letsencrypt
filebrowser:
image: hurlenko/filebrowser
container_name: filebrowser
user: 'USER_UID:USER_GID'
ports:
- 0.0.0.0:8080:8080
volumes:
- /home/CHANGE_TO_USERNAME:/data
- ./filebrowser/config:/config
environment:
- FB_BASEURL=/
restart: unless-stopped
watchtower:
image: containrrr/watchtower
container_name: watchtower
volumes:
- /var/run/docker.sock:/var/run/docker.sock
restart: unless-stopped
fail2ban:
container_name: fail2ban
hostname: fail2ban
cap_add:
- NET_ADMIN
- NET_RAW
environment:
- TZ=USER_TIMEZONE
- F2B_DB_PURGE_AGE=3d
image: crazymax/fail2ban:latest
network_mode: host
restart: unless-stopped
volumes:
- ./fail2ban/data:/data
- ./npm/data/logs:/var/log/npm