diff --git a/.devcontainer/docker-compose.yml b/.devcontainer/docker-compose.yml new file mode 100644 index 00000000..12ed54f4 --- /dev/null +++ b/.devcontainer/docker-compose.yml @@ -0,0 +1,96 @@ +services: + mariadb: + image: docker.io/mariadb:10.6 + platform: linux/amd64 + 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 + + # Enable PostgreSQL only if you use it, see development/README.md for more information. + # postgresql: + # image: postgres:11.8 + # environment: + # POSTGRES_PASSWORD: 123 + # volumes: + # - postgresql-data:/var/lib/postgresql/data + + # Enable Mailpit if you need to test outgoing mail services + # See https://mailpit.axllent.org/ + # mailpit: + # image: axllent/mailpit + # volumes: + # - mailpit-data:/data + # ports: + # - 8025:8025 + # - 1025:1025 + # environment: + # MP_MAX_MESSAGES: 5000 + # MP_DATA_FILE: /data/mailpit.db + # MP_SMTP_AUTH_ACCEPT_ANY: 1 + # MP_SMTP_AUTH_ALLOW_INSECURE: 1 + + redis-cache: + image: docker.io/redis:alpine + platform: linux/amd64 + volumes: + - redis-cache-data:/data + + redis-queue: + image: docker.io/redis:alpine + platform: linux/amd64 + volumes: + - redis-queue-data:/data + + frappe: + image: docker.io/frappe/bench:latest + platform: linux/amd64 + command: sleep infinity + environment: + - SHELL=/bin/bash + volumes: + - ..:/workspace:cached + # Enable if you require git cloning + # - ${HOME}/.ssh:/home/frappe/.ssh + working_dir: /workspace/development + ports: + - 8000-8005:8000-8005 + - 9000-9005:9000-9005 + # enable the below service if you need Cypress UI Tests to be executed + # Before enabling ensure install_x11_deps.sh has been executed and display variable is exported. + # Run install_x11_deps.sh again if DISPLAY is not set + # ui-tester: + # # pass custom command to start Cypress otherwise it will use the entrypoint + # # specified in the Cypress Docker image. + # # also pass "--project " so that when Cypress opens + # # it can find file "cypress.json" and show integration specs + # # https://on.cypress.io/command-line#cypress-open + # entrypoint: 'sleep infinity' + # image: "docker.io/cypress/included:latest" + # environment: + # - SHELL=/bin/bash + # # get the IP address of the host machine and allow X11 to accept + # # incoming connections from that IP address + # # IP=$(ipconfig getifaddr en0) or mac or \ + # # IP=$($(hostname -I | awk '{print $1}') ) for Ubuntu + # # /usr/X11/bin/xhost + $IP + # # then pass the environment variable DISPLAY to show Cypress GUI on the host system + # # DISPLAY=$IP:0 + # - DISPLAY + # volumes: + # # for Cypress to communicate with the X11 server pass this socket file + # # in addition to any other mapped volumes + # - /tmp/.X11-unix:/tmp/.X11-unix + # - ..:/workspace:z,cached + # network_mode: "host" +volumes: + mariadb-data: + redis-cache-data: + redis-queue-data: + #postgresql-data: + #mailpit-data: diff --git a/.gitignore b/.gitignore index 94a9fe2f..985c57a1 100644 --- a/.gitignore +++ b/.gitignore @@ -18,7 +18,6 @@ development/* !.vscode/extensions.json # VS Code devcontainer -.devcontainer *.code-workspace # Python