init
This commit is contained in:
parent
0cb3cda21f
commit
941d827741
@ -123,7 +123,7 @@ services:
|
||||
environment:
|
||||
- MYSQL_ROOT_PASSWORD=${DB_MARIADB_PASSWORD}
|
||||
volumes:
|
||||
- ./installation/frappe-mariadb.cnf:/etc/mysql/conf.d/frappe.cnf
|
||||
- ./src/installation/frappe-mariadb.cnf:/etc/mysql/conf.d/frappe.cnf
|
||||
- ${VOLUMES_PATH_PREFIX}/mariadb-vol:/var/lib/mysql
|
||||
|
||||
site-creator:
|
||||
|
||||
174
src/docker-compose.yml
Normal file
174
src/docker-compose.yml
Normal file
@ -0,0 +1,174 @@
|
||||
version: "3"
|
||||
|
||||
services:
|
||||
traefik:
|
||||
image: "traefik:v2.2"
|
||||
command:
|
||||
- "--log.level=DEBUG"
|
||||
- "--providers.docker=true"
|
||||
- "--providers.docker.exposedbydefault=false"
|
||||
- "--entrypoints.web.address=:80"
|
||||
- "--entrypoints.websecure.address=:443"
|
||||
- "--certificatesresolvers.myresolver.acme.httpchallenge=true"
|
||||
- "--certificatesresolvers.myresolver.acme.httpchallenge.entrypoint=web"
|
||||
- "--certificatesresolvers.myresolver.acme.email=${LETSENCRYPT_EMAIL}"
|
||||
- "--certificatesresolvers.myresolver.acme.storage=/letsencrypt/acme.json"
|
||||
labels:
|
||||
# enable traefik
|
||||
- "traefik.enable=true"
|
||||
# global redirect to https for production only
|
||||
- "${HTTPS_REDIRECT_RULE_LABEL}"
|
||||
- "${HTTPS_REDIRECT_ENTRYPOINT_LABEL}"
|
||||
- "${HTTPS_REDIRECT_MIDDLEWARE_LABEL}"
|
||||
# middleware redirect for production only
|
||||
- "${HTTPS_USE_REDIRECT_MIDDLEWARE_LABEL}"
|
||||
ports:
|
||||
- "80:80"
|
||||
- "443:443"
|
||||
volumes:
|
||||
- cert-vol:/letsencrypt
|
||||
- /var/run/docker.sock:/var/run/docker.sock:ro
|
||||
userns_mode: "host"
|
||||
|
||||
erpnext-nginx:
|
||||
image: frappe/erpnext-nginx:${ERPNEXT_VERSION}
|
||||
restart: on-failure
|
||||
environment:
|
||||
- FRAPPE_PY=erpnext-python
|
||||
- FRAPPE_PY_PORT=8000
|
||||
- FRAPPE_SOCKETIO=frappe-socketio
|
||||
- SOCKETIO_PORT=9000
|
||||
- SKIP_NGINX_TEMPLATE_GENERATION=${SKIP_NGINX_TEMPLATE_GENERATION}
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.erpnext-nginx.rule=Host(${SITES})"
|
||||
- "${ENTRYPOINT_LABEL}"
|
||||
- "${CERT_RESOLVER_LABEL}"
|
||||
- "traefik.http.services.erpnext-nginx.loadbalancer.server.port=80"
|
||||
volumes:
|
||||
- sites-vol:/var/www/html/sites:rw
|
||||
- assets-vol:/assets:rw
|
||||
|
||||
erpnext-python:
|
||||
image: frappe/erpnext-worker:${ERPNEXT_VERSION}
|
||||
restart: on-failure
|
||||
environment:
|
||||
- MARIADB_HOST=${MARIADB_HOST}
|
||||
- REDIS_CACHE=redis-cache:6379
|
||||
- REDIS_QUEUE=redis-queue:6379
|
||||
- REDIS_SOCKETIO=redis-socketio:6379
|
||||
- SOCKETIO_PORT=9000
|
||||
- AUTO_MIGRATE=1
|
||||
- WORKER_CLASS=${WORKER_CLASS}
|
||||
volumes:
|
||||
- sites-vol:/home/frappe/frappe-bench/sites:rw
|
||||
- assets-vol:/home/frappe/frappe-bench/sites/assets:rw
|
||||
|
||||
frappe-socketio:
|
||||
image: frappe/frappe-socketio:${FRAPPE_VERSION}
|
||||
restart: on-failure
|
||||
depends_on:
|
||||
- redis-socketio
|
||||
volumes:
|
||||
- sites-vol:/home/frappe/frappe-bench/sites:rw
|
||||
- logs-vol:/home/frappe/frappe-bench/logs:rw
|
||||
|
||||
erpnext-worker-default:
|
||||
image: frappe/erpnext-worker:${ERPNEXT_VERSION}
|
||||
restart: on-failure
|
||||
command: worker
|
||||
depends_on:
|
||||
- redis-queue
|
||||
- redis-cache
|
||||
volumes:
|
||||
- sites-vol:/home/frappe/frappe-bench/sites:rw
|
||||
- logs-vol:/home/frappe/frappe-bench/logs:rw
|
||||
|
||||
erpnext-worker-short:
|
||||
image: frappe/erpnext-worker:${ERPNEXT_VERSION}
|
||||
restart: on-failure
|
||||
command: worker
|
||||
environment:
|
||||
- WORKER_TYPE=short
|
||||
depends_on:
|
||||
- redis-queue
|
||||
- redis-cache
|
||||
volumes:
|
||||
- sites-vol:/home/frappe/frappe-bench/sites:rw
|
||||
- logs-vol:/home/frappe/frappe-bench/logs:rw
|
||||
|
||||
erpnext-worker-long:
|
||||
image: frappe/erpnext-worker:${ERPNEXT_VERSION}
|
||||
restart: on-failure
|
||||
command: worker
|
||||
environment:
|
||||
- WORKER_TYPE=long
|
||||
depends_on:
|
||||
- redis-queue
|
||||
- redis-cache
|
||||
volumes:
|
||||
- sites-vol:/home/frappe/frappe-bench/sites:rw
|
||||
|
||||
erpnext-schedule:
|
||||
image: frappe/erpnext-worker:${ERPNEXT_VERSION}
|
||||
restart: on-failure
|
||||
command: schedule
|
||||
depends_on:
|
||||
- redis-queue
|
||||
- redis-cache
|
||||
volumes:
|
||||
- sites-vol:/home/frappe/frappe-bench/sites:rw
|
||||
- logs-vol:/home/frappe/frappe-bench/logs:rw
|
||||
|
||||
redis-cache:
|
||||
image: redis:latest
|
||||
restart: on-failure
|
||||
volumes:
|
||||
- redis-cache-vol:/data
|
||||
|
||||
redis-queue:
|
||||
image: redis:latest
|
||||
restart: on-failure
|
||||
volumes:
|
||||
- redis-queue-vol:/data
|
||||
|
||||
redis-socketio:
|
||||
image: redis:latest
|
||||
restart: on-failure
|
||||
volumes:
|
||||
- redis-socketio-vol:/data
|
||||
|
||||
mariadb:
|
||||
image: mariadb:10.3
|
||||
restart: on-failure
|
||||
environment:
|
||||
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
|
||||
volumes:
|
||||
- ./installation/frappe-mariadb.cnf:/etc/mysql/conf.d/frappe.cnf
|
||||
- mariadb-vol:/var/lib/mysql
|
||||
|
||||
site-creator:
|
||||
image: frappe/erpnext-worker:${ERPNEXT_VERSION}
|
||||
restart: "no"
|
||||
command: new
|
||||
depends_on:
|
||||
- erpnext-python
|
||||
environment:
|
||||
- SITE_NAME=${SITE_NAME}
|
||||
- DB_ROOT_USER=${DB_ROOT_USER}
|
||||
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
|
||||
- ADMIN_PASSWORD=${ADMIN_PASSWORD}
|
||||
- INSTALL_APPS=${INSTALL_APPS}
|
||||
volumes:
|
||||
- sites-vol:/home/frappe/frappe-bench/sites:rw
|
||||
- logs-vol:/home/frappe/frappe-bench/logs:rw
|
||||
|
||||
volumes:
|
||||
mariadb-vol:
|
||||
redis-cache-vol:
|
||||
redis-queue-vol:
|
||||
redis-socketio-vol:
|
||||
assets-vol:
|
||||
sites-vol:
|
||||
cert-vol:
|
||||
logs-vol:
|
||||
@ -1,3 +1,2 @@
|
||||
docker-compose.yml
|
||||
script/test.sh
|
||||
docker
|
||||
installation
|
||||
35
src/installation/docker-compose-common.yml
Normal file
35
src/installation/docker-compose-common.yml
Normal file
@ -0,0 +1,35 @@
|
||||
version: '3'
|
||||
|
||||
services:
|
||||
redis-cache:
|
||||
image: redis:latest
|
||||
restart: on-failure
|
||||
volumes:
|
||||
- redis-cache-vol:/data
|
||||
|
||||
redis-queue:
|
||||
image: redis:latest
|
||||
restart: on-failure
|
||||
volumes:
|
||||
- redis-queue-vol:/data
|
||||
|
||||
redis-socketio:
|
||||
image: redis:latest
|
||||
restart: on-failure
|
||||
volumes:
|
||||
- redis-socketio-vol:/data
|
||||
|
||||
mariadb:
|
||||
image: mariadb:10.3
|
||||
restart: on-failure
|
||||
environment:
|
||||
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
|
||||
volumes:
|
||||
- ./frappe-mariadb.cnf:/etc/mysql/conf.d/frappe.cnf
|
||||
- mariadb-vol:/var/lib/mysql
|
||||
|
||||
volumes:
|
||||
mariadb-vol:
|
||||
redis-cache-vol:
|
||||
redis-queue-vol:
|
||||
redis-socketio-vol:
|
||||
123
src/installation/docker-compose-custom.yml
Normal file
123
src/installation/docker-compose-custom.yml
Normal file
@ -0,0 +1,123 @@
|
||||
version: '3'
|
||||
|
||||
services:
|
||||
[app]-assets:
|
||||
image: [app]-assets
|
||||
build:
|
||||
context: ../build/[app]-nginx
|
||||
restart: on-failure
|
||||
environment:
|
||||
- FRAPPE_PY=[app]-python
|
||||
- FRAPPE_PY_PORT=8000
|
||||
- FRAPPE_SOCKETIO=frappe-socketio
|
||||
- SOCKETIO_PORT=9000
|
||||
- LETSENCRYPT_HOST=${SITES}
|
||||
- VIRTUAL_HOST=${SITES}
|
||||
- LETSENCRYPT_EMAIL=${LETSENCRYPT_EMAIL}
|
||||
depends_on:
|
||||
- [app]-python
|
||||
- frappe-socketio
|
||||
- frappe-worker-default
|
||||
- frappe-worker-long
|
||||
- frappe-worker-short
|
||||
links:
|
||||
- [app]-python
|
||||
- frappe-socketio
|
||||
- frappe-worker-default
|
||||
- frappe-worker-long
|
||||
- frappe-worker-short
|
||||
volumes:
|
||||
- sites-vol:/var/www/html/sites:rw
|
||||
- assets-vol:/assets:rw
|
||||
|
||||
[app]-python:
|
||||
image: [app]-worker
|
||||
build:
|
||||
context: ../build/[app]-worker
|
||||
restart: on-failure
|
||||
environment:
|
||||
- MARIADB_HOST=${MARIADB_HOST}
|
||||
- REDIS_CACHE=redis-cache:6379
|
||||
- REDIS_QUEUE=redis-queue:6379
|
||||
- REDIS_SOCKETIO=redis-socketio:6379
|
||||
- SOCKETIO_PORT=9000
|
||||
volumes:
|
||||
- sites-vol:/home/frappe/frappe-bench/sites:rw
|
||||
- logs-vol:/home/frappe/frappe-bench/logs:rw
|
||||
- assets-vol:/home/frappe/frappe-bench/sites/assets:rw
|
||||
|
||||
frappe-socketio:
|
||||
image: frappe/frappe-socketio:${FRAPPE_VERSION}
|
||||
restart: on-failure
|
||||
depends_on:
|
||||
- redis-socketio
|
||||
links:
|
||||
- redis-socketio
|
||||
volumes:
|
||||
- sites-vol:/home/frappe/frappe-bench/sites:rw
|
||||
- logs-vol:/home/frappe/frappe-bench/logs:rw
|
||||
|
||||
frappe-worker-default:
|
||||
image: [app]-worker
|
||||
restart: on-failure
|
||||
command: worker
|
||||
depends_on:
|
||||
- redis-queue
|
||||
- redis-cache
|
||||
links:
|
||||
- redis-queue
|
||||
- redis-cache
|
||||
volumes:
|
||||
- sites-vol:/home/frappe/frappe-bench/sites:rw
|
||||
- logs-vol:/home/frappe/frappe-bench/logs:rw
|
||||
|
||||
frappe-worker-short:
|
||||
image: [app]-worker
|
||||
restart: on-failure
|
||||
command: worker
|
||||
environment:
|
||||
- WORKER_TYPE=short
|
||||
depends_on:
|
||||
- redis-queue
|
||||
- redis-cache
|
||||
links:
|
||||
- redis-queue
|
||||
- redis-cache
|
||||
volumes:
|
||||
- sites-vol:/home/frappe/frappe-bench/sites:rw
|
||||
- logs-vol:/home/frappe/frappe-bench/logs:rw
|
||||
|
||||
frappe-worker-long:
|
||||
image: [app]-worker
|
||||
restart: on-failure
|
||||
command: worker
|
||||
environment:
|
||||
- WORKER_TYPE=long
|
||||
depends_on:
|
||||
- redis-queue
|
||||
- redis-cache
|
||||
links:
|
||||
- redis-queue
|
||||
- redis-cache
|
||||
volumes:
|
||||
- sites-vol:/home/frappe/frappe-bench/sites:rw
|
||||
- logs-vol:/home/frappe/frappe-bench/logs:rw
|
||||
|
||||
frappe-schedule:
|
||||
image: [app]-worker
|
||||
restart: on-failure
|
||||
command: schedule
|
||||
depends_on:
|
||||
- redis-queue
|
||||
- redis-cache
|
||||
links:
|
||||
- redis-queue
|
||||
- redis-cache
|
||||
volumes:
|
||||
- sites-vol:/home/frappe/frappe-bench/sites:rw
|
||||
- logs-vol:/home/frappe/frappe-bench/logs:rw
|
||||
|
||||
volumes:
|
||||
assets-vol:
|
||||
sites-vol:
|
||||
logs-vol:
|
||||
120
src/installation/docker-compose-erpnext.yml
Normal file
120
src/installation/docker-compose-erpnext.yml
Normal file
@ -0,0 +1,120 @@
|
||||
version: '3'
|
||||
|
||||
services:
|
||||
erpnext-nginx:
|
||||
image: frappe/erpnext-nginx:${ERPNEXT_VERSION}
|
||||
restart: on-failure
|
||||
environment:
|
||||
- FRAPPE_PY=erpnext-python
|
||||
- FRAPPE_PY_PORT=8000
|
||||
- FRAPPE_SOCKETIO=frappe-socketio
|
||||
- SOCKETIO_PORT=9000
|
||||
- LETSENCRYPT_HOST=${SITES}
|
||||
- VIRTUAL_HOST=${SITES}
|
||||
- LETSENCRYPT_EMAIL=${LETSENCRYPT_EMAIL}
|
||||
depends_on:
|
||||
- erpnext-python
|
||||
- frappe-socketio
|
||||
- frappe-worker-default
|
||||
- frappe-worker-long
|
||||
- frappe-worker-short
|
||||
links:
|
||||
- erpnext-python
|
||||
- frappe-socketio
|
||||
- frappe-worker-default
|
||||
- frappe-worker-long
|
||||
- frappe-worker-short
|
||||
volumes:
|
||||
- sites-vol:/var/www/html/sites:rw
|
||||
- assets-vol:/assets:rw
|
||||
|
||||
erpnext-python:
|
||||
image: frappe/erpnext-worker:${ERPNEXT_VERSION}
|
||||
restart: on-failure
|
||||
environment:
|
||||
- MARIADB_HOST=${MARIADB_HOST}
|
||||
- REDIS_CACHE=redis-cache:6379
|
||||
- REDIS_QUEUE=redis-queue:6379
|
||||
- REDIS_SOCKETIO=redis-socketio:6379
|
||||
- SOCKETIO_PORT=9000
|
||||
- AUTO_MIGRATE=1
|
||||
volumes:
|
||||
- sites-vol:/home/frappe/frappe-bench/sites:rw
|
||||
- assets-vol:/home/frappe/frappe-bench/sites/assets:rw
|
||||
- logs-vol:/home/frappe/frappe-bench/logs:rw
|
||||
|
||||
frappe-socketio:
|
||||
image: frappe/frappe-socketio:${FRAPPE_VERSION}
|
||||
restart: on-failure
|
||||
depends_on:
|
||||
- redis-socketio
|
||||
links:
|
||||
- redis-socketio
|
||||
volumes:
|
||||
- sites-vol:/home/frappe/frappe-bench/sites:rw
|
||||
- logs-vol:/home/frappe/frappe-bench/logs:rw
|
||||
|
||||
frappe-worker-default:
|
||||
image: frappe/erpnext-worker:${ERPNEXT_VERSION}
|
||||
restart: on-failure
|
||||
command: worker
|
||||
depends_on:
|
||||
- redis-queue
|
||||
- redis-cache
|
||||
links:
|
||||
- redis-queue
|
||||
- redis-cache
|
||||
volumes:
|
||||
- sites-vol:/home/frappe/frappe-bench/sites:rw
|
||||
- logs-vol:/home/frappe/frappe-bench/logs:rw
|
||||
|
||||
frappe-worker-short:
|
||||
image: frappe/erpnext-worker:${ERPNEXT_VERSION}
|
||||
restart: on-failure
|
||||
command: worker
|
||||
environment:
|
||||
- WORKER_TYPE=short
|
||||
depends_on:
|
||||
- redis-queue
|
||||
- redis-cache
|
||||
links:
|
||||
- redis-queue
|
||||
- redis-cache
|
||||
volumes:
|
||||
- sites-vol:/home/frappe/frappe-bench/sites:rw
|
||||
- logs-vol:/home/frappe/frappe-bench/logs:rw
|
||||
|
||||
frappe-worker-long:
|
||||
image: frappe/erpnext-worker:${ERPNEXT_VERSION}
|
||||
restart: on-failure
|
||||
command: worker
|
||||
environment:
|
||||
- WORKER_TYPE=long
|
||||
depends_on:
|
||||
- redis-queue
|
||||
- redis-cache
|
||||
links:
|
||||
- redis-queue
|
||||
- redis-cache
|
||||
volumes:
|
||||
- sites-vol:/home/frappe/frappe-bench/sites:rw
|
||||
- logs-vol:/home/frappe/frappe-bench/logs:rw
|
||||
|
||||
frappe-schedule:
|
||||
image: frappe/erpnext-worker:${ERPNEXT_VERSION}
|
||||
restart: on-failure
|
||||
command: schedule
|
||||
depends_on:
|
||||
- redis-queue
|
||||
- redis-cache
|
||||
links:
|
||||
- redis-queue
|
||||
- redis-cache
|
||||
volumes:
|
||||
- sites-vol:/home/frappe/frappe-bench/sites:rw
|
||||
- logs-vol:/home/frappe/frappe-bench/logs:rw
|
||||
|
||||
volumes:
|
||||
assets-vol:
|
||||
sites-vol:
|
||||
logs-vol:
|
||||
120
src/installation/docker-compose-frappe.yml
Normal file
120
src/installation/docker-compose-frappe.yml
Normal file
@ -0,0 +1,120 @@
|
||||
version: '3'
|
||||
|
||||
services:
|
||||
frappe-nginx:
|
||||
image: frappe/frappe-nginx:${FRAPPE_VERSION}
|
||||
restart: on-failure
|
||||
environment:
|
||||
- FRAPPE_PY=frappe-python
|
||||
- FRAPPE_PY_PORT=8000
|
||||
- FRAPPE_SOCKETIO=frappe-socketio
|
||||
- SOCKETIO_PORT=9000
|
||||
- LETSENCRYPT_HOST=${SITES}
|
||||
- VIRTUAL_HOST=${SITES}
|
||||
- LETSENCRYPT_EMAIL=${LETSENCRYPT_EMAIL}
|
||||
depends_on:
|
||||
- frappe-python
|
||||
- frappe-socketio
|
||||
- frappe-worker-default
|
||||
- frappe-worker-long
|
||||
- frappe-worker-short
|
||||
links:
|
||||
- frappe-python
|
||||
- frappe-socketio
|
||||
- frappe-worker-default
|
||||
- frappe-worker-long
|
||||
- frappe-worker-short
|
||||
volumes:
|
||||
- sites-vol:/var/www/html/sites:rw
|
||||
- assets-vol:/assets:rw
|
||||
|
||||
frappe-python:
|
||||
image: frappe/frappe-worker:${FRAPPE_VERSION}
|
||||
restart: on-failure
|
||||
environment:
|
||||
- MARIADB_HOST=${MARIADB_HOST}
|
||||
- REDIS_CACHE=redis-cache:6379
|
||||
- REDIS_QUEUE=redis-queue:6379
|
||||
- REDIS_SOCKETIO=redis-socketio:6379
|
||||
- SOCKETIO_PORT=9000
|
||||
- AUTO_MIGRATE=1
|
||||
volumes:
|
||||
- sites-vol:/home/frappe/frappe-bench/sites:rw
|
||||
- logs-vol:/home/frappe/frappe-bench/logs:rw
|
||||
- assets-vol:/home/frappe/frappe-bench/sites/assets:rw
|
||||
|
||||
frappe-socketio:
|
||||
image: frappe/frappe-socketio:${FRAPPE_VERSION}
|
||||
restart: on-failure
|
||||
depends_on:
|
||||
- redis-socketio
|
||||
links:
|
||||
- redis-socketio
|
||||
volumes:
|
||||
- sites-vol:/home/frappe/frappe-bench/sites:rw
|
||||
- logs-vol:/home/frappe/frappe-bench/logs:rw
|
||||
|
||||
frappe-worker-default:
|
||||
image: frappe/frappe-worker:${FRAPPE_VERSION}
|
||||
restart: on-failure
|
||||
command: worker
|
||||
depends_on:
|
||||
- redis-queue
|
||||
- redis-cache
|
||||
links:
|
||||
- redis-queue
|
||||
- redis-cache
|
||||
volumes:
|
||||
- sites-vol:/home/frappe/frappe-bench/sites:rw
|
||||
- logs-vol:/home/frappe/frappe-bench/logs:rw
|
||||
|
||||
frappe-worker-short:
|
||||
image: frappe/frappe-worker:${FRAPPE_VERSION}
|
||||
restart: on-failure
|
||||
command: worker
|
||||
environment:
|
||||
- WORKER_TYPE=short
|
||||
depends_on:
|
||||
- redis-queue
|
||||
- redis-cache
|
||||
links:
|
||||
- redis-queue
|
||||
- redis-cache
|
||||
volumes:
|
||||
- sites-vol:/home/frappe/frappe-bench/sites:rw
|
||||
- logs-vol:/home/frappe/frappe-bench/logs:rw
|
||||
|
||||
frappe-worker-long:
|
||||
image: frappe/frappe-worker:${FRAPPE_VERSION}
|
||||
restart: on-failure
|
||||
command: worker
|
||||
environment:
|
||||
- WORKER_TYPE=long
|
||||
depends_on:
|
||||
- redis-queue
|
||||
- redis-cache
|
||||
links:
|
||||
- redis-queue
|
||||
- redis-cache
|
||||
volumes:
|
||||
- sites-vol:/home/frappe/frappe-bench/sites:rw
|
||||
- logs-vol:/home/frappe/frappe-bench/logs:rw
|
||||
|
||||
frappe-schedule:
|
||||
image: frappe/frappe-worker:${FRAPPE_VERSION}
|
||||
restart: on-failure
|
||||
command: schedule
|
||||
depends_on:
|
||||
- redis-queue
|
||||
- redis-cache
|
||||
links:
|
||||
- redis-queue
|
||||
- redis-cache
|
||||
volumes:
|
||||
- sites-vol:/home/frappe/frappe-bench/sites:rw
|
||||
- logs-vol:/home/frappe/frappe-bench/logs:rw
|
||||
|
||||
volumes:
|
||||
assets-vol:
|
||||
sites-vol:
|
||||
logs-vol:
|
||||
6
src/installation/docker-compose-networks.yml
Normal file
6
src/installation/docker-compose-networks.yml
Normal file
@ -0,0 +1,6 @@
|
||||
version: '3'
|
||||
|
||||
networks:
|
||||
default:
|
||||
external:
|
||||
name: webproxy
|
||||
6
src/installation/erpnext-publish.yml
Normal file
6
src/installation/erpnext-publish.yml
Normal file
@ -0,0 +1,6 @@
|
||||
version: "3"
|
||||
|
||||
services:
|
||||
erpnext-nginx:
|
||||
ports:
|
||||
- "80:80"
|
||||
7
src/installation/frappe-mariadb.cnf
Normal file
7
src/installation/frappe-mariadb.cnf
Normal file
@ -0,0 +1,7 @@
|
||||
[mysqld]
|
||||
character-set-client-handshake = FALSE
|
||||
character-set-server = utf8mb4
|
||||
collation-server = utf8mb4_unicode_ci
|
||||
|
||||
[mysql]
|
||||
default-character-set = utf8mb4
|
||||
166
src/installation/frappe-postgresql/docker-compose.yml
Normal file
166
src/installation/frappe-postgresql/docker-compose.yml
Normal file
@ -0,0 +1,166 @@
|
||||
version: "3"
|
||||
|
||||
services:
|
||||
traefik:
|
||||
image: "traefik:v2.2"
|
||||
command:
|
||||
- "--log.level=DEBUG"
|
||||
- "--providers.docker=true"
|
||||
- "--providers.docker.exposedbydefault=false"
|
||||
- "--entrypoints.web.address=:80"
|
||||
- "--entrypoints.websecure.address=:443"
|
||||
- "--certificatesresolvers.myresolver.acme.httpchallenge=true"
|
||||
- "--certificatesresolvers.myresolver.acme.httpchallenge.entrypoint=web"
|
||||
- "--certificatesresolvers.myresolver.acme.email=${LETSENCRYPT_EMAIL}"
|
||||
- "--certificatesresolvers.myresolver.acme.storage=/letsencrypt/acme.json"
|
||||
labels:
|
||||
# enable traefik
|
||||
- "traefik.enable=true"
|
||||
# global redirect to https for production only
|
||||
- "${HTTPS_REDIRECT_RULE_LABEL}"
|
||||
- "${HTTPS_REDIRECT_ENTRYPOINT_LABEL}"
|
||||
- "${HTTPS_REDIRECT_MIDDLEWARE_LABEL}"
|
||||
# middleware redirect for production only
|
||||
- "${HTTPS_USE_REDIRECT_MIDDLEWARE_LABEL}"
|
||||
ports:
|
||||
- "80:80"
|
||||
- "443:443"
|
||||
volumes:
|
||||
- cert-vol:/letsencrypt
|
||||
- /var/run/docker.sock:/var/run/docker.sock:ro
|
||||
|
||||
frappe-nginx:
|
||||
image: frappe/frappe-nginx:${FRAPPE_VERSION}
|
||||
restart: on-failure
|
||||
environment:
|
||||
- FRAPPE_PY=frappe-python
|
||||
- FRAPPE_PY_PORT=8000
|
||||
- FRAPPE_SOCKETIO=frappe-socketio
|
||||
- SOCKETIO_PORT=9000
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.frappe-nginx.rule=Host(${SITES})"
|
||||
- "${ENTRYPOINT_LABEL}"
|
||||
- "${CERT_RESOLVER_LABEL}"
|
||||
- "traefik.http.services.frappe-nginx.loadbalancer.server.port=80"
|
||||
volumes:
|
||||
- sites-vol:/var/www/html/sites:rw
|
||||
- assets-vol:/assets:rw
|
||||
|
||||
frappe-python:
|
||||
image: frappe/frappe-worker:${FRAPPE_VERSION}
|
||||
restart: on-failure
|
||||
environment:
|
||||
- POSTGRES_HOST=${POSTGRES_HOST}
|
||||
- DB_PORT=5432
|
||||
- REDIS_CACHE=redis-cache:6379
|
||||
- REDIS_QUEUE=redis-queue:6379
|
||||
- REDIS_SOCKETIO=redis-socketio:6379
|
||||
- SOCKETIO_PORT=9000
|
||||
- AUTO_MIGRATE=1
|
||||
volumes:
|
||||
- sites-vol:/home/frappe/frappe-bench/sites:rw
|
||||
- assets-vol:/home/frappe/frappe-bench/sites/assets:rw
|
||||
|
||||
frappe-socketio:
|
||||
image: frappe/frappe-socketio:${FRAPPE_VERSION}
|
||||
restart: on-failure
|
||||
depends_on:
|
||||
- redis-socketio
|
||||
volumes:
|
||||
- sites-vol:/home/frappe/frappe-bench/sites:rw
|
||||
|
||||
frappe-worker-default:
|
||||
image: frappe/frappe-worker:${FRAPPE_VERSION}
|
||||
restart: on-failure
|
||||
command: worker
|
||||
depends_on:
|
||||
- redis-queue
|
||||
- redis-cache
|
||||
volumes:
|
||||
- sites-vol:/home/frappe/frappe-bench/sites:rw
|
||||
|
||||
frappe-worker-short:
|
||||
image: frappe/frappe-worker:${FRAPPE_VERSION}
|
||||
restart: on-failure
|
||||
command: worker
|
||||
environment:
|
||||
- WORKER_TYPE=short
|
||||
depends_on:
|
||||
- redis-queue
|
||||
- redis-cache
|
||||
volumes:
|
||||
- sites-vol:/home/frappe/frappe-bench/sites:rw
|
||||
|
||||
frappe-worker-long:
|
||||
image: frappe/frappe-worker:${FRAPPE_VERSION}
|
||||
restart: on-failure
|
||||
command: worker
|
||||
environment:
|
||||
- WORKER_TYPE=long
|
||||
depends_on:
|
||||
- redis-queue
|
||||
- redis-cache
|
||||
volumes:
|
||||
- sites-vol:/home/frappe/frappe-bench/sites:rw
|
||||
|
||||
frappe-schedule:
|
||||
image: frappe/frappe-worker:${FRAPPE_VERSION}
|
||||
restart: on-failure
|
||||
command: schedule
|
||||
depends_on:
|
||||
- redis-queue
|
||||
- redis-cache
|
||||
volumes:
|
||||
- sites-vol:/home/frappe/frappe-bench/sites:rw
|
||||
|
||||
redis-cache:
|
||||
image: redis:latest
|
||||
restart: on-failure
|
||||
volumes:
|
||||
- redis-cache-vol:/data
|
||||
|
||||
redis-queue:
|
||||
image: redis:latest
|
||||
restart: on-failure
|
||||
volumes:
|
||||
- redis-queue-vol:/data
|
||||
|
||||
redis-socketio:
|
||||
image: redis:latest
|
||||
restart: on-failure
|
||||
volumes:
|
||||
- redis-socketio-vol:/data
|
||||
|
||||
postgresql:
|
||||
image: postgres:11.8
|
||||
restart: on-failure
|
||||
environment:
|
||||
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
|
||||
volumes:
|
||||
- postgresql-vol:/var/lib/postgresql/data
|
||||
|
||||
site-creator:
|
||||
image: frappe/frappe-worker:${FRAPPE_VERSION}
|
||||
restart: "no"
|
||||
command: new
|
||||
depends_on:
|
||||
- frappe-python
|
||||
environment:
|
||||
- POSTGRES_HOST=${POSTGRES_HOST}
|
||||
- SITE_NAME=${SITE_NAME}
|
||||
- DB_ROOT_USER=${DB_ROOT_USER}
|
||||
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
|
||||
- ADMIN_PASSWORD=${ADMIN_PASSWORD}
|
||||
- INSTALL_APPS=${INSTALL_APPS}
|
||||
volumes:
|
||||
- sites-vol:/home/frappe/frappe-bench/sites:rw
|
||||
|
||||
volumes:
|
||||
postgresql-vol:
|
||||
redis-cache-vol:
|
||||
redis-queue-vol:
|
||||
redis-socketio-vol:
|
||||
assets-vol:
|
||||
sites-vol:
|
||||
cert-vol:
|
||||
14
src/installation/frappe-postgresql/env-local
Normal file
14
src/installation/frappe-postgresql/env-local
Normal file
@ -0,0 +1,14 @@
|
||||
LETSENCRYPT_EMAIL=email@example.com
|
||||
FRAPPE_VERSION=edge
|
||||
POSTGRES_HOST=postgresql
|
||||
POSTGRES_PASSWORD=admin
|
||||
SITE_NAME=mysite.localhost
|
||||
SITES=`mysite.localhost`
|
||||
DB_ROOT_USER=postgres
|
||||
ADMIN_PASSWORD=admin
|
||||
ENTRYPOINT_LABEL=traefik.http.routers.erpnext-nginx.entrypoints=web
|
||||
CERT_RESOLVER_LABEL=erpnext.local.no-cert-resolver
|
||||
HTTPS_REDIRECT_RULE_LABEL=erpnext.local.no-redirect-rule
|
||||
HTTPS_REDIRECT_ENTRYPOINT_LABEL=erpnext.local.no-entrypoint
|
||||
HTTPS_REDIRECT_MIDDLEWARE_LABEL=erpnext.local.no-middleware
|
||||
HTTPS_USE_REDIRECT_MIDDLEWARE_LABEL=erpnext.local-no-redirect-middleware
|
||||
14
src/installation/frappe-postgresql/env-production
Normal file
14
src/installation/frappe-postgresql/env-production
Normal file
@ -0,0 +1,14 @@
|
||||
LETSENCRYPT_EMAIL=email@example.com
|
||||
FRAPPE_VERSION=edge
|
||||
POSTGRES_HOST=postgresql
|
||||
POSTGRES_PASSWORD=admin
|
||||
SITE_NAME=erp.example.com
|
||||
SITES=`erp.example.com`
|
||||
DB_ROOT_USER=postgres
|
||||
ADMIN_PASSWORD=admin
|
||||
ENTRYPOINT_LABEL=traefik.http.routers.erpnext-nginx.entrypoints=websecure
|
||||
CERT_RESOLVER_LABEL=traefik.http.routers.erpnext-nginx.tls.certresolver=myresolver
|
||||
HTTPS_REDIRECT_RULE_LABEL=traefik.http.routers.http-catchall.rule=hostregexp(`{host:.+}`)
|
||||
HTTPS_REDIRECT_ENTRYPOINT_LABEL=traefik.http.routers.http-catchall.entrypoints=web
|
||||
HTTPS_REDIRECT_MIDDLEWARE_LABEL=traefik.http.routers.http-catchall.middlewares=redirect-to-https
|
||||
HTTPS_USE_REDIRECT_MIDDLEWARE_LABEL=traefik.http.middlewares.redirect-to-https.redirectscheme.scheme=https
|
||||
6
src/installation/frappe-publish.yml
Normal file
6
src/installation/frappe-publish.yml
Normal file
@ -0,0 +1,6 @@
|
||||
version: "3"
|
||||
|
||||
services:
|
||||
frappe-nginx:
|
||||
ports:
|
||||
- "80:80"
|
||||
Loading…
Reference in New Issue
Block a user