mirror of
				https://github.com/zokradonh/kopano-docker
				synced 2025-10-31 10:27:14 +00:00 
			
		
		
		
	docker-compose
Signed-off-by: Felix Bartels <felix@host-consultants.de>
This commit is contained in:
		
							parent
							
								
									5523f4c984
								
							
						
					
					
						commit
						c08bdfc6a9
					
				
							
								
								
									
										3
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @ -2,4 +2,5 @@ | |||||||
| **/.vscode | **/.vscode | ||||||
| *.yml | *.yml | ||||||
| docker-compose.yml | docker-compose.yml | ||||||
| certs/* | ssl/* | ||||||
|  | data/* | ||||||
|  | |||||||
| @ -1,9 +1,111 @@ | |||||||
| version: '3' | version: "3" | ||||||
| 
 | 
 | ||||||
| services: | services: | ||||||
|  |   web: | ||||||
|  |     image: abiosoft/caddy:0.10.4 | ||||||
|  |     restart: always | ||||||
|  |     privileged: true | ||||||
|  |     links: | ||||||
|  |       - kwebapp | ||||||
|  |       #- kzpush | ||||||
|  |     ports: | ||||||
|  |       - "10080:80" | ||||||
|  |       - "10443:443" | ||||||
|  |     volumes: | ||||||
|  |       - ./web/Caddyfile:/etc/Caddyfile | ||||||
|  |       - ./data/web:/root/.caddy | ||||||
|  | 
 | ||||||
|  |   mail: | ||||||
|  |     image: tvial/docker-mailserver:latest | ||||||
|  |     restart: always | ||||||
|  |     hostname: mail | ||||||
|  |     domainname: kopano.demo # change here | ||||||
|  |     container_name: mail | ||||||
|  |     ports: | ||||||
|  |       - "25:25" | ||||||
|  |     volumes: | ||||||
|  |       - ./data/mail/data:/var/mail | ||||||
|  |       - ./data/mail/state:/var/mail-state | ||||||
|  |       - ./mail/config:/tmp/docker-mailserver/ | ||||||
|  |       - ./data/web/acme-v01.api.letsencrypt.org/sites/mail.kopano.demo:/tmp/ssl:ro | ||||||
|  |     environment: | ||||||
|  |       - TZ=Europe/Berlin | ||||||
|  |       - ENABLE_SPAMASSASSIN=1 | ||||||
|  |       - ENABLE_CLAMAV=1 | ||||||
|  |       - ENABLE_FAIL2BAN=1 | ||||||
|  |       - ENABLE_POSTGREY=1 | ||||||
|  |       - ONE_DIR=1 | ||||||
|  |       - DMS_DEBUG=0 | ||||||
|  |       - SSL_TYPE=manual | ||||||
|  |       - SSL_CERT_PATH=/tmp/ssl/mail.kopano.demo.crt | ||||||
|  |       - SSL_KEY_PATH=/tmp/ssl/mail.kopano.demo.key | ||||||
|  |       - ENABLE_LDAP=1 | ||||||
|  |       - LDAP_SERVER_HOST=ldaps://ldapserver:ldapport #change here | ||||||
|  |       - LDAP_SEARCH_BASE=OU=MyUsers,DC=domain,DC=tld #change here | ||||||
|  |       - LDAP_BIND_DN=cn=SOME_STANDARD_USER,OU=MyUsers,DC=domain,DC=tld #change here | ||||||
|  |       - LDAP_BIND_PW=PASSWORD_OF_SOME_STANDARD_USER #change here | ||||||
|  |       - LDAP_QUERY_FILTER_USER=(&(objectClass=user)(|(mail=%s)(otherMailbox=%s))) | ||||||
|  |       - LDAP_QUERY_FILTER_GROUP=(&(objectclass=group)(mail=%s)) | ||||||
|  |       - LDAP_QUERY_FILTER_ALIAS=(&(objectClass=user)(otherMailbox=%s)) | ||||||
|  |       - LDAP_QUERY_FILTER_DOMAIN=(&(|(mail=*@%s)(otherMailbox=*@%s)(mailGroupMember=*@%s))(kopanoAccount=1)(|(objectClass=user)(objectclass=group))) | ||||||
|  |       - ENABLE_SASLAUTHD=1 | ||||||
|  |       - SASLAUTHD_LDAP_SERVER=ldaps://ldapserver:ldapport #change here | ||||||
|  |       - SASLAUTHD_LDAP_BIND_DN=cn=SOME_STANDARD_USER,OU=MyUsers,DC=domain,DC=tld #change here | ||||||
|  |       - SASLAUTHD_LDAP_PASSWORD=PASSWORD_OF_SOME_STANDARD_USER  #change here | ||||||
|  |       - SASLAUTHD_LDAP_SEARCH_BASE=OU=MyUsers,DC=domain,DC=tld  #change here | ||||||
|  |       - SASLAUTHD_LDAP_FILTER=(&(sAMAccountName=%U)(objectClass=person)) | ||||||
|  |       - SASLAUTHD_MECHANISMS=ldap | ||||||
|  |       - POSTMASTER_ADDRESS=postmaster@domain.tld #change here | ||||||
|  |       - SMTP_ONLY=1 | ||||||
|  |       - PERMIT_DOCKER=network | ||||||
|  |       - ENABLE_POSTFIX_VIRTUAL_TRANSPORT=1 | ||||||
|  |       - POSTFIX_DAGENT=lmtp:kdagent:2003 | ||||||
|  |       - REPORT_RECIPIENT=1 | ||||||
|  |     networks: | ||||||
|  |       - kopanonet | ||||||
|  |     cap_add: | ||||||
|  |       - NET_ADMIN | ||||||
|  |       - SYS_PTRACE | ||||||
|  | 
 | ||||||
|  |   # TODO find good example ldap container | ||||||
|  |   db: | ||||||
|  |     image: mariadb:10.3.10-bionic | ||||||
|  |     restart: always | ||||||
|  |     container_name: kopano_db | ||||||
|  |     volumes: | ||||||
|  |       - ./data/mysql/:/var/lib/mysql | ||||||
|  |     environment: | ||||||
|  |       - MYSQL_ROOT_PASSWORD=YOUR_MYSQL_ROOT_PASSWORD  #change here | ||||||
|  |       - MYSQL_PASSWORD=YOUR_PASSWORD #change here | ||||||
|  |       - MYSQL_DATABASE=kopano | ||||||
|  |       - MYSQL_USER=kopano | ||||||
|  |     networks: | ||||||
|  |       - kopanonet | ||||||
|  |    | ||||||
|  |   kwebapp: | ||||||
|  |     image: zokradonh/kopano_webapp:latest | ||||||
|  |     hostname: kwebapp | ||||||
|  |     container_name: kopano_webapp | ||||||
|  |     links: | ||||||
|  |       - kserver | ||||||
|  |     volumes: | ||||||
|  |       - ./data/z-push-states/:/var/lib/z-push/ | ||||||
|  |       - ./ssl/:/kopano/ssl | ||||||
|  |       - ./data/socket/:/run/kopano | ||||||
|  |     environment: | ||||||
|  |       - TZ=Europe/Berlin | ||||||
|  |     networks: | ||||||
|  |       - web | ||||||
|  |       - kopanonet | ||||||
|  | 
 | ||||||
|  |   kssl: | ||||||
|  |     image: zokradonh/kopano_ssl | ||||||
|  |     container_name: kopano_ssl | ||||||
|  |     volumes: | ||||||
|  |       - ./ssl/:/kopano/ssl | ||||||
| 
 | 
 | ||||||
|   kserver: |   kserver: | ||||||
|     image: zokradonh/kopano_core:${CORE_VERSION} |     image: zokradonh/kopano_core:latest | ||||||
|     hostname: kserver |     hostname: kserver | ||||||
|     container_name: kopano_server |     container_name: kopano_server | ||||||
|     links: |     links: | ||||||
| @ -36,263 +138,10 @@ services: | |||||||
|     networks: |     networks: | ||||||
|       - kopanonet |       - kopanonet | ||||||
|     volumes: |     volumes: | ||||||
|       - data:/kopano/data |       - ./data/kopano/:/kopano/data | ||||||
|       - sslcerts:/kopano/ssl |       - ./ssl/:/kopano/ssl | ||||||
| 
 |  | ||||||
|   kdagent: |  | ||||||
|     image: zokradonh/kopano_core:${CORE_VERSION} |  | ||||||
|     container_name: kopano_dagent |  | ||||||
|     links: |  | ||||||
|       - kserver |  | ||||||
|     volumes: |  | ||||||
|       - sslcerts:/kopano/ssl |  | ||||||
|     environment: |  | ||||||
|       - SERVICE_TO_START=dagent |  | ||||||
|       - TZ=Europe/Berlin |  | ||||||
|       - KCCONF_DAGENT_LOG_LEVEL=6 |  | ||||||
|       - KCCONF_DAGENT_SERVER_SOCKET=https://kserver:237/ |  | ||||||
|       - KCCONF_DAGENT_SSLKEY_FILE=/kopano/ssl/kdagent.pem |  | ||||||
|     networks: |  | ||||||
|       - kopanonet |  | ||||||
| 
 |  | ||||||
|   kgateway: |  | ||||||
|     image: zokradonh/kopano_core:${CORE_VERSION} |  | ||||||
|     container_name: kopano_gateway |  | ||||||
|     links: |  | ||||||
|       - kserver |  | ||||||
|     volumes: |  | ||||||
|       - ./gatewaycerts/:/kopano/certs/ |  | ||||||
|     environment: |  | ||||||
|       - SERVICE_TO_START=gateway |  | ||||||
|       - TZ=Europe/Berlin |  | ||||||
|       - KCCONF_GATEWAY_SERVER_SOCKET=http://kserver:236/ |  | ||||||
|       - KCCONF_GATEWAY_SSL_PRIVATE_KEY_FILE=/kopano/certs/yourcert.key # change here |  | ||||||
|       - KCCONF_GATEWAY_SSL_CERTIFICATE_FILE=/kopano/certs/yourcert.pem # change here |  | ||||||
|     networks: |  | ||||||
|       - kopanonet |  | ||||||
| 
 |  | ||||||
|   kical: |  | ||||||
|     image: zokradonh/kopano_core:${CORE_VERSION} |  | ||||||
|     container_name: kopano_ical |  | ||||||
|     links: |  | ||||||
|       - kserver |  | ||||||
|     environment: |  | ||||||
|       - SERVICE_TO_START=ical |  | ||||||
|       - TZ=Europe/Berlin |  | ||||||
|       - KCCONF_ICAL_SERVER_SOCKET=http://kserver:236/ |  | ||||||
|     networks: |  | ||||||
|       - kopanonet |  | ||||||
| 
 |  | ||||||
|   kmonitor: |  | ||||||
|     image: zokradonh/kopano_core:${CORE_VERSION} |  | ||||||
|     container_name: kopano_monitor |  | ||||||
|     links: |  | ||||||
|       - kserver |  | ||||||
|     volumes: |  | ||||||
|       - sslcerts:/kopano/ssl |  | ||||||
|     environment: |  | ||||||
|       - SERVICE_TO_START=monitor |  | ||||||
|       - TZ=Europe/Berlin |  | ||||||
|       - KCCONF_MONITOR_SERVER_SOCKET=https://kserver:237/ |  | ||||||
|       - KCCONF_MONITOR_SSLKEY_FILE=/kopano/ssl/kmonitor.pem |  | ||||||
|     networks: |  | ||||||
|       - kopanonet |  | ||||||
| 
 |  | ||||||
|   ksearch: |  | ||||||
|     image: zokradonh/kopano_core:${CORE_VERSION} |  | ||||||
|     container_name: kopano_search |  | ||||||
|     links: |  | ||||||
|       - kserver |  | ||||||
|     volumes: |  | ||||||
|       - sslcerts:/kopano/ssl |  | ||||||
|     environment: |  | ||||||
|       - SERVICE_TO_START=search |  | ||||||
|       - TZ=Europe/Berlin |  | ||||||
|       - KCCONF_SEARCH_SERVER_BIND_NAME=http://ksearch:2380 |  | ||||||
|       - KCCONF_SEARCH_SERVER_SOCKET=https://kserver:237/ |  | ||||||
|       - KCCONF_SEARCH_SSLKEY_FILE=/kopano/ssl/ksearch.pem |  | ||||||
|     networks: |  | ||||||
|       - kopanonet |  | ||||||
| 
 |  | ||||||
|   kspooler: |  | ||||||
|     image: zokradonh/kopano_core:${CORE_VERSION} |  | ||||||
|     container_name: kopano_spooler |  | ||||||
|     links: |  | ||||||
|       - kserver |  | ||||||
|     volumes: |  | ||||||
|       - sslcerts:/kopano/ssl |  | ||||||
|     environment: |  | ||||||
|       - SERVICE_TO_START=spooler |  | ||||||
|       - TZ=Europe/Berlin |  | ||||||
|       - KCCONF_SPOOLER_SERVER_SOCKET=https://kserver:237/ |  | ||||||
|       - KCCONF_SPOOLER_LOG_LEVEL=4 |  | ||||||
|       - KCCONF_SPOOLER_SMTP_SERVER=kmta |  | ||||||
|       - KCCONF_SPOOLER_SSLKEY_FILE=/kopano/ssl/kspooler.pem |  | ||||||
|     networks: |  | ||||||
|       - kopanonet |  | ||||||
| 
 |  | ||||||
|   kwebapp: |  | ||||||
|     image: zokradonh/kopano_webapp:${WEBAPP_VERSION} |  | ||||||
|     hostname: kwebapp |  | ||||||
|     container_name: kopano_webapp |  | ||||||
|     links: |  | ||||||
|       - kserver |  | ||||||
|     #ports: |  | ||||||
|     #  - "8236:80" |  | ||||||
|     #  - "8237:443" |  | ||||||
|     volumes: |  | ||||||
|       - syncstates:/var/lib/z-push/ |  | ||||||
|       - sslcerts:/kopano/ssl |  | ||||||
|     environment: |  | ||||||
|       - TZ=Europe/Berlin |  | ||||||
|       - KCCONF_SERVERHOSTNAME=kserver |  | ||||||
|       - KCCONF_SERVERPORT=237 |  | ||||||
|     networks: |  | ||||||
|       - web |  | ||||||
|       - kopanonet |  | ||||||
| 
 |  | ||||||
|   kssl: |  | ||||||
|     image: zokradonh/kopano_ssl |  | ||||||
|     container_name: kopano_ssl |  | ||||||
|     volumes: |  | ||||||
|       - sslcerts:/kopano/ssl |  | ||||||
| 
 |  | ||||||
|   kmta: |  | ||||||
|     image: tvial/docker-mailserver:latest |  | ||||||
|     hostname: myhost #change here |  | ||||||
|     domainname: domain.tld #change here |  | ||||||
|     #dns: 127.0.0.1 |  | ||||||
|     container_name: kopano_mta |  | ||||||
|     #links: |  | ||||||
|     #  - adtunnel |  | ||||||
|     ports: |  | ||||||
|       - "25:25" |  | ||||||
|     #  - "143:143" |  | ||||||
|     #  - "587:587" |  | ||||||
|     #  - "993:993" |  | ||||||
|     volumes: |  | ||||||
|       - tmpmaildata:/var/mail |  | ||||||
|       - tmpmailstate:/var/mail-state |  | ||||||
|       - ./mtaconfig/:/tmp/docker-mailserver/ # create this dir |  | ||||||
|     environment: |  | ||||||
|       - TZ=Europe/Berlin |  | ||||||
|       - ENABLE_SPAMASSASSIN=1 |  | ||||||
|       - ENABLE_CLAMAV=1 |  | ||||||
|       - ENABLE_FAIL2BAN=1 |  | ||||||
|       - ENABLE_POSTGREY=1 |  | ||||||
|       - TLS_LEVEL=intermediate |  | ||||||
|       - POSTGREY_DELAY=10 |  | ||||||
|       - ONE_DIR=1 |  | ||||||
|       - DMS_DEBUG=0 |  | ||||||
|       - ENABLE_LDAP=1 |  | ||||||
|       - LDAP_SERVER_HOST=ldaps://ldapserver:ldapport #change here |  | ||||||
|       - LDAP_SEARCH_BASE=OU=MyUsers,DC=domain,DC=tld #change here |  | ||||||
|       - LDAP_BIND_DN=cn=SOME_STANDARD_USER,OU=MyUsers,DC=domain,DC=tld #change here |  | ||||||
|       - LDAP_BIND_PW=PASSWORD_OF_SOME_STANDARD_USER #change here |  | ||||||
|       - LDAP_QUERY_FILTER_USER=(&(objectClass=user)(|(mail=%s)(otherMailbox=%s))) |  | ||||||
|       - LDAP_QUERY_FILTER_GROUP=(&(objectclass=group)(mail=%s)) |  | ||||||
|       - LDAP_QUERY_FILTER_ALIAS=(&(objectClass=user)(otherMailbox=%s)) |  | ||||||
|       - LDAP_QUERY_FILTER_DOMAIN=(&(|(mail=*@%s)(otherMailbox=*@%s)(mailGroupMember=*@%s))(kopanoAccount=1)(|(objectClass=user)(objectclass=group))) |  | ||||||
|       - ENABLE_SASLAUTHD=1 |  | ||||||
|       - SASLAUTHD_LDAP_SERVER=ldaps://ldapserver:ldapport #change here |  | ||||||
|       - SASLAUTHD_LDAP_BIND_DN=cn=SOME_STANDARD_USER,OU=MyUsers,DC=domain,DC=tld #change here |  | ||||||
|       - SASLAUTHD_LDAP_PASSWORD=PASSWORD_OF_SOME_STANDARD_USER  #change here |  | ||||||
|       - SASLAUTHD_LDAP_SEARCH_BASE=OU=MyUsers,DC=domain,DC=tld  #change here |  | ||||||
|       - SASLAUTHD_LDAP_FILTER=(&(sAMAccountName=%U)(objectClass=person)) |  | ||||||
|       - SASLAUTHD_MECHANISMS=ldap |  | ||||||
|       - POSTMASTER_ADDRESS=postmaster@domain.tld #change here |  | ||||||
|       - SMTP_ONLY=1 |  | ||||||
|       - PERMIT_DOCKER=network |  | ||||||
|       - ENABLE_POSTFIX_VIRTUAL_TRANSPORT=1 |  | ||||||
|       - POSTFIX_DAGENT=lmtp:kdagent:2003 |  | ||||||
|       - REPORT_RECIPIENT=1 |  | ||||||
|     networks: |  | ||||||
|       - kopanonet |  | ||||||
|     cap_add: |  | ||||||
|       - NET_ADMIN |  | ||||||
|       - SYS_PTRACE |  | ||||||
| 
 |  | ||||||
|   db: |  | ||||||
|     image: mariadb |  | ||||||
|     restart: always |  | ||||||
|     container_name: kopano_db |  | ||||||
|     volumes: |  | ||||||
|       - db:/var/lib/mysql |  | ||||||
|     environment: |  | ||||||
|       - MYSQL_ROOT_PASSWORD=YOUR_MYSQL_ROOT_PASSWORD  #change here |  | ||||||
|       - MYSQL_PASSWORD=YOUR_PASSWORD #change here |  | ||||||
|       - MYSQL_DATABASE=kopano |  | ||||||
|       - MYSQL_USER=kopano |  | ||||||
|     networks: |  | ||||||
|       - kopanonet |  | ||||||
| 
 |  | ||||||
| volumes: |  | ||||||
|   db: |  | ||||||
|   data: |  | ||||||
|   syncstates: |  | ||||||
|   sslcerts: |  | ||||||
|   tmpmaildata: |  | ||||||
|   tmpmailstate: |  | ||||||
| 
 | 
 | ||||||
| networks: | networks: | ||||||
|   web: |   web: | ||||||
|     external: |  | ||||||
|       driver: default |  | ||||||
|   kopanonet: |   kopanonet: | ||||||
|     driver: bridge |     driver: bridge | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| version: "3" |  | ||||||
| 
 |  | ||||||
| services: |  | ||||||
|   rainloop: |  | ||||||
|     image: hardware/rainloop |  | ||||||
|     links: |  | ||||||
|       - mail |  | ||||||
|     volumes: |  | ||||||
|       - ./data/rainloop:/rainloop/data |  | ||||||
| 
 |  | ||||||
|   mail: |  | ||||||
|     image: tvial/docker-mailserver:latest |  | ||||||
|     restart: always |  | ||||||
|     hostname: mail |  | ||||||
|     domainname: fancydomain.tld |  | ||||||
|     container_name: mail |  | ||||||
|     ports: |  | ||||||
|       - "25:25" |  | ||||||
|       - "143:143" |  | ||||||
|       - "587:587" |  | ||||||
|       - "993:993" |  | ||||||
|       - "4190:4190" |  | ||||||
|     volumes: |  | ||||||
|       - ./data/mail/data:/var/mail |  | ||||||
|       - ./data/mail/state:/var/mail-state |  | ||||||
|       - ./mail/config:/tmp/docker-mailserver/ |  | ||||||
|       - ./data/entry/acme/acme-v01.api.letsencrypt.org/sites/mail.fancydomain.tld:/tmp/ssl:ro |  | ||||||
|     environment: |  | ||||||
|       - ENABLE_SPAMASSASSIN=1 |  | ||||||
|       - ENABLE_CLAMAV=1 |  | ||||||
|       - ENABLE_FAIL2BAN=1 |  | ||||||
|       - ENABLE_POSTGREY=1 |  | ||||||
|       - ONE_DIR=1 |  | ||||||
|       - DMS_DEBUG=0 |  | ||||||
|       - ENABLE_MANAGESIEVE=1 |  | ||||||
|       - SSL_TYPE=manual |  | ||||||
|       - SSL_CERT_PATH=/tmp/ssl/mail.fancydomain.tld.crt |  | ||||||
|       - SSL_KEY_PATH=/tmp/ssl/mail.fancydomain.tld.key |  | ||||||
|     cap_add: |  | ||||||
|       - NET_ADMIN |  | ||||||
| 
 |  | ||||||
|   entry: |  | ||||||
|     image: abiosoft/caddy:0.10.4 |  | ||||||
|     restart: always |  | ||||||
|     privileged: true |  | ||||||
|     links: |  | ||||||
|       - rainloop |  | ||||||
|     ports: |  | ||||||
|       - "80:80" |  | ||||||
|       - "443:443" |  | ||||||
|     volumes: |  | ||||||
|       - ./entry/Caddyfile:/etc/Caddyfile |  | ||||||
|       - ./data/entry:/root/.caddy |  | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user