-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcompose.yaml
More file actions
121 lines (117 loc) · 2.99 KB
/
Copy pathcompose.yaml
File metadata and controls
121 lines (117 loc) · 2.99 KB
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
services:
phpipam-db:
image: mariadb:11
container_name: phpipam-db
restart: unless-stopped
security_opt:
- no-new-privileges:true
networks:
- phpipam
volumes:
- phpipam-db:/var/lib/mysql
environment:
- TZ=${TZ:-America/New_York}
- MYSQL_ROOT_PASSWORD=${PHPIPAM_DB_ROOT_PASSWORD}
- MYSQL_DATABASE=phpipam
- MYSQL_USER=phpipam
- MYSQL_PASSWORD=${PHPIPAM_DB_PASSWORD}
healthcheck:
test: ["CMD-SHELL", "mariadb-admin ping -h localhost -u root -p$$MYSQL_ROOT_PASSWORD"]
interval: 30s
timeout: 10s
retries: 5
start_period: 30s
logging:
driver: json-file
options:
max-size: "10m"
max-file: "3"
phpipam-web:
image: phpipam/phpipam-www:latest
container_name: phpipam-web
restart: unless-stopped
security_opt:
- no-new-privileges:true
cap_add:
- NET_ADMIN
- NET_RAW
networks:
- phpipam
- traefik
ports:
- "${PHPIPAM_PORT:-8030}:80"
environment:
- TZ=${TZ:-America/New_York}
- IPAM_DATABASE_HOST=phpipam-db
- IPAM_DATABASE_USER=phpipam
- IPAM_DATABASE_PASS=${PHPIPAM_DB_PASSWORD}
- IPAM_DATABASE_NAME=phpipam
- IPAM_DATABASE_WEBHOST=%
- IPAM_TRUST_X_FORWARDED=true
depends_on:
phpipam-db:
condition: service_healthy
labels:
- "traefik.enable=true"
- "traefik.http.routers.phpipam.rule=Host(`${PHPIPAM_DOMAIN}`)"
- "traefik.http.routers.phpipam.entrypoints=websecure"
- "traefik.http.routers.phpipam.tls.certresolver=letsencrypt"
- "traefik.http.routers.phpipam.middlewares=secure-headers@file,lan-only@file"
- "traefik.http.routers.phpipam.service=phpipam@docker"
- "traefik.http.services.phpipam.loadbalancer.server.port=80"
logging:
driver: json-file
options:
max-size: "10m"
max-file: "3"
phpipam-cron:
image: phpipam/phpipam-cron:latest
container_name: phpipam-cron
restart: unless-stopped
security_opt:
- no-new-privileges:true
cap_add:
- NET_ADMIN
- NET_RAW
networks:
- phpipam
environment:
- TZ=${TZ:-America/New_York}
- IPAM_DATABASE_HOST=phpipam-db
- IPAM_DATABASE_USER=phpipam
- IPAM_DATABASE_PASS=${PHPIPAM_DB_PASSWORD}
- IPAM_DATABASE_NAME=phpipam
- SCAN_INTERVAL=1h
depends_on:
phpipam-db:
condition: service_healthy
logging:
driver: json-file
options:
max-size: "10m"
max-file: "3"
volumes:
phpipam-db:
driver: local
driver_opts:
type: none
device: /mnt/SSD/Containers/phpipam/db
o: bind
phpipam-logo:
driver: local
driver_opts:
type: none
device: /mnt/SSD/Containers/phpipam/logo
o: bind
phpipam-ca:
driver: local
driver_opts:
type: none
device: /mnt/SSD/Containers/phpipam/ca
o: bind
networks:
phpipam:
name: phpipam
driver: bridge
traefik:
external: true