started mysql/server
This commit is contained in:
3
.env
Normal file
3
.env
Normal file
@@ -0,0 +1,3 @@
|
||||
# database credentials
|
||||
MYSQL_ROOT_PASSWORD=modT9&?.
|
||||
MYSQL_KOPANO_PASSWORD=Asdf2345
|
||||
10
build.sh
10
build.sh
@@ -1,10 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
# docker run -d --name apache -p80:80 -v/root/kopano/dist:/usr/local/apache2/htdocs httpd
|
||||
DOCKER_BUILDKIT=1 docker build -f kopano.dockerfile -t kopano .
|
||||
docker container prune -f
|
||||
docker create --name kopano kopano:latest
|
||||
docker export kopano | docker import - kopano:squashed
|
||||
# docker run -d --name kopano kopano:squashed
|
||||
# docker exec -it kopano bash
|
||||
# docker stop kopano
|
||||
# docker rm kopano
|
||||
15
build2.sh
15
build2.sh
@@ -1,15 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
# docker login --username baloan --password 'yZBCUs5&@?:.'
|
||||
# docker run -d --name apache -p80:80 -v/root/kopano/dist:/var/www httpd
|
||||
export DOCKER_BUILDKIT=1
|
||||
# cd ~/kopano/core; docker build -t core .
|
||||
# cd ~/kopano/webapp; docker build -t webapp .
|
||||
cd ~/kopano/postfix; docker build -t postfix .
|
||||
cd ~/kopano
|
||||
# docker container prune -f
|
||||
# docker create --name kopano kopano:latest
|
||||
# docker export kopano | docker import - kopano:squashed
|
||||
# docker run -d --name kopano kopano:squashed
|
||||
# docker exec -it kopano bash
|
||||
# docker stop kopano
|
||||
# docker rm kopano
|
||||
@@ -1,4 +1,10 @@
|
||||
#!/usr/bin/env bash
|
||||
set -e
|
||||
# export APACHE_RUN_DIR=/var/www
|
||||
sed -i \
|
||||
-e's/#mysql_host = localhost/mysql_host = mysql/' \
|
||||
-e's/#mysql_user = root/mysql_user = kopano/' \
|
||||
-e's/#mysql_password =/mysql_password = Asdf2345/' \
|
||||
/etc/kopano/server.cfg
|
||||
# runas user kopano
|
||||
chown kopano:kopano /var/lib/kopano/attachments
|
||||
exec "$@"
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
apt-get update
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
export TZ=Europe/Berlin
|
||||
apt-get install -y tzdata z-push apache2
|
||||
tar xzf core-11.0.2.50.507cbae-Ubuntu_20.04-amd64.tar.gz
|
||||
tar xzf webapp-6.0.0.57.1049268-Ubuntu_20.04-all.tar.gz
|
||||
for F in ~/core-11.0.2.50.507cbae-Ubuntu_20.04-amd64/*.deb; do dpkg --unpack --no-triggers $F; done
|
||||
for F in ~/webapp-6.0.0.57.1049268-Ubuntu_20.04-all/*.deb; do dpkg --unpack --no-triggers $F; done
|
||||
apt-get install -f -y
|
||||
# cleanup install
|
||||
apt-get clean
|
||||
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* ~/.cache ~/.npm
|
||||
@@ -1,68 +1,76 @@
|
||||
version: '3'
|
||||
services:
|
||||
server:
|
||||
image: core
|
||||
depends_on:
|
||||
- db
|
||||
- mysql
|
||||
volumes:
|
||||
- attachments:/var/lib/kopano/attachments
|
||||
- ./core/entrypoint.sh:/entrypoint.sh
|
||||
command: /usr/sbin/kopano-server
|
||||
dagent:
|
||||
image: core
|
||||
depends_on:
|
||||
- db
|
||||
- server
|
||||
command: /usr/sbin/kopano-dagent
|
||||
spooler:
|
||||
image: core
|
||||
depends_on:
|
||||
- db
|
||||
- server
|
||||
command: /usr/sbin/kopano-spooler
|
||||
search:
|
||||
image: core
|
||||
depends_on:
|
||||
- db
|
||||
- server
|
||||
command: /usr/sbin/kopano-search
|
||||
postfix:
|
||||
image: postfix
|
||||
volumes:
|
||||
- spool:/var/spool/postfix
|
||||
webapp:
|
||||
image: webapp
|
||||
labels:
|
||||
- traefik.enable=true
|
||||
- traefik.http.routers.webapp.rule=Host(`$MAIL_DOMAIN`) && Path(`/webapp`)
|
||||
- traefik.http.routers.webapp.tls=true
|
||||
- traefik.http.routers.webapp.tls.certResolver=default
|
||||
depends_on:
|
||||
- server
|
||||
networks:
|
||||
- default
|
||||
- traefik
|
||||
z-push:
|
||||
image: z-push
|
||||
labels:
|
||||
- traefik.enable=true
|
||||
- traefik.http.routers.webapp.rule=Host(`$MAIL_DOMAIN`) && Path(`/Active-Sync-...`)
|
||||
- traefik.http.routers.webapp.tls=true
|
||||
- traefik.http.routers.webapp.tls.certResolver=default
|
||||
volumes:
|
||||
- z-push:/var/lib/z-push
|
||||
depends_on:
|
||||
- server
|
||||
networks:
|
||||
- default
|
||||
- traefik
|
||||
db:
|
||||
image: mysql
|
||||
restart: unless-stopped
|
||||
mysql:
|
||||
image: mysql:5.7
|
||||
environment:
|
||||
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
|
||||
volumes:
|
||||
- database:/var/lib/mysql
|
||||
- ./mysql/etc/mysql:/etc/mysql
|
||||
- ./mysql/docker-entrypoint-initdb.d:/docker-entrypoint-initdb.d
|
||||
ports:
|
||||
- 3307:3306
|
||||
networks:
|
||||
traefik:
|
||||
external: true
|
||||
volumes:
|
||||
- attachments:
|
||||
- database:
|
||||
- z-push:
|
||||
- spool:
|
||||
database:
|
||||
attachments:
|
||||
# z-push:
|
||||
# spool:
|
||||
|
||||
# dagent:
|
||||
# image: core
|
||||
# depends_on:
|
||||
# - db
|
||||
# - server
|
||||
# command: /usr/sbin/kopano-dagent
|
||||
# spooler:
|
||||
# image: core
|
||||
# depends_on:
|
||||
# - db
|
||||
# - server
|
||||
# command: /usr/sbin/kopano-spooler
|
||||
# search:
|
||||
# image: core
|
||||
# depends_on:
|
||||
# - db
|
||||
# - server
|
||||
# command: /usr/sbin/kopano-search
|
||||
# webapp:
|
||||
# image: webapp
|
||||
# labels:
|
||||
# - traefik.enable=true
|
||||
# - traefik.http.routers.webapp.rule=Host(`$MAIL_DOMAIN`) && Path(`/webapp`)
|
||||
# - traefik.http.routers.webapp.tls=true
|
||||
# - traefik.http.routers.webapp.tls.certResolver=default
|
||||
# depends_on:
|
||||
# - server
|
||||
# networks:
|
||||
# - default
|
||||
# - traefik
|
||||
# z-push:
|
||||
# image: z-push
|
||||
# labels:
|
||||
# - traefik.enable=true
|
||||
# - traefik.http.routers.webapp.rule=Host(`$MAIL_DOMAIN`) && Path(`/Active-Sync-...`)
|
||||
# - traefik.http.routers.webapp.tls=true
|
||||
# - traefik.http.routers.webapp.tls.certResolver=default
|
||||
# volumes:
|
||||
# - z-push:/var/lib/z-push
|
||||
# depends_on:
|
||||
# - server
|
||||
# networks:
|
||||
# - default
|
||||
# - traefik
|
||||
# postfix:
|
||||
# image: postfix
|
||||
# volumes:
|
||||
# - spool:/var/spool/postfix
|
||||
|
||||
8
migration.sh
Normal file
8
migration.sh
Normal file
@@ -0,0 +1,8 @@
|
||||
#!/usr/bin/env bash
|
||||
docker exec -it kopano-mysql-1 sh <<DCKR
|
||||
mysql -u root -p <<SQL
|
||||
CREATE USER 'kopano' IDENTIFIED BY 'Asdf2345';
|
||||
GRANT ALL ON kopano.* TO 'kopano'@'%';
|
||||
DROP DATABASE kopano;
|
||||
SQL
|
||||
DCKR
|
||||
@@ -0,0 +1,2 @@
|
||||
CREATE USER 'kopano' IDENTIFIED BY 'Asdf2345';
|
||||
GRANT ALL ON kopano.* TO 'kopano'@'%';
|
||||
1
mysql/etc/mysql/conf.d/mysql.cnf
Normal file
1
mysql/etc/mysql/conf.d/mysql.cnf
Normal file
@@ -0,0 +1 @@
|
||||
[mysql]
|
||||
4
mysql/etc/mysql/conf.d/mysqldump.cnf
Normal file
4
mysql/etc/mysql/conf.d/mysqldump.cnf
Normal file
@@ -0,0 +1,4 @@
|
||||
[mysqldump]
|
||||
quick
|
||||
quote-names
|
||||
max_allowed_packet = 16M
|
||||
86
mysql/etc/mysql/mysql.conf.d/mysqld.cnf
Normal file
86
mysql/etc/mysql/mysql.conf.d/mysqld.cnf
Normal file
@@ -0,0 +1,86 @@
|
||||
[mysqld]
|
||||
#
|
||||
# * Basic Settings
|
||||
#
|
||||
# port = 3306
|
||||
lc-messages-dir = /usr/share/mysql
|
||||
skip-external-locking
|
||||
#
|
||||
# Instead of skip-networking the default is now to listen only on
|
||||
# localhost which is more compatible and is not less secure.
|
||||
bind-address = 0.0.0.0
|
||||
#
|
||||
# * Fine Tuning
|
||||
#
|
||||
key_buffer_size = 16M
|
||||
max_allowed_packet = 16M
|
||||
thread_stack = 192K
|
||||
thread_cache_size = 8
|
||||
# This replaces the startup script and checks MyISAM tables if needed
|
||||
# the first time they are touched
|
||||
myisam-recover-options = BACKUP
|
||||
#max_connections = 100
|
||||
#table_open_cache = 64
|
||||
#thread_concurrency = 10
|
||||
#
|
||||
# * Query Cache Configuration
|
||||
#
|
||||
query_cache_limit = 1M
|
||||
query_cache_size = 16M
|
||||
#
|
||||
# * Logging and Replication
|
||||
#
|
||||
# Both location gets rotated by the cronjob.
|
||||
# Be aware that this log type is a performance killer.
|
||||
# As of 5.1 you can enable the log at runtime!
|
||||
#general_log_file = /var/log/mysql/mysql.log
|
||||
#general_log = 1
|
||||
#
|
||||
# Error log - should be very few entries.
|
||||
#
|
||||
# log_error = /var/log/mysql/error.log
|
||||
#
|
||||
# Here you can see queries with especially long duration
|
||||
#slow_query_log = 1
|
||||
#slow_query_log_file = /var/log/mysql/mysql-slow.log
|
||||
#long_query_time = 2
|
||||
#log-queries-not-using-indexes
|
||||
#
|
||||
# The following can be used as easy to replay backup logs or for replication.
|
||||
# note: if you are setting up a replication slave, see README.Debian about
|
||||
# other settings you may need to change.
|
||||
# server-id = 1
|
||||
# log_bin = /var/local/wal/mysql/mysql-bin.log
|
||||
# expire_logs_days = 10
|
||||
# max_binlog_size = 1M
|
||||
# transaction_isolation = READ-COMMITTED
|
||||
# binlog_format = ROW
|
||||
#binlog_do_db = include_database_name
|
||||
#binlog_ignore_db = include_database_name
|
||||
#
|
||||
# * InnoDB
|
||||
#
|
||||
# InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.
|
||||
# Read the manual for more InnoDB related options. There are many!
|
||||
#
|
||||
character-set-server = utf8mb4
|
||||
collation-server = utf8mb4_general_ci
|
||||
innodb_large_prefix = on
|
||||
innodb_file_format = barracuda
|
||||
innodb_file_per_table = 1
|
||||
innodb_buffer_pool_size = 500M
|
||||
innodb_log_file_size = 50M
|
||||
innodb_log_buffer_size = 25M
|
||||
innodb_flush_log_at_trx_commit = 0
|
||||
|
||||
#
|
||||
# * Security Features
|
||||
#
|
||||
# Read the manual, too, if you want chroot!
|
||||
# chroot = /var/lib/mysql/
|
||||
#
|
||||
# For generating SSL certificates I recommend the OpenSSL GUI "tinyca".
|
||||
#
|
||||
# ssl-ca=/etc/mysql/cacert.pem
|
||||
# ssl-cert=/etc/mysql/server-cert.pem
|
||||
# ssl-key=/etc/mysql/server-key.pem
|
||||
2
mysql/etc/mysql/mysql.conf.d/mysqld_safe_syslog.cnf
Normal file
2
mysql/etc/mysql/mysql.conf.d/mysqld_safe_syslog.cnf
Normal file
@@ -0,0 +1,2 @@
|
||||
[mysqld_safe]
|
||||
syslog
|
||||
Reference in New Issue
Block a user