Merge pull request #52 from Monogramm/ci/docker-compose
Add docker-compose
This commit is contained in:
commit
673c3a1e3c
15
.travis.yml
15
.travis.yml
@ -11,18 +11,17 @@ branches:
|
|||||||
|
|
||||||
before_script:
|
before_script:
|
||||||
- env | sort
|
- env | sort
|
||||||
- name="roundcubemail"
|
|
||||||
- image="roundcube/roundcubemail:${VERSION}${VARIANT:+-$VARIANT}"
|
|
||||||
- dir="php-${VARIANT}"
|
- dir="php-${VARIANT}"
|
||||||
|
|
||||||
script:
|
script:
|
||||||
- travis_retry docker build -t "$image" "$dir"
|
- cd "$dir"
|
||||||
|
- docker-compose build
|
||||||
after_script:
|
|
||||||
- docker images
|
- docker images
|
||||||
- docker run --name "$name" -d "$image" "$dir"
|
- travis_retry docker-compose up -d && sleep 60
|
||||||
- docker ps
|
- docker-compose ps
|
||||||
- docker logs "$name"
|
- docker-compose logs
|
||||||
|
- docker-compose ps "roundcubedb" | grep "Up"
|
||||||
|
- docker-compose ps "roundcube" | grep "Up"
|
||||||
|
|
||||||
notifications:
|
notifications:
|
||||||
email: false
|
email: false
|
||||||
|
81
php-apache/docker-compose.yml
Normal file
81
php-apache/docker-compose.yml
Normal file
@ -0,0 +1,81 @@
|
|||||||
|
version: "2"
|
||||||
|
|
||||||
|
services:
|
||||||
|
roundcube:
|
||||||
|
build: ./
|
||||||
|
container_name: roundcube
|
||||||
|
#restart: always
|
||||||
|
depends_on:
|
||||||
|
- roundcubedb
|
||||||
|
links:
|
||||||
|
- roundcubedb
|
||||||
|
ports:
|
||||||
|
- 80:80
|
||||||
|
volumes:
|
||||||
|
- /srv/roundcube/html:/var/www/html
|
||||||
|
environment:
|
||||||
|
- ROUNDCUBEMAIL_DB_TYPE=mysql
|
||||||
|
- ROUNDCUBEMAIL_DB_HOST=roundcubedb # same as mysql container name
|
||||||
|
- ROUNDCUBEMAIL_DB_NAME=roundcube # same as mysql MYSQL_DATABASE env name
|
||||||
|
- ROUNDCUBEMAIL_DB_USER=roundcube # same as mysql MYSQL_USER env name
|
||||||
|
- ROUNDCUBEMAIL_DB_PASSWORD=roundcubedbpass # same as mysql MYSQL_PASSWORD env name
|
||||||
|
|
||||||
|
roundcubedb:
|
||||||
|
image: mariadb:latest
|
||||||
|
container_name: roundcubedb
|
||||||
|
restart: always
|
||||||
|
command: --character_set_client=utf8 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --character-set-client-handshake=FALSE
|
||||||
|
ports:
|
||||||
|
- 3306:3306
|
||||||
|
volumes:
|
||||||
|
- /srv/roundcube/db:/var/lib/mysql
|
||||||
|
environment:
|
||||||
|
- MYSQL_ROOT_PASSWORD=mysqlrootpassword
|
||||||
|
- MYSQL_DATABASE=roundcube
|
||||||
|
- MYSQL_USER=roundcube
|
||||||
|
- MYSQL_PASSWORD=roundcubedbpass
|
||||||
|
|
||||||
|
# Sample mail server to use with RoundCube: https://github.com/tomav/docker-mailserver
|
||||||
|
# mailserver:
|
||||||
|
# image: tvial/docker-mailserver:latest
|
||||||
|
# hostname: mail
|
||||||
|
# domainname: <YOUR.DOMAIN.NAME>
|
||||||
|
# container_name: mail
|
||||||
|
# restart: always
|
||||||
|
# ports:
|
||||||
|
# # receiving email from other mailservers
|
||||||
|
# - "25:25"
|
||||||
|
# # SSL & TLS Client email submission (SMTP)
|
||||||
|
# - "465:465"
|
||||||
|
# - "587:587"
|
||||||
|
# # StartTLS & TLS/SSL IMAP client
|
||||||
|
# - "143:143"
|
||||||
|
# - "993:993"
|
||||||
|
# # POP3 & TLS/SSL POP3 client
|
||||||
|
# - "110:110"
|
||||||
|
# - "995:995"
|
||||||
|
# # Manage Sieve port
|
||||||
|
# - "4190:4190"
|
||||||
|
# environment:
|
||||||
|
# - DMS_DEBUG=0
|
||||||
|
# - ONE_DIR=1
|
||||||
|
# - ENABLE_CLAMAV=1
|
||||||
|
# - ENABLE_FAIL2BAN=1
|
||||||
|
# - ENABLE_POSTGREY=1
|
||||||
|
# - ENABLE_MANAGESIEVE=1
|
||||||
|
# # If you need SSL connection, you can provide your own certificates
|
||||||
|
# #- SSL_TYPE=manual
|
||||||
|
# #- SSL_CERT_PATH=/etc/letsencrypt/fullchain.pem
|
||||||
|
# #- SSL_KEY_PATH=/etc/letsencrypt/privkey.pem
|
||||||
|
# cap_add:
|
||||||
|
# - NET_ADMIN
|
||||||
|
# - SYS_PTRACE
|
||||||
|
# volumes:
|
||||||
|
# - /srv/mail/data:/var/mail
|
||||||
|
# - /srv/mail/state:/var/mail-state
|
||||||
|
# # For proper delivery, generate DKIM keys in /srv/mail/setup
|
||||||
|
# - /srv/mail/setup:/tmp/docker-mailserver
|
||||||
|
# - /etc/localtime:/etc/localtime:ro
|
||||||
|
# - /etc/timezone:/etc/timezone:ro
|
||||||
|
# # If you need SSL connection, you can provide your own certificates
|
||||||
|
# # - ./certs:/etc/letsencrypt
|
102
php-fpm/docker-compose.yml
Normal file
102
php-fpm/docker-compose.yml
Normal file
@ -0,0 +1,102 @@
|
|||||||
|
version: "2"
|
||||||
|
|
||||||
|
services:
|
||||||
|
roundcube:
|
||||||
|
build: ./
|
||||||
|
container_name: roundcube
|
||||||
|
#restart: always
|
||||||
|
depends_on:
|
||||||
|
- roundcubedb
|
||||||
|
links:
|
||||||
|
- roundcubedb
|
||||||
|
ports:
|
||||||
|
- 9000:9000
|
||||||
|
volumes:
|
||||||
|
- /srv/roundcube/html:/var/www/html
|
||||||
|
environment:
|
||||||
|
- ROUNDCUBEMAIL_DB_TYPE=pgsql
|
||||||
|
- ROUNDCUBEMAIL_DB_HOST=roundcubedb # same as pgsql container name
|
||||||
|
- ROUNDCUBEMAIL_DB_NAME=roundcube # same as pgsql POSTGRES_DB env name
|
||||||
|
- ROUNDCUBEMAIL_DB_USER=roundcube # same as pgsql POSTGRES_USER env name
|
||||||
|
- ROUNDCUBEMAIL_DB_PASSWORD=roundcube # same as pgsql POSTGRES_PASSWORD env name
|
||||||
|
|
||||||
|
roundcubedb:
|
||||||
|
image: postgres:latest
|
||||||
|
container_name: roundcubedb
|
||||||
|
restart: always
|
||||||
|
ports:
|
||||||
|
- 5432:5432
|
||||||
|
volumes:
|
||||||
|
- /srv/roundcube/db:/var/lib/postgresql/data
|
||||||
|
environment:
|
||||||
|
- POSTGRES_DB=roundcube
|
||||||
|
- POSTGRES_USER=roundcube
|
||||||
|
- POSTGRES_PASSWORD=roundcube
|
||||||
|
|
||||||
|
roundcubenginx:
|
||||||
|
image: nginx:latest
|
||||||
|
container_name: roundcubenginx
|
||||||
|
restart: always
|
||||||
|
ports:
|
||||||
|
- 80:80
|
||||||
|
# If you need SSL connection
|
||||||
|
# - '443:443'
|
||||||
|
depends_on:
|
||||||
|
- roundcube
|
||||||
|
links:
|
||||||
|
- roundcube
|
||||||
|
volumes:
|
||||||
|
- /srv/roundcube/html:/var/www/html
|
||||||
|
# TODO Provide a custom nginx conf
|
||||||
|
#- ./nginx.conf:/etc/nginx/nginx.conf:ro
|
||||||
|
# If you need SSL connection, you can provide your own certificates
|
||||||
|
# - ./certs:/etc/letsencrypt
|
||||||
|
# - ./certs-data:/data/letsencrypt
|
||||||
|
environment:
|
||||||
|
- NGINX_HOST=localhost # set your local domain or your live domain
|
||||||
|
# - NGINX_CGI=roundcube:9000 # same as roundcube container name
|
||||||
|
|
||||||
|
# Sample mail server to use with RoundCube: https://github.com/tomav/docker-mailserver
|
||||||
|
# mailserver:
|
||||||
|
# image: tvial/docker-mailserver:latest
|
||||||
|
# hostname: mail
|
||||||
|
# domainname: <YOUR.DOMAIN.NAME>
|
||||||
|
# container_name: mail
|
||||||
|
# restart: always
|
||||||
|
# ports:
|
||||||
|
# # receiving email from other mailservers
|
||||||
|
# - "25:25"
|
||||||
|
# # SSL & TLS Client email submission (SMTP)
|
||||||
|
# - "465:465"
|
||||||
|
# - "587:587"
|
||||||
|
# # StartTLS & TLS/SSL IMAP client
|
||||||
|
# - "143:143"
|
||||||
|
# - "993:993"
|
||||||
|
# # POP3 & TLS/SSL POP3 client
|
||||||
|
# - "110:110"
|
||||||
|
# - "995:995"
|
||||||
|
# # Manage Sieve port
|
||||||
|
# - "4190:4190"
|
||||||
|
# environment:
|
||||||
|
# - DMS_DEBUG=0
|
||||||
|
# - ONE_DIR=1
|
||||||
|
# - ENABLE_CLAMAV=1
|
||||||
|
# - ENABLE_FAIL2BAN=1
|
||||||
|
# - ENABLE_POSTGREY=1
|
||||||
|
# - ENABLE_MANAGESIEVE=1
|
||||||
|
# # If you need SSL connection, you can provide your own certificates
|
||||||
|
# #- SSL_TYPE=manual
|
||||||
|
# #- SSL_CERT_PATH=/etc/letsencrypt/fullchain.pem
|
||||||
|
# #- SSL_KEY_PATH=/etc/letsencrypt/privkey.pem
|
||||||
|
# cap_add:
|
||||||
|
# - NET_ADMIN
|
||||||
|
# - SYS_PTRACE
|
||||||
|
# volumes:
|
||||||
|
# - /srv/mail/data:/var/mail
|
||||||
|
# - /srv/mail/state:/var/mail-state
|
||||||
|
# # For proper delivery, generate DKIM keys in /srv/mail/setup
|
||||||
|
# - /srv/mail/setup:/tmp/docker-mailserver
|
||||||
|
# - /etc/localtime:/etc/localtime:ro
|
||||||
|
# - /etc/timezone:/etc/timezone:ro
|
||||||
|
# # If you need SSL connection, you can provide your own certificates
|
||||||
|
# # - ./certs:/etc/letsencrypt
|
Loading…
x
Reference in New Issue
Block a user