-
-
Notifications
You must be signed in to change notification settings - Fork 1.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
chore: 開発モードでフロントエンドとバックエンドを独立して起動するようにする #12452
Changes from 24 commits
02bacc6
8463448
ddef9ca
14e0d1f
3ea7041
ec15eaf
582601e
4261835
d82d386
c2fbb5a
46c4d97
6fd9ac4
97a1f81
509107f
325dda6
a654c15
d37ab72
0632849
09019b3
84fa6b4
27dcc4e
e6a1ade
c470cd2
f03364b
ae9c787
3637a0b
faceb9c
71f6d3d
d795882
20426b0
e7a9ce3
4445308
7cd0c17
258c5f7
8ecf63d
2e55d74
e6eaf29
000e382
a5efde4
45b1c35
45fad15
35d90db
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,222 @@ | ||
#━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ | ||
# Misskey configuration | ||
#━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ | ||
|
||
# ┌─────┐ | ||
#───┘ URL └───────────────────────────────────────────────────── | ||
|
||
# Final accessible URL seen by a user. | ||
# dev-local では identiconのCORS問題の解決のため 127.0.0.1 である必要があります | ||
url: http://127.0.0.1:5173/ | ||
|
||
# ONCE YOU HAVE STARTED THE INSTANCE, DO NOT CHANGE THE | ||
# URL SETTINGS AFTER THAT! | ||
|
||
# ┌───────────────────────┐ | ||
#───┘ Port and TLS settings └─────────────────────────────────── | ||
|
||
# | ||
# Misskey requires a reverse proxy to support HTTPS connections. | ||
# | ||
# +----- https://example.tld/ ------------+ | ||
# +------+ |+-------------+ +----------------+| | ||
# | User | ---> || Proxy (443) | ---> | Misskey (3000) || | ||
# +------+ |+-------------+ +----------------+| | ||
# +---------------------------------------+ | ||
# | ||
# You need to set up a reverse proxy. (e.g. nginx) | ||
# An encrypted connection with HTTPS is highly recommended | ||
# because tokens may be transferred in GET requests. | ||
|
||
# The port that your Misskey server should listen on. | ||
port: 3000 | ||
|
||
# You can also use UNIX domain socket. | ||
# socket: /path/to/misskey.sock | ||
# chmodSocket: '777' | ||
|
||
# ┌──────────────────────────┐ | ||
#───┘ PostgreSQL configuration └──────────────────────────────── | ||
|
||
db: | ||
host: localhost | ||
port: 5432 | ||
|
||
# Database name | ||
db: misskey | ||
|
||
# Auth | ||
user: example-misskey-user | ||
pass: example-misskey-pass | ||
|
||
# Whether disable Caching queries | ||
#disableCache: true | ||
|
||
# Extra Connection options | ||
#extra: | ||
# ssl: true | ||
|
||
dbReplications: false | ||
|
||
# You can configure any number of replicas here | ||
#dbSlaves: | ||
# - | ||
# host: | ||
# port: | ||
# db: | ||
# user: | ||
# pass: | ||
# - | ||
# host: | ||
# port: | ||
# db: | ||
# user: | ||
# pass: | ||
|
||
# ┌─────────────────────┐ | ||
#───┘ Redis configuration └───────────────────────────────────── | ||
|
||
redis: | ||
host: localhost | ||
port: 6379 | ||
#family: 0 # 0=Both, 4=IPv4, 6=IPv6 | ||
#pass: example-pass | ||
#prefix: example-prefix | ||
#db: 1 | ||
# You can specify more ioredis options... | ||
#username: example-username | ||
|
||
#redisForPubsub: | ||
# host: localhost | ||
# port: 6379 | ||
# #family: 0 # 0=Both, 4=IPv4, 6=IPv6 | ||
# #pass: example-pass | ||
# #prefix: example-prefix | ||
# #db: 1 | ||
# # You can specify more ioredis options... | ||
# #username: example-username | ||
|
||
#redisForJobQueue: | ||
# host: localhost | ||
# port: 6379 | ||
# #family: 0 # 0=Both, 4=IPv4, 6=IPv6 | ||
# #pass: example-pass | ||
# #prefix: example-prefix | ||
# #db: 1 | ||
# # You can specify more ioredis options... | ||
# #username: example-username | ||
|
||
#redisForTimelines: | ||
# host: localhost | ||
# port: 6379 | ||
# #family: 0 # 0=Both, 4=IPv4, 6=IPv6 | ||
# #pass: example-pass | ||
# #prefix: example-prefix | ||
# #db: 1 | ||
# # You can specify more ioredis options... | ||
# #username: example-username | ||
|
||
# ┌───────────────────────────┐ | ||
#───┘ MeiliSearch configuration └───────────────────────────── | ||
|
||
#meilisearch: | ||
# host: localhost | ||
# port: 7700 | ||
# apiKey: '' | ||
# ssl: true | ||
# index: '' | ||
# scope: local | ||
|
||
# ┌───────────────┐ | ||
#───┘ ID generation └─────────────────────────────────────────── | ||
|
||
# You can select the ID generation method. | ||
# You don't usually need to change this setting, but you can | ||
# change it according to your preferences. | ||
|
||
# Available methods: | ||
# aid ... Short, Millisecond accuracy | ||
# aidx ... Millisecond accuracy | ||
# meid ... Similar to ObjectID, Millisecond accuracy | ||
# ulid ... Millisecond accuracy | ||
# objectid ... This is left for backward compatibility | ||
|
||
# ONCE YOU HAVE STARTED THE INSTANCE, DO NOT CHANGE THE | ||
# ID SETTINGS AFTER THAT! | ||
|
||
id: 'aidx' | ||
|
||
# ┌─────────────────────┐ | ||
#───┘ Other configuration └───────────────────────────────────── | ||
|
||
# Whether disable HSTS | ||
#disableHsts: true | ||
|
||
# Number of worker processes | ||
#clusterLimit: 1 | ||
|
||
# Job concurrency per worker | ||
#deliverJobConcurrency: 128 | ||
#inboxJobConcurrency: 16 | ||
#relashionshipJobConcurrency: 16 | ||
# What's relashionshipJob?: | ||
# Follow, unfollow, block and unblock(ings) while following-imports, etc. or account migrations. | ||
|
||
# Job rate limiter | ||
#deliverJobPerSec: 128 | ||
#inboxJobPerSec: 16 | ||
#relashionshipJobPerSec: 64 | ||
|
||
# Job attempts | ||
#deliverJobMaxAttempts: 12 | ||
#inboxJobMaxAttempts: 8 | ||
|
||
# Local address used for outgoing requests | ||
#outgoingAddress: 127.0.0.1 | ||
|
||
# IP address family used for outgoing request (ipv4, ipv6 or dual) | ||
#outgoingAddressFamily: ipv4 | ||
|
||
# Proxy for HTTP/HTTPS | ||
#proxy: http://127.0.0.1:3128 | ||
|
||
proxyBypassHosts: | ||
- api.deepl.com | ||
- api-free.deepl.com | ||
- www.recaptcha.net | ||
- hcaptcha.com | ||
- challenges.cloudflare.com | ||
|
||
# Proxy for SMTP/SMTPS | ||
#proxySmtp: http://127.0.0.1:3128 # use HTTP/1.1 CONNECT | ||
#proxySmtp: socks4://127.0.0.1:1080 # use SOCKS4 | ||
#proxySmtp: socks5://127.0.0.1:1080 # use SOCKS5 | ||
|
||
# Media Proxy | ||
# Reference Implementation: https://github.com/misskey-dev/media-proxy | ||
# * Deliver a common cache between instances | ||
# * Perform image compression (on a different server resource than the main process) | ||
#mediaProxy: https://example.com/proxy | ||
|
||
# Proxy remote files (default: true) | ||
# Proxy remote files by this instance or mediaProxy to prevent remote files from running in remote domains. | ||
proxyRemoteFiles: true | ||
|
||
# Movie Thumbnail Generation URL | ||
# There is no reference implementation. | ||
# For example, Misskey will point to the following URL: | ||
# https://example.com/thumbnail.webp?thumbnail=1&url=https%3A%2F%2Fstorage.example.com%2Fpath%2Fto%2Fvideo.mp4 | ||
#videoThumbnailGenerator: https://example.com | ||
|
||
# Sign to ActivityPub GET request (default: true) | ||
signToActivityPubGet: true | ||
|
||
#allowedPrivateNetworks: [ | ||
# '127.0.0.1/32' | ||
#] | ||
|
||
# Upload or download file size limits (bytes) | ||
#maxFileSize: 262144000 | ||
|
||
# PID File of master process | ||
#pidFile: /tmp/misskey.pid |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
version: "3" | ||
|
||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. このファイルでは redisとpostgresのみを起動するために作りました。 |
||
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 | ||
# networks: | ||
# - internal_network | ||
# volumes: | ||
# - ./meili_data:/meili_data | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -26,7 +26,7 @@ | |
"check:connect": "cd packages/backend && pnpm check:connect", | ||
"migrateandstart": "pnpm migrate && pnpm start", | ||
"watch": "pnpm dev", | ||
"dev": "node ./scripts/dev.mjs", | ||
"dev": "pnpm -r dev", | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. dev.mjsのかわりに pnpm -r dev をしています。 |
||
"lint": "pnpm -r lint", | ||
"cy:open": "pnpm cypress open --browser --e2e --config-file=cypress.config.ts", | ||
"cy:run": "pnpm cypress run", | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -16,6 +16,7 @@ | |
"watch:swc": "swc src -d built -D -w", | ||
"build:tsc": "tsc -p tsconfig.json && tsc-alias -p tsconfig.json", | ||
"watch": "node watch.mjs", | ||
"dev": "cross-env MISSKEY_CONFIG_YML=dev-local.yml node ./built/boot/entry.js", | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 今回はスコープアウトしていますが、 nodemonとts-nodeを組み合わせれば、ビルド不要で直接バックエンドを起動し、バックエンドに変更があれば再起動できると睨んでいます |
||
"typecheck": "tsc --noEmit", | ||
"eslint": "eslint --quiet \"src/**/*.ts\"", | ||
"lint": "pnpm typecheck && pnpm eslint", | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -4,6 +4,7 @@ | |
"type": "module", | ||
"scripts": { | ||
"watch": "vite", | ||
"dev": "vite --config vite.config.local-dev.ts", | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. devでは vite.config.ts のかわりに vite.config.local-dev.tsを使用します。 |
||
"build": "vite build", | ||
"storybook-dev": "nodemon --verbose --watch src --ext \"mdx,ts,vue\" --ignore \"*.stories.ts\" --exec \"pnpm build-storybook-pre && pnpm exec storybook dev -p 6006 --ci\"", | ||
"build-storybook-pre": "(tsc -p .storybook || echo done.) && node .storybook/generate.js && node .storybook/preload-locale.js && node .storybook/preload-theme.js", | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -187,6 +187,12 @@ export async function common(createVue: () => App<Element>) { | |
if (instance.defaultLightTheme != null) ColdDeviceStorage.set('lightTheme', JSON.parse(instance.defaultLightTheme)); | ||
if (instance.defaultDarkTheme != null) ColdDeviceStorage.set('darkTheme', JSON.parse(instance.defaultDarkTheme)); | ||
defaultStore.set('themeInitial', false); | ||
} else { | ||
if (defaultStore.state.darkMode) { | ||
applyTheme(darkTheme.value); | ||
} else { | ||
applyTheme(lightTheme.value); | ||
} | ||
Comment on lines
+190
to
+195
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. local-devモードでテーマがapplyされないことの修正です There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. ↑の旨をコメントに残しておくと良さそう There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 自由に付け足したりしておいていただけると |
||
} | ||
}); | ||
|
||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
<!DOCTYPE html> | ||
fruitriin marked this conversation as resolved.
Show resolved
Hide resolved
|
||
<html> | ||
<head> | ||
<meta charset="UTF-8" /> | ||
<title>misskey</title> | ||
<!-- https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP --> | ||
<meta | ||
http-equiv="Content-Security-Policy" | ||
content="default-src 'self'; | ||
script-src 'self'; | ||
style-src 'self' 'unsafe-inline'; | ||
img-src 'self' data: www.google.com xn--931a.moe 127.0.0.1:5173 127.0.0.1:3000" | ||
/> | ||
|
||
<link rel="stylesheet" href="/assets/tabler-icons/tabler-icons.min.css?v2.37.0"> | ||
<link rel="stylesheet" href="./style.scss" /> | ||
</head> | ||
|
||
<body> | ||
<div id="app"></div> | ||
<script type="module" src="./_boot_.ts"></script> | ||
</body> | ||
</html> |
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -262,6 +262,7 @@ const useGroupedNotifications = computed(defaultStore.makeGetterSetter('useGroup | |
watch(lang, () => { | ||
miLocalStorage.setItem('lang', lang.value as string); | ||
miLocalStorage.removeItem('locale'); | ||
miLocalStorage.removeItem('localeVersion'); | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 言語を変更したときに local-devモードで色々おかしくなる問題の対応です。 |
||
}); | ||
|
||
watch(fontSize, () => { | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
このファイルの主な違いはここだけです