From 8b9062e4622db0e68248b1fb90e26bb1c2ff421b Mon Sep 17 00:00:00 2001 From: RitvikSardana Date: Tue, 10 Dec 2024 17:53:32 +0530 Subject: [PATCH] feat: docker setup --- docker/docker-compose.yml | 31 ++++++++++++++++++++++++++++++ docker/init.sh | 40 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 71 insertions(+) create mode 100644 docker/docker-compose.yml create mode 100644 docker/init.sh diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml new file mode 100644 index 000000000..7e48e4797 --- /dev/null +++ b/docker/docker-compose.yml @@ -0,0 +1,31 @@ +version: "3.7" +services: + mariadb: + image: mariadb:10.8 + 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: \ No newline at end of file diff --git a/docker/init.sh b/docker/init.sh new file mode 100644 index 000000000..8a86a0d83 --- /dev/null +++ b/docker/init.sh @@ -0,0 +1,40 @@ +#!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 --version version-15 + +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 helpdesk --branch main + +bench new-site helpdesk.localhost \ +--force \ +--mariadb-root-password 123 \ +--admin-password admin \ +--no-mariadb-socket + +bench --site helpdesk.localhost install-app helpdesk +bench --site helpdesk.localhost set-config developer_mode 1 +bench --site helpdesk.localhost set-config mute_emails 1 +bench --site helpdesk.localhost set-config server_script_enabled 1 +bench --site helpdesk.localhost clear-cache +bench use helpdesk.localhost + +bench start