Repository navigation
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
78 lines (74 loc) · 2.88 KB
/
Copy pathdocker-compose.yml
File metadata and controls
78 lines (74 loc) · 2.88 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
networks:
backend:
driver: bridge
volumes:
mailcatcher-data:
driver: local
### ignore folder volume #####
vendor:
driver: local
services:
ec-cube:
### ローカルでビルドする場合は以下のコマンドを使用します
## docker build -t ec-cube2 --no-cache --pull --build-arg TAG=8.1-apache .
## docker tag ec-cube2 ghcr.io/ec-cube/ec-cube2-php:8.1-apache
image: ${REGISTRY:-ghcr.io}/${IMAGE_NAME:-ec-cube/ec-cube2-php}:${TAG:-8.1-apache}
volumes:
### 同期対象からコストの重いフォルダを除外 #####################
- "vendor:/var/www/app/data/vendor"
ports:
- 8080:80
- 4430:443
environment:
TZ: Asia/Tokyo
PHP_POST_MAX_SIZE: 10M
PHP_UPLOAD_MAX_FILESIZE: 10M
PHP_LOG_ERRORS: "On"
PHP_ERROR_REPORTING: "E_ALL"
PHP_ERROR_LOG: "/proc/self/fd/2"
# EC-CUBE2 Config
HTTP_URL: https://localhost:4430/
HTTPS_URL: https://localhost:4430/
ROOT_URLPATH: /
DOMAIN_NAME: ~
ADMIN_DIR: admin/
ADMIN_FORCE_SSL: 'false'
ADMIN_ALLOW_HOSTS: 'a:0:{}'
AUTH_MAGIC: ~
PASSWORD_HASH_ALGOS: 2y
MAIL_BACKEND: smtp
SMTP_HOST: mailcatcher
SMTP_PORT: 1025
SMTP_USER: ~
SMTP_PASSWORD: ~
TEST_MAILCATCHER_URL: "http://mailcatcher:1080"
# ログイン試行レート制限のしきい値上書き用(未指定時はアプリ側のデフォルト値)
LOGIN_RATE_LIMIT_EMAIL_THRESHOLD: ${LOGIN_RATE_LIMIT_EMAIL_THRESHOLD:-}
LOGIN_RATE_LIMIT_IP_THRESHOLD: ${LOGIN_RATE_LIMIT_IP_THRESHOLD:-}
networks:
- backend
# entrypoint (dockerbuild/wait-for-*.sh) は eccube_install.sh が完了してから
# Apache を起動するため、Apache の起動をもって初期化完了を判定できる。
# healthcheck が無いと `docker compose up --wait` が初期化完了を待たずに返り、
# data/config/config.php が未生成のまま後続処理が走って偶発的に失敗する。
#
# HTTP リクエストを送るとアプリケーションが動作して data/cache 配下などに
# コンテナ側ユーザー所有のファイルが生成され、ホスト側の chmod が失敗する
# (インストーラの E2E テスト) ため、PID ファイルの有無のみを確認する。
# パスは Dockerfile の APACHE_RUN_DIR に対応する。
healthcheck:
test: test -f /var/run/apache2/apache2.pid
interval: 3s
timeout: 10s
retries: 20
# 初回起動時の eccube_install.sh は CI ランナーの負荷によっては数分かかるため、
# その間はヘルスチェックの失敗をカウントしない
start_period: 300s
### Mailcatcher ##################################
mailcatcher:
image: schickling/mailcatcher
ports:
- "1080:1080"
- "1025:1025"
networks:
- backend