mirror of
https://github.com/the-djmaze/snappymail.git
synced 2026-09-02 22:17:03 +03:00
Add better Docker development and prod support
This commit is contained in:
parent
e0462af9da
commit
fcf2c2468d
27 changed files with 1453 additions and 66 deletions
|
|
@ -1,18 +1,16 @@
|
|||
version: '2'
|
||||
version: '3.0'
|
||||
|
||||
services:
|
||||
|
||||
# Mail server running on separate image
|
||||
mail:
|
||||
image: tvial/docker-mailserver:latest
|
||||
hostname: mail
|
||||
container_name: rl.mail
|
||||
domainname: domain.com
|
||||
restart: always
|
||||
ports:
|
||||
- 25:25
|
||||
- 143:143
|
||||
domainname: example.com
|
||||
volumes:
|
||||
- maildata:/var/mail
|
||||
- mailstate:/var/mail-state
|
||||
- ./.docker/mail/config/:/tmp/docker-mailserver/
|
||||
- ./.docker/dev/mail/config/:/tmp/docker-mailserver/
|
||||
environment:
|
||||
- ENABLE_SPAMASSASSIN=0
|
||||
- ENABLE_CLAMAV=0
|
||||
|
|
@ -24,70 +22,44 @@ services:
|
|||
cap_add:
|
||||
- NET_ADMIN
|
||||
- SYS_PTRACE
|
||||
|
||||
# MySQL database
|
||||
db:
|
||||
image: mysql:5.7
|
||||
hostname: db
|
||||
container_name: rl.db
|
||||
restart: always
|
||||
environment:
|
||||
MYSQL_ROOT_PASSWORD: root
|
||||
MYSQL_USER: snappymail
|
||||
MYSQL_PASSWORD: snappymail
|
||||
MYSQL_DATABASE: snappymail
|
||||
- MYSQL_ROOT_PASSWORD=root
|
||||
- MYSQL_USER=snappymail
|
||||
- MYSQL_PASSWORD=snappymail
|
||||
- MYSQL_DATABASE=snappymail
|
||||
volumes:
|
||||
- mysql:/var/lib/mysql
|
||||
- tmp:/tmp
|
||||
|
||||
# PHP FPM Server
|
||||
php:
|
||||
build:
|
||||
context: ./.docker/php
|
||||
hostname: php
|
||||
container_name: rl.php
|
||||
expose:
|
||||
- 9000
|
||||
context: ./.docker/dev/php
|
||||
depends_on:
|
||||
- db
|
||||
- mail
|
||||
volumes:
|
||||
- ./:/var/www
|
||||
# - ./build/local/:/var/www
|
||||
- ./.docker/php/snappymail.ini:/usr/local/etc/php/conf.d/snappymail.ini
|
||||
- tmp:/tmp
|
||||
node:
|
||||
build:
|
||||
context: ./.docker/node
|
||||
hostname: node
|
||||
container_name: rl.node
|
||||
working_dir: /var/www
|
||||
command: sh -c 'yarn --version'
|
||||
volumes:
|
||||
- ./:/var/www
|
||||
- tmp:/tmp
|
||||
- ./.docker/dev/php/snappymail.ini:/usr/local/etc/php/conf.d/snappymail.ini
|
||||
|
||||
# Nginx load balancer translating to PHP FPM
|
||||
nginx:
|
||||
image: nginx:latest
|
||||
hostname: nginx
|
||||
container_name: rl.nginx
|
||||
depends_on:
|
||||
- php
|
||||
ports:
|
||||
- 443:443
|
||||
- 80:80
|
||||
- "${HTTPS_PORT}:443"
|
||||
- "${HTTP_PORT}:80"
|
||||
volumes:
|
||||
- ./:/var/www
|
||||
# - ./build/local/:/var/www
|
||||
- ./.docker/nginx/ssl:/etc/nginx/ssl
|
||||
- ./.docker/nginx/default.conf:/etc/nginx/conf.d/default.conf
|
||||
- tmp:/tmp
|
||||
tx:
|
||||
build:
|
||||
context: ./.docker/tx
|
||||
hostname: tx
|
||||
container_name: rl.tx
|
||||
working_dir: /var/www
|
||||
command: sh -c 'tx --version'
|
||||
volumes:
|
||||
- ./:/var/www
|
||||
- ./.docker/.cache/tx/root:/root
|
||||
- tmp:/tmp
|
||||
- ./.docker/dev/nginx/ssl:/etc/nginx/ssl
|
||||
- ./.docker/dev/nginx/default.conf:/etc/nginx/conf.d/default.conf
|
||||
|
||||
volumes:
|
||||
mysql:
|
||||
|
|
@ -95,6 +67,4 @@ volumes:
|
|||
maildata:
|
||||
driver: local
|
||||
mailstate:
|
||||
driver: local
|
||||
tmp:
|
||||
driver: local
|
||||
driver: local
|
||||
Loading…
Add table
Add a link
Reference in a new issue