From 92367cf70065dca5e33ece2266f0318c3b682d1a Mon Sep 17 00:00:00 2001 From: おやき <154856000+oyakimochocho@users.noreply.github.com> Date: Wed, 12 Jun 2024 11:08:42 +0900 Subject: node_modulesをvolume化して高速化+パーミッション問題回避、git submodule update時にローカルにsubmoduleがあっても問題が起こらないようにする (#13956) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .devcontainer/devcontainer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to '.devcontainer/devcontainer.json') diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 31b6212cb5..344edbd65d 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -10,7 +10,7 @@ "ghcr.io/devcontainers-contrib/features/corepack:1": {} }, "forwardPorts": [3000], - "postCreateCommand": "sudo chmod 755 .devcontainer/init.sh && .devcontainer/init.sh", + "postCreateCommand": "/bin/bash .devcontainer/init.sh", "customizations": { "vscode": { "extensions": [ -- cgit v1.2.3-freya From a6edd50a5d292e29e6292754a7be95205ac7dbc1 Mon Sep 17 00:00:00 2001 From: ぬるきゃっと Date: Fri, 28 Jun 2024 11:16:12 +0900 Subject: chore(docker-compose): 推奨の名前にする (#14096) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * chore(docker-compose): 推奨の名前にする https://github.com/compose-spec/compose-spec/blob/5c18e329d5a15a15e4b636ed093b256b96615e33/spec.md#compose-file * yaml to yml * fix * fix --- .devcontainer/compose.yml | 53 +++++++++++++++++ .devcontainer/devcontainer.json | 2 +- .devcontainer/docker-compose.yml | 55 ------------------ .dockerignore | 4 +- .github/workflows/dockle.yml | 2 +- .gitignore | 4 +- CONTRIBUTING.md | 2 +- compose.local-db.yml | 40 +++++++++++++ compose_example.yml | 96 +++++++++++++++++++++++++++++++ docker-compose.local-db.yml | 42 -------------- docker-compose_example.yml | 98 -------------------------------- packages/backend/test/compose.yml | 13 +++++ packages/backend/test/docker-compose.yml | 15 ----- 13 files changed, 209 insertions(+), 217 deletions(-) create mode 100644 .devcontainer/compose.yml delete mode 100644 .devcontainer/docker-compose.yml create mode 100644 compose.local-db.yml create mode 100644 compose_example.yml delete mode 100644 docker-compose.local-db.yml delete mode 100644 docker-compose_example.yml create mode 100644 packages/backend/test/compose.yml delete mode 100644 packages/backend/test/docker-compose.yml (limited to '.devcontainer/devcontainer.json') diff --git a/.devcontainer/compose.yml b/.devcontainer/compose.yml new file mode 100644 index 0000000000..d02d2a8f4a --- /dev/null +++ b/.devcontainer/compose.yml @@ -0,0 +1,53 @@ +services: + app: + build: + context: . + dockerfile: Dockerfile + + volumes: + - ../:/workspace:cached + - node_modules:/workspace/node_modules + + command: sleep infinity + + networks: + - internal_network + - external_network + + redis: + restart: unless-stopped + image: redis:7-alpine + networks: + - internal_network + volumes: + - redis-data:/data + healthcheck: + test: "redis-cli ping" + interval: 5s + retries: 20 + + db: + restart: unless-stopped + image: postgres:15-alpine + networks: + - internal_network + environment: + POSTGRES_USER: postgres + POSTGRES_PASSWORD: postgres + POSTGRES_DB: misskey + volumes: + - postgres-data:/var/lib/postgresql/data + healthcheck: + test: "pg_isready -U $$POSTGRES_USER -d $$POSTGRES_DB" + interval: 5s + retries: 20 + +volumes: + postgres-data: + redis-data: + node_modules: + +networks: + internal_network: + internal: true + external_network: diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 344edbd65d..7ea23e314e 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -1,6 +1,6 @@ { "name": "Misskey", - "dockerComposeFile": "docker-compose.yml", + "dockerComposeFile": "compose.yml", "service": "app", "workspaceFolder": "/workspace", "features": { diff --git a/.devcontainer/docker-compose.yml b/.devcontainer/docker-compose.yml deleted file mode 100644 index a52d086fb6..0000000000 --- a/.devcontainer/docker-compose.yml +++ /dev/null @@ -1,55 +0,0 @@ -version: '3.8' - -services: - app: - build: - context: . - dockerfile: Dockerfile - - volumes: - - ../:/workspace:cached - - node_modules:/workspace/node_modules - - command: sleep infinity - - networks: - - internal_network - - external_network - - redis: - restart: unless-stopped - image: redis:7-alpine - networks: - - internal_network - volumes: - - redis-data:/data - healthcheck: - test: "redis-cli ping" - interval: 5s - retries: 20 - - db: - restart: unless-stopped - image: postgres:15-alpine - networks: - - internal_network - environment: - POSTGRES_USER: postgres - POSTGRES_PASSWORD: postgres - POSTGRES_DB: misskey - volumes: - - postgres-data:/var/lib/postgresql/data - healthcheck: - test: "pg_isready -U $$POSTGRES_USER -d $$POSTGRES_DB" - interval: 5s - retries: 20 - -volumes: - postgres-data: - redis-data: - node_modules: - -networks: - internal_network: - internal: true - external_network: diff --git a/.dockerignore b/.dockerignore index 1de0c7982b..7dbb06e1d0 100644 --- a/.dockerignore +++ b/.dockerignore @@ -7,7 +7,7 @@ Dockerfile build/ built/ db/ -docker-compose.yml +.devcontainer/compose.yml node_modules/ packages/*/node_modules redis/ @@ -28,4 +28,4 @@ fluent-emojis/ .idea/ packages/*/.vscode/ -packages/backend/test/docker-compose.yml +packages/backend/test/compose.yml diff --git a/.github/workflows/dockle.yml b/.github/workflows/dockle.yml index 968971dd8d..c3dba4213d 100644 --- a/.github/workflows/dockle.yml +++ b/.github/workflows/dockle.yml @@ -22,7 +22,7 @@ jobs: sudo dpkg -i dockle.deb - run: | cp .config/docker_example.env .config/docker.env - cp ./docker-compose_example.yml ./docker-compose.yml + cp ./compose_example.yml ./compose.yml - run: | docker compose up -d web docker tag "$(docker compose images web | awk 'OFS=":" {print $4}' | tail -n +2)" misskey-web:latest diff --git a/.gitignore b/.gitignore index bdc14fea0a..3466984cf6 100644 --- a/.gitignore +++ b/.gitignore @@ -35,8 +35,8 @@ coverage !/.config/example.yml !/.config/docker_example.yml !/.config/docker_example.env -docker-compose.yml -!/.devcontainer/docker-compose.yml +.devcontainer/compose.yml +!/.devcontainer/compose.yml # misskey /build diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index dcb625626d..06c2d2f21d 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -165,7 +165,7 @@ cp .github/misskey/test.yml .config/ ``` Prepare DB/Redis for testing. ``` -docker compose -f packages/backend/test/docker-compose.yml up +docker compose -f packages/backend/test/compose.yaml up ``` Alternatively, prepare an empty (data can be erased) DB and edit `.config/test.yml`. diff --git a/compose.local-db.yml b/compose.local-db.yml new file mode 100644 index 0000000000..3835cb23db --- /dev/null +++ b/compose.local-db.yml @@ -0,0 +1,40 @@ +# このconfigは、 dockerでMisskey本体を起動せず、 redisとpostgresql などだけを起動します + +services: + redis: + restart: always + image: redis:7-alpine + ports: + - "6379:6379" + volumes: + - ./redis:/data + healthcheck: + test: "redis-cli ping" + interval: 5s + retries: 20 + + db: + restart: always + image: postgres:15-alpine + ports: + - "5432:5432" + env_file: + - .config/docker.env + volumes: + - ./db:/var/lib/postgresql/data + healthcheck: + test: "pg_isready -U $$POSTGRES_USER -d $$POSTGRES_DB" + interval: 5s + retries: 20 + +# meilisearch: +# restart: always +# image: getmeili/meilisearch:v1.3.4 +# environment: +# - MEILI_NO_ANALYTICS=true +# - MEILI_ENV=production +# env_file: +# - .config/meilisearch.env +# volumes: +# - ./meili_data:/meili_data + diff --git a/compose_example.yml b/compose_example.yml new file mode 100644 index 0000000000..75d0d3a59c --- /dev/null +++ b/compose_example.yml @@ -0,0 +1,96 @@ +services: + web: + build: . + restart: always + links: + - db + - redis +# - mcaptcha +# - meilisearch + depends_on: + db: + condition: service_healthy + redis: + condition: service_healthy + ports: + - "3000:3000" + networks: + - internal_network + - external_network + volumes: + - ./files:/misskey/files + - ./.config:/misskey/.config:ro + + redis: + restart: always + image: redis:7-alpine + networks: + - internal_network + volumes: + - ./redis:/data + healthcheck: + test: "redis-cli ping" + interval: 5s + retries: 20 + + db: + restart: always + image: postgres:15-alpine + networks: + - internal_network + env_file: + - .config/docker.env + volumes: + - ./db:/var/lib/postgresql/data + healthcheck: + test: "pg_isready -U $$POSTGRES_USER -d $$POSTGRES_DB" + interval: 5s + retries: 20 + +# mcaptcha: +# restart: always +# image: mcaptcha/mcaptcha:latest +# networks: +# internal_network: +# external_network: +# aliases: +# - localhost +# ports: +# - 7493:7493 +# env_file: +# - .config/docker.env +# environment: +# PORT: 7493 +# MCAPTCHA_redis_URL: "redis://mcaptcha_redis/" +# depends_on: +# db: +# condition: service_healthy +# mcaptcha_redis: +# condition: service_healthy +# +# mcaptcha_redis: +# image: mcaptcha/cache:latest +# networks: +# - internal_network +# healthcheck: +# test: "redis-cli ping" +# interval: 5s +# retries: 20 + +# meilisearch: +# restart: always +# image: getmeili/meilisearch:v1.3.4 +# environment: +# - MEILI_NO_ANALYTICS=true +# - MEILI_ENV=production +# env_file: +# - .config/meilisearch.env +# networks: +# - internal_network +# volumes: +# - ./meili_data:/meili_data + +networks: + internal_network: + internal: true + external_network: diff --git a/docker-compose.local-db.yml b/docker-compose.local-db.yml deleted file mode 100644 index 16ba4b49e1..0000000000 --- a/docker-compose.local-db.yml +++ /dev/null @@ -1,42 +0,0 @@ -version: "3" - -# このconfigは、 dockerでMisskey本体を起動せず、 redisとpostgresql などだけを起動します - -services: - redis: - restart: always - image: redis:7-alpine - ports: - - "6379:6379" - volumes: - - ./redis:/data - healthcheck: - test: "redis-cli ping" - interval: 5s - retries: 20 - - db: - restart: always - image: postgres:15-alpine - ports: - - "5432:5432" - env_file: - - .config/docker.env - volumes: - - ./db:/var/lib/postgresql/data - healthcheck: - test: "pg_isready -U $$POSTGRES_USER -d $$POSTGRES_DB" - interval: 5s - retries: 20 - -# meilisearch: -# restart: always -# image: getmeili/meilisearch:v1.3.4 -# environment: -# - MEILI_NO_ANALYTICS=true -# - MEILI_ENV=production -# env_file: -# - .config/meilisearch.env -# volumes: -# - ./meili_data:/meili_data - diff --git a/docker-compose_example.yml b/docker-compose_example.yml deleted file mode 100644 index 5cebbe4164..0000000000 --- a/docker-compose_example.yml +++ /dev/null @@ -1,98 +0,0 @@ -version: "3" - -services: - web: - build: . - restart: always - links: - - db - - redis -# - mcaptcha -# - meilisearch - depends_on: - db: - condition: service_healthy - redis: - condition: service_healthy - ports: - - "3000:3000" - networks: - - internal_network - - external_network - volumes: - - ./files:/misskey/files - - ./.config:/misskey/.config:ro - - redis: - restart: always - image: redis:7-alpine - networks: - - internal_network - volumes: - - ./redis:/data - healthcheck: - test: "redis-cli ping" - interval: 5s - retries: 20 - - db: - restart: always - image: postgres:15-alpine - networks: - - internal_network - env_file: - - .config/docker.env - volumes: - - ./db:/var/lib/postgresql/data - healthcheck: - test: "pg_isready -U $$POSTGRES_USER -d $$POSTGRES_DB" - interval: 5s - retries: 20 - -# mcaptcha: -# restart: always -# image: mcaptcha/mcaptcha:latest -# networks: -# internal_network: -# external_network: -# aliases: -# - localhost -# ports: -# - 7493:7493 -# env_file: -# - .config/docker.env -# environment: -# PORT: 7493 -# MCAPTCHA_redis_URL: "redis://mcaptcha_redis/" -# depends_on: -# db: -# condition: service_healthy -# mcaptcha_redis: -# condition: service_healthy -# -# mcaptcha_redis: -# image: mcaptcha/cache:latest -# networks: -# - internal_network -# healthcheck: -# test: "redis-cli ping" -# interval: 5s -# retries: 20 - -# meilisearch: -# restart: always -# image: getmeili/meilisearch:v1.3.4 -# environment: -# - MEILI_NO_ANALYTICS=true -# - MEILI_ENV=production -# env_file: -# - .config/meilisearch.env -# networks: -# - internal_network -# volumes: -# - ./meili_data:/meili_data - -networks: - internal_network: - internal: true - external_network: diff --git a/packages/backend/test/compose.yml b/packages/backend/test/compose.yml new file mode 100644 index 0000000000..6593fc33dd --- /dev/null +++ b/packages/backend/test/compose.yml @@ -0,0 +1,13 @@ +services: + redistest: + image: redis:7 + ports: + - "127.0.0.1:56312:6379" + + dbtest: + image: postgres:15 + ports: + - "127.0.0.1:54312:5432" + environment: + POSTGRES_DB: "test-misskey" + POSTGRES_HOST_AUTH_METHOD: trust diff --git a/packages/backend/test/docker-compose.yml b/packages/backend/test/docker-compose.yml deleted file mode 100644 index f2d8990758..0000000000 --- a/packages/backend/test/docker-compose.yml +++ /dev/null @@ -1,15 +0,0 @@ -version: "3" - -services: - redistest: - image: redis:7 - ports: - - "127.0.0.1:56312:6379" - - dbtest: - image: postgres:15 - ports: - - "127.0.0.1:54312:5432" - environment: - POSTGRES_DB: "test-misskey" - POSTGRES_HOST_AUTH_METHOD: trust -- cgit v1.2.3-freya From 1991a02aa9ca191639ebd84eeae984ea7ec01cc1 Mon Sep 17 00:00:00 2001 From: syuilo <4439005+syuilo@users.noreply.github.com> Date: Tue, 30 Jul 2024 09:17:06 +0900 Subject: update node version --- .devcontainer/devcontainer.json | 2 +- .github/workflows/get-api-diff.yml | 2 +- .github/workflows/on-release-created.yml | 2 +- .github/workflows/test-backend.yml | 4 ++-- .github/workflows/test-frontend.yml | 4 ++-- .github/workflows/test-misskey-js.yml | 2 +- .github/workflows/test-production.yml | 2 +- .github/workflows/validate-api-json.yml | 2 +- .node-version | 2 +- Dockerfile | 2 +- 10 files changed, 12 insertions(+), 12 deletions(-) (limited to '.devcontainer/devcontainer.json') diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 7ea23e314e..fbf959d449 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -5,7 +5,7 @@ "workspaceFolder": "/workspace", "features": { "ghcr.io/devcontainers/features/node:1": { - "version": "20.12.2" + "version": "20.16.0" }, "ghcr.io/devcontainers-contrib/features/corepack:1": {} }, diff --git a/.github/workflows/get-api-diff.yml b/.github/workflows/get-api-diff.yml index 4afafabf2e..af0ab8dde4 100644 --- a/.github/workflows/get-api-diff.yml +++ b/.github/workflows/get-api-diff.yml @@ -18,7 +18,7 @@ jobs: strategy: matrix: - node-version: [20.12.2] + node-version: [20.16.0] api-json-name: [api-base.json, api-head.json] include: - api-json-name: api-base.json diff --git a/.github/workflows/on-release-created.yml b/.github/workflows/on-release-created.yml index 22c04ff297..8dd9ed2513 100644 --- a/.github/workflows/on-release-created.yml +++ b/.github/workflows/on-release-created.yml @@ -17,7 +17,7 @@ jobs: strategy: matrix: - node-version: [20.12.2] + node-version: [20.16.0] steps: - uses: actions/checkout@v4.1.1 diff --git a/.github/workflows/test-backend.yml b/.github/workflows/test-backend.yml index bfb79ef090..026550025c 100644 --- a/.github/workflows/test-backend.yml +++ b/.github/workflows/test-backend.yml @@ -22,7 +22,7 @@ jobs: strategy: matrix: - node-version: [20.12.2] + node-version: [20.16.0] services: postgres: @@ -71,7 +71,7 @@ jobs: strategy: matrix: - node-version: [20.12.2] + node-version: [20.16.0] services: postgres: diff --git a/.github/workflows/test-frontend.yml b/.github/workflows/test-frontend.yml index c17a9fd387..fcaef52969 100644 --- a/.github/workflows/test-frontend.yml +++ b/.github/workflows/test-frontend.yml @@ -26,7 +26,7 @@ jobs: strategy: matrix: - node-version: [20.12.2] + node-version: [20.16.0] steps: - uses: actions/checkout@v4.1.1 @@ -61,7 +61,7 @@ jobs: strategy: fail-fast: false matrix: - node-version: [20.12.2] + node-version: [20.16.0] browser: [chrome] services: diff --git a/.github/workflows/test-misskey-js.yml b/.github/workflows/test-misskey-js.yml index 6ee67e8735..9ad71919df 100644 --- a/.github/workflows/test-misskey-js.yml +++ b/.github/workflows/test-misskey-js.yml @@ -21,7 +21,7 @@ jobs: strategy: matrix: - node-version: [20.12.2] + node-version: [20.16.0] # See supported Node.js release schedule at https://nodejs.org/en/about/releases/ steps: diff --git a/.github/workflows/test-production.yml b/.github/workflows/test-production.yml index 18d02ec030..8ad8a64766 100644 --- a/.github/workflows/test-production.yml +++ b/.github/workflows/test-production.yml @@ -16,7 +16,7 @@ jobs: strategy: matrix: - node-version: [20.12.2] + node-version: [20.16.0] steps: - uses: actions/checkout@v4.1.1 diff --git a/.github/workflows/validate-api-json.yml b/.github/workflows/validate-api-json.yml index 90f2929a25..06e987f27e 100644 --- a/.github/workflows/validate-api-json.yml +++ b/.github/workflows/validate-api-json.yml @@ -18,7 +18,7 @@ jobs: strategy: matrix: - node-version: [20.12.2] + node-version: [20.16.0] steps: - uses: actions/checkout@v4.1.1 diff --git a/.node-version b/.node-version index 87834047a6..8ce7030825 100644 --- a/.node-version +++ b/.node-version @@ -1 +1 @@ -20.12.2 +20.16.0 diff --git a/Dockerfile b/Dockerfile index d6ca6b8cdf..e247bbcd77 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,6 @@ # syntax = docker/dockerfile:1.4 -ARG NODE_VERSION=20.12.2-bullseye +ARG NODE_VERSION=20.16.0-bullseye # build assets & compile TypeScript -- cgit v1.2.3-freya