fix: docker setup

This commit is contained in:
Jannat Patel
2022-12-27 16:36:40 +05:30
parent 46399c7b13
commit f592e6655f
3 changed files with 71 additions and 25 deletions

View File

@@ -1,25 +0,0 @@
version: "3"
services:
mariadb:
image: mariadb
volumes:
- mariadb-storage:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=root
command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
bench:
image: anandology/frappe-bench:2021.10
volumes:
- .:/opt/frappe-bench/apps/lms
environment:
- FRAPPE_APPS=lms
- FRAPPE_ALLOW_TESTS=true
- FRAPPE_SITE_NAME=frappe.localhost
depends_on:
- mariadb
ports:
- 8000:8000
- 9000:9000
volumes:
mariadb-storage: {}

32
docker/docker-compose.yml Normal file
View File

@@ -0,0 +1,32 @@
version: "3.7"
name: lms
services:
mariadb:
image: mariadb:10.6
command:
- --character-set-server=utf8mb4
- --collation-server=utf8mb4_unicode_ci
- --skip-character-set-client-handshake
- --skip-innodb-read-only-compressed # Temporary fix for MariaDB 10.6
environment:
MYSQL_ROOT_PASSWORD: 123
volumes:
- mariadb-data:/var/lib/mysql
redis:
image: redis:alpine
frappe:
image: frappe/bench:latest
command: bash /workspace/init.sh
environment:
- SHELL=/bin/bash
working_dir: /home/frappe
volumes:
- .:/workspace
ports:
- 8000:8000
- 9000:9000
volumes:
mariadb-data:

39
docker/init.sh Normal file
View File

@@ -0,0 +1,39 @@
#!bin/bash
if [ -d "/home/frappe/frappe-bench/apps/frappe" ]; then
echo "Bench already exists, skipping init"
cd frappe-bench
bench start
else
echo "Creating new bench..."
fi
bench init --skip-redis-config-generation frappe-bench
cd frappe-bench
# Use containers instead of localhost
bench set-mariadb-host mariadb
bench set-redis-cache-host redis:6379
bench set-redis-queue-host redis:6379
bench set-redis-socketio-host redis:6379
# Remove redis, watch from Procfile
sed -i '/redis/d' ./Procfile
sed -i '/watch/d' ./Procfile
bench get-app lms
bench new-site lms.localhost \
--force \
--mariadb-root-password 123 \
--admin-password admin \
--no-mariadb-socket
bench --site lms.localhost install-app lms
bench --site lms.localhost set-config developer_mode 1
bench --site lms.localhost clear-cache
bench --site lms.localhost set-config mute_emails 1
bench use lms.localhost
bench start