From 143b650b53bd93337eb29017ce68ce062ba39d47 Mon Sep 17 00:00:00 2001 From: zima Date: Sun, 22 Dec 2024 11:58:29 -0700 Subject: [PATCH 1/7] Add docker default private network to allowed networks --- .config/ci.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.config/ci.yml b/.config/ci.yml index d20ede8d35..7639df8807 100644 --- a/.config/ci.yml +++ b/.config/ci.yml @@ -221,9 +221,10 @@ checkActivityPubGetSignature: false # For security reasons, uploading attachments from the intranet is prohibited, # but exceptions can be made from the following settings. Default value is "undefined". # Read changelog to learn more (Improvements of 12.90.0 (2021/09/04)). -#allowedPrivateNetworks: [ -# '127.0.0.1/32' -#] +allowedPrivateNetworks: [ + '127.0.0.1/32', + '192.168.65.0/24' +] #customMOTD: ['Hello World', 'The sharks rule all', 'Shonks'] From 4f4b725f94abbff1bac4841133c350b230c515d5 Mon Sep 17 00:00:00 2001 From: zima Date: Sun, 22 Dec 2024 11:58:40 -0700 Subject: [PATCH 2/7] Update CI env to use localhost address --- .config/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.config/ci.yml b/.config/ci.yml index 7639df8807..0c78a7f66d 100644 --- a/.config/ci.yml +++ b/.config/ci.yml @@ -6,7 +6,7 @@ #───┘ URL └───────────────────────────────────────────────────── # Final accessible URL seen by a user. -url: http://misskey.local +url: http://127.0.0.1:3000 # ONCE YOU HAVE STARTED THE INSTANCE, DO NOT CHANGE THE # URL SETTINGS AFTER THAT! From a019965f6ba628e22c5ffa20a95d213a3c6c6877 Mon Sep 17 00:00:00 2001 From: zima Date: Sun, 22 Dec 2024 12:00:26 -0700 Subject: [PATCH 3/7] Change test container to automatically start in work dir --- compose.local-test.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/compose.local-test.yml b/compose.local-test.yml index ecb9f42722..7cb0440bad 100644 --- a/compose.local-test.yml +++ b/compose.local-test.yml @@ -32,6 +32,7 @@ services: image: node:iron ports: - 3000:3000 + working_dir: /host volumes: - ./:/host command: sleep infinity From fb1189d05b6cf9e357586871f9b6e3cf120234a5 Mon Sep 17 00:00:00 2001 From: zima Date: Sun, 22 Dec 2024 12:01:47 -0700 Subject: [PATCH 4/7] Test db containers no longer use bind mounts and are ephemeral --- compose.local-test.yml | 4 ---- setup-tests.sh | 7 +++---- 2 files changed, 3 insertions(+), 8 deletions(-) diff --git a/compose.local-test.yml b/compose.local-test.yml index 7cb0440bad..e7dc362863 100644 --- a/compose.local-test.yml +++ b/compose.local-test.yml @@ -6,8 +6,6 @@ services: image: redis:7-alpine ports: - "6379:6379" - volumes: - - ./redis:/data healthcheck: test: "redis-cli ping" interval: 5s @@ -20,8 +18,6 @@ services: - "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 diff --git a/setup-tests.sh b/setup-tests.sh index 11da60c844..e116a526be 100755 --- a/setup-tests.sh +++ b/setup-tests.sh @@ -1,9 +1,8 @@ #!/bin/bash -echo "This script will destroy the following local directories:" +echo "During testing, your local postgres and redis databases will not be touched." +echo "This script will remove the build directories in the following locations:" echo " ./built" -echo " ./db" -echo " ./redis" echo echo "Do you want to continue? [Y/n]" read -p "> " confirmation @@ -29,7 +28,7 @@ docker compose rm echo Removing any preexisting builds and databases. echo This may take a few moments... -rm -rf ./built ./db ./redis +rm -rf ./built echo Creating environment docker compose up -d From f7523afb8e520adea3b9a1abae43ef23913ffe00 Mon Sep 17 00:00:00 2001 From: zima Date: Sun, 22 Dec 2024 12:02:47 -0700 Subject: [PATCH 5/7] Set name for test env to not conflict with other envs --- compose.local-test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/compose.local-test.yml b/compose.local-test.yml index e7dc362863..0a1f4f541f 100644 --- a/compose.local-test.yml +++ b/compose.local-test.yml @@ -1,5 +1,5 @@ # このconfigは、 dockerでMisskey本体を起動せず、 redisとpostgresql などだけを起動します - +name: barkey-test services: redis: restart: always From daecf42ab4e550e76dda3379a33f87ec251f0b8e Mon Sep 17 00:00:00 2001 From: zima Date: Sun, 22 Dec 2024 12:03:05 -0700 Subject: [PATCH 6/7] Remove unnecessary cd --- tests.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/tests.sh b/tests.sh index 5df78f4c76..81c4631281 100755 --- a/tests.sh +++ b/tests.sh @@ -4,7 +4,6 @@ set -e -cd /host/ apt-get update && apt-get install -y git wget curl build-essential python3 ffmpeg corepack enable corepack prepare pnpm@latest --activate From d39316bd16b0fd7cdb30395508a51117ea2f5d68 Mon Sep 17 00:00:00 2001 From: zima Date: Sun, 22 Dec 2024 12:03:17 -0700 Subject: [PATCH 7/7] Create dev container env --- compose.local-dev.yml | 51 ++++++++++++++++++++++ packages/frontend/vite.config.local-dev.ts | 2 +- setup-dev.sh | 42 ++++++++++++++++++ 3 files changed, 94 insertions(+), 1 deletion(-) create mode 100644 compose.local-dev.yml create mode 100755 setup-dev.sh diff --git a/compose.local-dev.yml b/compose.local-dev.yml new file mode 100644 index 0000000000..17f4f91a6b --- /dev/null +++ b/compose.local-dev.yml @@ -0,0 +1,51 @@ +# このconfigは、 dockerでMisskey本体を起動せず、 redisとpostgresql などだけを起動します +name: barkey-devcontainer +services: + redis: + restart: always + image: redis:7-alpine + ports: + - "6379:6379" + volumes: + - ./redis:/data + healthcheck: + test: "redis-cli ping" + interval: 5s + retries: 20 + + postgres: + 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 + + web: + restart: always + image: node:iron + ports: + - 3000:3000 + - 5173:5173 + working_dir: /host + volumes: + - ./:/host + command: sleep infinity + +# 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/packages/frontend/vite.config.local-dev.ts b/packages/frontend/vite.config.local-dev.ts index d588f83138..c8e07b57ef 100644 --- a/packages/frontend/vite.config.local-dev.ts +++ b/packages/frontend/vite.config.local-dev.ts @@ -32,7 +32,7 @@ const devConfig: UserConfig = { publicDir: '../assets', base: './', server: { - host: 'localhost', + host: '0.0.0.0', port: 5173, proxy: { '/api': { diff --git a/setup-dev.sh b/setup-dev.sh new file mode 100755 index 0000000000..945e3dd8cb --- /dev/null +++ b/setup-dev.sh @@ -0,0 +1,42 @@ +#!/bin/bash + +read -p "Reset databases? [y/N] " cleardb + +case $cleardb in + [Yy] ) + echo "Clearning postgres..." + rm -rf ./db + sleep 1 + echo "Clearing redis..." + rm -rf ./redis + sleep 1 + ;; + * ) + ;; +esac + +cp .config/ci.yml .config/default.yml +cp .config/ci.yml .config/test.yml +cp .config/docker_ci.env .config/docker.env +cp compose.local-dev.yml compose.yml + +echo Creating environment... +docker compose up -d +docker compose exec web apt-get update +docker compose exec web apt-get install -y bash + +echo Installing dependencies... +docker compose exec web apt-get install -y git wget curl build-essential python3 ffmpeg +docker compose exec web corepack enable +docker compose exec web corepack prepare pnpm@latest --activate +docker compose exec web git submodule update --init +docker compose exec web pnpm install --frozen-lockfile + +echo Environment is ready. +echo 5173 for dev, and 3000 for prod. +echo Do not forget to \`pnpm migrate\` before your first launch! +docker compose exec web bash + +echo Stopping containers... +docker compose stop +rm -f compose.yml