.config | ||
custom | ||
locales | ||
neko | ||
packages | ||
scripts | ||
.dockerignore | ||
.gitignore | ||
biome.json | ||
COPYING | ||
docker-compose.example.yml | ||
Dockerfile | ||
gulpfile.js | ||
LICENSE | ||
Makefile | ||
package.json | ||
patrons.json | ||
pnpm-lock.yaml | ||
pnpm-workspace.yaml | ||
README.md | ||
update.sh |
Misskey ã®ãã©ãŒã¯ã® Firefish ã®ãã©ãŒã¯ã§ãã
æ¬å®¶ Firefish ã®ãªããžããªã¯ãã¡ã
main
ãã©ã³ãã§ã¯ãã®ãã©ãŒã¯ã«é©çšãããå€æŽã®ã³ãããå±¥æŽã®ã¿ããhistory
ãã©ã³ãã§ã¯æ¬å®¶ Firefish ã®ã³ããããå«ãå®å
šãªã³ãããå±¥æŽãé²èŠ§ã§ããŸãã
ãã®ãã©ãŒã¯ã®æ©èœã«ã€ããŠèª¿ã¹ãã«ã¯ main
ãã©ã³ãããã³ãŒãã®èè
ã«ã€ããŠèª¿ã¹ãã«ã¯ history
ãã©ã³ããåç
§ããŠãã ããã
å€æŽç¹
äž»èŠãªå€æŽç¹
- éãã°ã€ã³ãŠãŒã¶ãŒã«ãããŒã«ã«ã¿ã€ã ã©ã€ã³ãšã°ããŒãã«ã¿ã€ã ã©ã€ã³ãå
¬éã§ããããã«å€æŽ
- ã³ã³ãããŒã«ããã«ããèšå®ãããš
https://server.example.com/timeline
ã§å ¬éãããŸã
- ã³ã³ãããŒã«ããã«ããèšå®ãããš
- æ€çŽ¢ãã£ã«ã¿ãŒã匷åäž
from:me
ãæ€çŽ¢ã¯ãšãªã®æ«å°Ÿã«ã€ãããšèªåã®æçš¿ã®ã¿ãæ€çŽ¢ã§ããããã«å€æŽ- æ€çŽ¢ã¯ãšãªã®äŸ:
äºå® from:me
- ããŒã ã»ãã©ãã¯ãŒéå®ã»ãã€ã¬ã¯ãã»ç§å¯ã®æçš¿ãå«ãèªåã®å šãŠã®æçš¿ããæ€çŽ¢ããŸã
- æ€çŽ¢ã¯ãšãªã®äŸ:
- å
šææ€çŽ¢ã®ãšã³ãžã³ã PGroonga ã«å€æŽ
- PGroonga ã®ã€ã³ã¹ããŒã«ãå¿ èŠã«ãªããŸãïŒè©³ããã¯ãã®æçš¿ãã芧ãã ãã
- Meilisearch, Elasticsearch, Sonic ã¯äœ¿ããŸãã
- ãç§å¯ããšããå
¬éç¯å²ãè¿œå
- å®å ç¡ãã®ãã€ã¬ã¯ãæçš¿ãèšãæããŠããã ãã§ã
- æ¢åã®æçš¿ãåé€ããã«åŸããç§å¯ã«ããããšãã§ããŸã
- ããã©ãŒãã³ã¹åäžã®ããã¢ã¯ãã£ããŠãŒã¶ãŒä»¥å€ã®ãã£ãŒãçæãç¡å¹å
- ãµãŒãããŒãã£ãŒè£œã¯ã©ã€ã¢ã³ããåããªããªãã®ãé»æ¢ãããã API ã®ãšã³ããã€ã³ãã¯æ®ããŠããŸãããå©ããŠã
0
ã䞊ãã é åããè¿ããŸããã
- ãµãŒãããŒãã£ãŒè£œã¯ã©ã€ã¢ã³ããåããªããªãã®ãé»æ¢ãããã API ã®ãšã³ããã€ã³ãã¯æ®ããŠããŸãããå©ããŠã
- ã¢ãã¬ãŒã¿ãŒã§ãªãäžè¬ãŠãŒã¶ãŒã«ãã«ã¹ã¿ã çµµæåã®ç®¡çæš©ãäžããããããã«
- ã«ã¹ã¿ã çµµæåã®ç®¡çã倧å€ãªãµãŒããŒç®¡çè ãããããããããã£ããã£ãã®ã§ãã®æ©èœãè¿œå ããã¹ãã§ã¯ãªããä»ã®éçºè ã«èšãããšããããŒã«æ©èœã®å®è£ ãåŸ ã€ã¹ãã ãšèšãããŠããŸã£ãããFirefish ã®ããŒã«æ©èœã¯çŸç¶ã§ã¯ä»æ§ããŸã åºãŸã£ãŠãããå®è£ ãŸã§ã«æéãæãããšèãããããã
- 以äžã®æš©éãäžããããŸã
- äžèš±å¯: çµµæåã®ç®¡çãèš±å¯ããªã
- è¿œå : æ°ããçµµæåã®è¿œå ã®ã¿ãèš±å¯ãã
- è¿œå ãšå€æŽ: ãè¿œå ãã«å ããæ¢åã®ã«ã¹ã¿ã çµµæåã®ååã»ã«ããŽãªã»ã¿ã°ã»ã©ã€ã»ã³ã¹ã®ç·šéãèš±å¯ãã
- å šãŠèš±å¯:ãè¿œå ãšå€æŽãã«å ããæ¢åã®ã«ã¹ã¿ã çµµæåã®åé€ãèš±å¯ãã
- ã¢ãã€ã«è¡šç€ºã®äžéšã®ãŠã£ãžã§ãããã¿ã³ãåèªã¿èŸŒã¿ãã¿ã³ã«å€æŽå¯èœã«
- ã¹ããŒããã©ã³ã§ãŠã£ãžã§ããã¯äœ¿ããªããã©åèªã¿èŸŒã¿ã¯ãããããã人ã¯ããã
- ã¢ãã€ã«è¡šç€ºã®äžéšã®ãã£ãããã¿ã³ãã¢ã«ãŠã³ãåãæ¿ããã¿ã³ã«å€æŽå¯èœã«
- ããç¡ã㧠PWA ã§è€æ°ã¢ã«ãŠã³ãã䜿ãããšãããšè ±éçã«ãªã
- ããŒã«ã«ã¿ã€ã ã©ã€ã³ã®äœçœ®ãã°ããŒãã«ã¿ã€ã ã©ã€ã³ã®çŽåã«ç§»å
- ããŒã«ã«ã¿ã€ã ã©ã€ã³ããããœãŒã·ã£ã«ã¿ã€ã ã©ã€ã³ã®ã»ãã䜿ãããããšèãããã
现ããå€æŽç¹
- Pleroma ã®ãã£ããã«å¯Ÿå¿ïŒCatodon ããåã蟌ã¿ïŒ
- 翻蚳æ©èœã«ãŠãæçš¿èšèªãæå®ãããŠããªãå Žåã«ã®ã¿èšèªã®èªåæ€åºãçšããããã«å€æŽ
- ã¢ããããŒãæã«æŽæ°å 容ã確èªã§ããæ©èœãè¿œå
- äŸåã©ã€ãã©ãªãææ°çã«ã¢ããããŒã
- ã¡ãããšåããæ¬å®¶ã« push ããåã«å®éšããããšããæå³ããããŸã
- äžåœèªã®ç«ã¢ãŒãã§ã¯ 0.1 ã®ç¢ºçã§æçš¿ã®æ«å°Ÿã«ãåµããè¿œå ããããã«
- èšå®ã®ããã¯ã¢ãããã¡ã€ã«ã«
misskeyVersion
ã®å€ãå«ãŸããŠããªããŠãèŠåããªãããã«å€æŽ - ããŒãžãããŠããªãæ¬å®¶çãžã®ãã«ãªã¯ãšã¹ããç¬æã§ããŒãž
emojis
ã® API ãšã³ããã€ã³ãïŒMisskey v13- äºæïŒãè¿œå ïŒfirefish-mkdir ããåã蟌ã¿ïŒ- Docker ã®ããŒã¹ã€ã¡ãŒãžã« Node v21 ã䜿çš
- HTML ã®ã³ãŒãã«å
¥ãã³ã¡ã³ãã¢ãŒããåé€
- å šããŒãžã«ãããªã®å ¥ããªããŠãâŠâŠ
- ããã©ã«ãã§ã¯ãã€ãã¬ãŒã·ã§ã³ãç¡å¹ã«
- ãã°ã€ã³ããŠããªããã°æçš¿æ€çŽ¢ãã§ããªãããã«
- æ»æ察çã®ãã
- ãããã®ããã§ãµãŒãããŒãã£ãŒã¯ã©ã€ã¢ã³ãã«äžå ·åãåºãå Žåã«ã¯å€æŽãããããããŸãã
- æçš¿ãšæçš¿ã®éã空ããŠè¡šç€ºããèšå®ãããã©ã«ãã§ã¯ç¡å¹ã«
- Enter ããŒã®ã¿ã§ãã£ãããéä¿¡ããèšå®ãããã©ã«ãã§ã¯ç¡å¹ã«
- 管çè ã¢ã«ãŠã³ããåŒã£è¶ãã§ããããã«
- ããã©ã«ãã®ã¢ã€ã³ã³ã®å€ªãã现ãã«å€æŽ
- ã¹ã¿ã€ã«ãéžæããç»é¢ã®ãµã³ãã«ã®ã¢ã€ã³ã³ãæã«å€æŽ
- ãªã¢ã¯ã·ã§ã³ã®å±¥æŽãå
¬éããèšå®ãããã©ã«ãã§æå¹ã«
- ç§ãã¿ããªã®ãªã¢ã¯ã·ã§ã³ãèŠãããšæã£ãŠãããã
- ãã¡ããèšå®ããç¡å¹ã«ã§ããŸã
- æšæºã®ãã©ã³ãã Atkinson Hyperlegible ã«ããå€æŽãåãæ¶ã
- ãã©ã³ããå€æŽãããå Žåã¯ãã®ã«ã¹ã¿ã CSS ã䜿ã£ãŠãã ãã
- ç°¡äœäžæã®ç¿»èš³ãååšããªãé
ç®ã§ã¯ç¹äœäžæã®ç¿»èš³ãçšããããã«ïŒæ¬å®¶ã§ã¯éïŒ
- ãµããã¯ãããç¬èªæ©èœã«äœ¿ãããŠããã©ãã«ã®ç¹äœäžæèš³ãæäŸããŠãã ãã£ããã
- ãªã³ã©ã€ã³ã¹ããŒã¿ã¹ãéå
¬éã®ã¢ã«ãŠã³ãã«ã¯ã¹ããŒã¿ã¹ãè¡šãäžžå°ã衚瀺ããªãããã«
- ç°è²ã®äžžã衚瀺ãããŠããŠããããªã«å¬ãããªããã
- ããã©ã«ãã§æ€çŽ¢ãšã³ãžã³ããã®ã¯ããŒã«ãæåŠããããã«å€æŽ
- æ€çŽ¢ã® MFM ã§äœ¿çšããæ€çŽ¢ãšã³ãžã³ãèšå®ããå€æŽå¯èœã«
- 以äžã®éžæè¢ããéžã¹ãŸã
- DuckDuckGo (duckduckgo.com)
- SearXNG (searx.be)
- Google Search (google.com)
- Moon Search (search.naskya.net)
- ãµãŒããŒã®æçš¿æ€çŽ¢
- 以äžã®éžæè¢ããéžã¹ãŸã
- ãµãŒããŒèšå®ã®åæå€ãå€æŽ
- æ°èŠç»é²ãç¡å¹å
- æ°èŠç»é²ãåãä»ããããªãã®ã«ç¡å¹åããåã«ã¢ã«ãŠã³ããç»é²ãããŠããŸãããšãé²ããã
- ãã©ã€ããŒãã¢ãŒãïŒé£åããªãã¢ãŒãïŒãæå¹å
- ãµãŒããŒã®æºåãæŽã£ãŠããªããã¡ã«ãªã¢ãŒããµãŒããŒã«èªèãããŠããŸãããšãé²ããã
- ãµãŒããŒã¡ããªã¯ã¹ã®è¡šç€ºãæå¹å
- æå¹åããŠãããµãŒããŒãå€ããã
- ã©ã³ãã ãªã¢ã€ã³ã³ã®çæãç¡å¹å
- ã©ã³ãã ãªã¢ã€ã³ã³ã¯ãããªã«ãããããªããã
- æ°èŠç»é²ãç¡å¹å
- 身ãã¬é²æ¢ã®èšå®ãè¿œå
- ããããããªãããâ¯â¯ããããåºãªãããã«ã§ããããã«
- èªåã®ã¢ã€ã³ã³ãé衚瀺ã«ã§ããããã«
- èªåã®ååãšIDãé衚瀺ã«ã§ããããã«
- ååãšIDã®éšåã空çœã«ãªãã®ã§æ £ãããŸã§æéãæãããŸã
- ãŠãŒã¶ãŒããŒãžã®ããã©ã«ãã®ã¿ãããæçš¿ãšè¿ä¿¡ãã«å€æŽ
- ã¿ã€ã ã©ã€ã³ã«ãªãã©ã€ã衚瀺ããèšå®ãããã©ã«ãã§æå¹ã«
- æªèªéç¥ã®ã¿ãããªã¢ã¯ã·ã§ã³ã®éç¥ã衚瀺ããã¿ãã«å€æŽ
- æªèªã®ã¿ãã䜿ã£ãŠã人ããïŒ
- MFM ããŒãã·ãŒãã®ãã¿ã³ãæçš¿ç»é¢ããå·Šäžã®ãã«ãã¡ãã¥ãŒã«ç§»å
- ãããããããã«æçš¿ç»é¢äžéšã®ãã¿ã³ã 2 段ã«ãªã£ãŠããŸãããšããããã
- ããã©ããŒãããŠããŸããã®è¡šç€ºãç®ç«ãããããããã«
- ããã©ã«ãã®è¡šç€ºã¯ç®ç«ããªããã
- æ倧 15 件ã®æçš¿ãåºå®ã§ããããã«
- 5 件ã¯å°ãªããšæã£ããã
- æçš¿ãã¿ã³ã巚倧ã«ã§ããããã«
- mstdn.maud.io / mstdn.poyo.me ã®æ©èœ ãç䌌ããŸãã
- ã¢ã³ããã«ãã©ããŒäžã®ãŠãŒã¶ãŒã®ããŒã æçš¿ã衚瀺ãã
- ãã©ããŒäžã®ãŠãŒã¶ãŒã®æçš¿ã¯èŠãããã
- ç«ã®ã¢ã«ãŠã³ãã¯ã¢ã€ã³ã³ãåžžã«äžžã衚瀺ãã
- ãã®ã»ãããããããã
- NSFW ã¡ãã£ã¢ãé ãèšå®ããã©ãŠã¶ããšã®èšå®ãããã©ãŠã¶ããšãã€ã¢ã«ãŠã³ãããšã®èšå®ã«å€æŽ
- ããã®ã¢ã«ãŠã³ãã§ã¯ NSFW ã®ç»åãåžžã«è¡šç€ºããããã¿ãããªéèŠãç§ã«ãã£ããã
- ã€ã³ã¹ã¿ã³ã¹ãã£ãã«ãŒãããã©ã«ãã§åžžã«è¡šç€ºãã
- ãã®ã»ãã楜ãããšæã£ããã
- èã¡ãããŠã£ãžã§ããã®åŸ©æŽ»
- ã€ã³ã¹ã¿ã³ã¹ãã£ãã«ãŒã®ããŒã«ãããã«ãœãããŠã§ã¢ã®ããŒãžã§ã³çªå·ã衚瀺ãã
- æ°ã«ãªããã
- ããããã¿ã³ïŒãªã¢ã¯ã·ã§ã³ããã«ãŒã®å·Šã«ãããâãšãðã®ãªã¢ã¯ã·ã§ã³ãã¯ã³ã¯ãªãã¯ã§æŒãããã€ïŒã§ç©ºã®ãªã¢ã¯ã·ã§ã³ïŒMastodon ããµããŒã§éã£ãŠãããã®ãšåãïŒã§ã¯ãªãæ¬åœã«ãã®çµµæåãªã¢ã¯ã·ã§ã³ïŒâãšãðãšãïŒãéãããã«ãã
- ææ°ã® Misskey ã§ã¯ããã©ã«ããªã¢ã¯ã·ã§ã³ãâ€ïžã«ãªã£ããã空ã®ãªã¢ã¯ã·ã§ã³ãéããšâ€ïžãšããŠè¡šç€ºãããŠããŸãããâ€ïžã¯ ââŽðâ¯... ãšããæ°æã¡ãäŒããããã®ãªã¢ã¯ã·ã§ã³ã§ãã£ãŠãã ã®ããããããšã¯ç°ãªãããããã®ãã¿ã³ã§â€ïžã¯éããããªããã
- éç¥ã®è¡šç€ºãç°¡æœã«ãã
- ãããªã¢ã¯ã·ã§ã³ããŸããããšããªãã©ã€ã®äžã«ããçœãç·ãšããéªéã«æãããã
- äžéšã®è¡šç€ºã®è²ã Misskey ã®éç¥ã®è²ãå人çã«å¥œã¿ã ã£ãã®ã§æ»ãã
- æ¯æŽè
ãªã¹ãããã¡ã€ã«ããèªã¿èŸŒã
- å€éšã®ãµãŒããŒãèœã¡ããšãŠãŒã¶ãŒããŒãžãéããªããªãããšãé²ããã
- é²èŠ§æ³šæã®æ³šéãšç»åã®ä»£æ¿ããã¹ããã¢ã³ããã§èª¿ã¹ã察象ã«ãã
ãããããã§ã¢ã³ãããäœãã
- ã€ã³ããã¯ã¹æåŠã«
noindex
ã«å ããŠnofollow,noarchive,nocache,noimageindex
ãæå® - ã€ã³ã¹ã¿ã³ã¹ãã£ãã«ãŒã«è¡šç€ºãããµãŒããŒã®ã¢ã€ã³ã³ãšã㊠favicon ãåªå
ãã
- favicon ã®ã»ããããã«ã¹ã¿ãã€ãºãããŠãããã
- 誀çããããäœçœ®ã«ãããã©ããŒãã¿ã³ãé ãèšå®ãè¿œå
- ãã©ããŒã誀çãããšæ²ãããã
- ããã©ã«ãã® robots.txt ã®èšå®ãå€æŽããã¯ããŒã©ãŒãæåŠããããã«
- joinfirefish ãš FediDB ã®ã¯ããŒã©ãŒã¯èš±å¯ããŠããŸã
- æçš¿ãã¬ãã¥ãŒãããã©ã«ãã§ãªã³ã«ããèšå®ãè¿œå
- ããŒãžã§ã³çªå·ã«ææ°ã®ã³ãããã®æ¥ä»ãšã³ãããããã·ã¥ã®é æåãå«ãŸããããã«
- æ£ç¢ºãªããŒãžã§ã³ãåãããšãã°ä¿®æ£ã«åœ¹ç«ã€ãã
æ€èšŒäžã®å€æŽç¹
ããŸãåããŠãããã ã£ããæ¬å®¶ã« push ãããŸã
- ç»é¢ãäžã«åŒããŠã¿ã€ã ã©ã€ã³ãªã©ãæŽæ°ããæ©èœãè¿œå ïŒMisskey ããåã蟌ã¿ïŒ
- æ¬å®¶ã«ãããŒãžãªã¯ãšã¹ããåºããŸãã (!10644)
ãã®ãã©ãŒã¯ããæ¬å®¶ Firefish ã«èŒžåºãããå€æŽç¹
ãã®ãã©ãŒã¯ã¯æ¬å®¶ã« push ããåã®ãã¹ãç°å¢ãšããŠã䜿ããããããæçšãªæ©èœã¯ãã茞åºãããŸãïŒãããŠããããªæ©èœã ããæ®ãïŒ
- iOS ã§å¹æé³ãšé³æ¥œã®åçãå¹²æžããåé¡ãä¿®æ£ïŒMisskey ããåã蟌ã¿ïŒ
- ãµãŒããŒã®ç®¡çè ãå·Šäžã®ãã«ãã¡ãã¥ãŒã«å©çšèŠçŽä»¥å€ã®ããŒãžãåºå®ã§ããããã«
- äŸåã©ã€ãã©ãªã®ããŒãžã§ã³ãã¢ããããŒã
- AiScript ã®ããŒãžã§ã³ãäžãããŸããïŒ
- çµµæåããã«ãŒã«è¡šç€ºãããã«ã¹ã¿ã çµµæåã®æ€çŽ¢çµæã®ä»¶æ°ãæ倧 100 件ã«å€æŽïŒMisskey ã®å€æŽãåã蟌ã¿ïŒ
- æçš¿äžã«è¡šç€ºãããã€ã³ã¹ã¿ã³ã¹ãã£ãã«ãŒãã¯ãªãã¯ãããšãµãŒããŒæ å ±ãéãããã«
- UI çšã®èšèªãšã¯å¥ã«ãæ皿翻蚳ã«äœ¿çšããèšèªãèšå®å¯èœã«
- UI çšã®èšèªã¯ç¿»èš³å ã®èšèªã®ç¬¬äºåè£ãšããŠäœ¿ãããŸãïŒæçš¿ã®èšèªãšæ皿翻蚳å ã«èšå®ããèšèªãåãã ã£ãå Žåã«ã¯ UI çšã®èšèªã«ç¿»èš³ãããŸãïŒ
- æçš¿èšèªãèªåæ€åºããŠå€åœèªã®æçš¿ã«ç¿»èš³ãã¿ã³ã衚瀺ããèšå®ãè¿œå
- ç¹äœäžæãžã®æ皿翻蚳ãç¹äœåã§è¡šç€ºãã
- DeepL 翻蚳ã LibreTranslate ã¯ç°¡äœäžæãžã®ç¿»èš³ããæäŸããŠããªãâŠâŠã
- ãFirefish ã«ã€ããŠãã®ããŒãžã« Misskey ã®äž»èŠãªè²¢ç®è
ã衚瀺
- ãã®ãœãããŠã§ã¢ã¯ Misskey ã®ãã©ãŒã¯ã§ãããã
- é²èŠ§æ³šæã®æçš¿ãžã®è¿ä¿¡ã§æ³šéã®å
é ã« "re:" ãã€ããèšå®ãè¿œå
- è¿ä¿¡ã§é²èŠ§æ³šæã¯ç¶æããããã©ãã®ãŸãŸã®æ³šéãçšããã®ã«ã¯éåæãèŠããããšããããããã
- ç«è³ã®è§ãå°ãäžžãããïŒMisskey ããåã蟌ã¿ïŒ
- ãã®ã»ãããããããã
- ã€ã³ã¹ã¿ã³ã¹ãã£ãã«ãŒã®ããŒã«ãããã«åºããœãããŠã§ã¢å㧠FoundKey, PeerTube, GNU social, WriteFreely ãªã©ãæ£ãã衚瀺ãã
䜿çšæ¹æ³
ã€ã³ã¹ããŒã«
以äžã®æ¹æ³ã§ã€ã³ã¹ããŒã«ã§ããŸãã
- systemd çïŒæåã€ã³ã¹ããŒã«ã®ã¿ïŒ
- Debian package ç
- Docker ç
æŽæ°ãæãæ©ãåæ ãããã®ã¯ systemd çã®æåã€ã³ã¹ããŒã«ã§ããDocker ã€ã¡ãŒãžã Debian/Ubuntu åãã® deb ãã¡ã€ã«ã®æŽæ°ãå®æçã«è¡ãããã«ããŸãããVervis ã«ã¯ãã®ãããªããšãèªåã§è¡ãä»çµã¿ãç¡ãã®ã§ã¡ãã£ãšã€ããã§ãã
èªåã§ã€ã³ã¹ããŒã«ãã
Ubuntu åãã®ã€ã³ã¹ããŒã«ã¹ã¯ãªãã ããããŸãã
æåã§ã€ã³ã¹ããŒã«ãã
åºæ¬çã«æ¬å®¶çã®ã€ã³ã¹ããŒã«ãšåãæé ã§è¡ããŸãããPGroonga ã®ã€ã³ã¹ããŒã«ãå¿ èŠã§ããç¹ãç°ãªããŸãã
Docker ç
ãã®ãªããžããªãã¯ããŒã³ã㊠docker-compose.example.yml
ã docker-compose.yml
ã«ã³ããŒããæ¬å®¶çãšåæ§ã«ãµãŒããŒãæ§ç¯ããã°ããã§ããããã®ãŸãŸèµ·åãããšããŒã¿ããŒã¹ã®ãã€ã°ã¬ãŒã·ã§ã³ã«å€±æããŸããæåã«ããŒã¿ããŒã¹ã®ã³ã³ããã®ã¿ãèµ·åãããŠä»¥äžã®ã³ãã³ã㧠PGroonga ãæå¹ã«ããŠãã ããïŒfirefish
ãš firefish_db
ã¯ãããã .config/docker.env
ã .config/default.yml
ã«æžãã PostgreSQL ã®ãŠãŒã¶ãŒåãšããŒã¿ããŒã¹åã«ããŠãã ããïŒã
# DNSã»ãã¡ã€ã€ãŒãŠã©ãŒã«ã»ãªããŒã¹ãããã·ãªã©ãåèªã§èšå®ãã
git clone https://code.naskya.net/naskya/firefish
cd firefish
cp docker-compose.example.yml docker-compose.yml
cp .config/example.yml .config/default.yml
# docker-compose.yml, .config/default.yml, .config/docker.env ãç·šéãã
docker-compose up db --detach
docker-compose exec db psql --command='CREATE EXTENSION pgroonga;' --user=firefish --dbname=firefish_db
systemd ç
ãã®ãªããžããªãã¯ããŒã³ããŠãæ¬å®¶çãšåæ§ã«ãµãŒããŒãæ§ç¯ããŸãããã«ãçã®äœæ¥ (pnpm install
, pnpm run build
, pnpm run migrate
) ã¯æ·»ä»ã®ã¢ããããŒãã¹ã¯ãªããã«ãã£ãŠäžæ¬ã§è¡ããŸãã--skip-all-confirmations
ãšãããªãã·ã§ã³ã¯æ®æ®µã®ã¢ããããŒãã§ã¯äœ¿çšããªãã§ãã ããïŒéèŠãªãç¥ããããã£ãŠã衚瀺ãé£ã°ãããŠããŸããŸãïŒã
# DNSã»ãã¡ã€ã€ãŒãŠã©ãŒã«ã»ãªããŒã¹ãããã·ã»PostgreSQLã»Redis ãªã©ãåèªã§ã€ã³ã¹ããŒã«ããŠèšå®ãã
git clone https://code.naskya.net/naskya/firefish
cd firefish
cp .config/example.yml .config/default.yml
# .config/default.yml ãç·šéãã
sudo -u postgres psql --command "CREATE EXTENSION pgroonga;" --dbname firefish_db
./update.sh --skip-all-confirmations
ã€ã³ã¹ããŒã«æ¹æ³ã«é¢ããç§ã®èšäºãåèã«ãªããããããŸããã
ã¢ããããŒã
Docker çïŒæåã€ã³ã¹ããŒã«ã»èªåã€ã³ã¹ããŒã«ïŒ
éèŠãªãç¥ãããããå Žåã«ã¯ã¢ããããŒãã¹ã¯ãªãããéããŠãäŒãããã®ã§ãå¿
ã update.sh
ãçšããŠã¢ããããŒãããŠãã ããã
-
ãµãŒããŒã®ããã¯ã¢ãããåã
-
update.sh
ãå®è¡ãã衚瀺ãããæ瀺ã«åŸã./update.sh
-
ãµãŒããŒãèµ·åããŠåäœã確èªãã
docker-compose up --detach
systemd çïŒæåã€ã³ã¹ããŒã«ïŒ
éèŠãªãç¥ãããããå Žåã«ã¯ã¢ããããŒãã¹ã¯ãªãããéããŠãäŒãããã®ã§ãå¿
ã update.sh
ãçšããŠã¢ããããŒãããŠãã ããã
-
ãµãŒããŒã®ããã¯ã¢ãããåã
-
ãµãŒããŒãåæ¢ãã
sudo systemctl stop yourserver.example.com
-
update.sh
ãå®è¡ãã衚瀺ãããæ瀺ã«åŸã./update.sh
-
ãµãŒããŒãèµ·åããŠåäœã確èªãã
sudo systemctl start yourserver.example.com
Debian package çïŒèªåã€ã³ã¹ããŒã«ïŒ
apt
ãå©çšããŠã¢ããããŒãããŸãã
-
ãµãŒããŒã®ããã¯ã¢ãããåã
-
ããã±ãŒãžãã¢ããããŒãããŠåäœã確èªãã
sudo apt update sudo apt upgrade
æ£åžžã«ã¢ããããŒãã§ããªãã£ãå Žå
ç§ã察åŠããå¿
èŠãããåé¡ãçºçããŠããå¯èœæ§ããããããäžäººã§è§£æ±ºããããšããã« ./update.sh
ã®å®è¡ãã°ãç§ãŸã§éã£ãŠãã ããã
æ¬å®¶ Firefish ããã®ä¹ãæã
systemd ç
-
ãµãŒããŒã®ããã¯ã¢ãããåã
-
ãµãŒããŒãåæ¢ãã
sudo systemctl stop yourserver.example.com
-
Firefish ãã€ã³ã¹ããŒã«ãããŠãããã£ã¬ã¯ã㪠(e.g.,
/home/calckey/calckey
) ã®èŠªãã£ã¬ã¯ã㪠(e.g.,/home/calckey
) ã«ç§»åããcd /home/calckey
-
Firefish ãã€ã³ã¹ããŒã«ãããŠãããã£ã¬ã¯ã㪠(e.g.,
./calckey
) ã®ååãå€ããmv calckey calckey.old
-
å ã Firefish ãã€ã³ã¹ããŒã«ãããŠãããã£ã¬ã¯ã㪠(e.g.,
./calckey
) ãšåãååã§ãã®ãªããžããªãã¯ããŒã³ããgit clone https://code.naskya.net/naskya/firefish calckey
-
å¿ èŠãªãã¡ã€ã«ãå ã®ãã£ã¬ã¯ããªããã³ããŒãã
rm -rf calckey/files calckey/custom calckey/.config cp -r calckey.old/files calckey cp -r calckey.old/custom calckey cp -r calckey.old/.config calckey
-
å šææ€çŽ¢ãšã³ãžã³ïŒMeilisearch, Sonic, Elasticsearch ã®ããããïŒã䜿çšããŠããå Žåã«ã¯ã
.config/default.yml
ãããã®èšå®ãåé€ãŸãã¯ã³ã¡ã³ãã¢ãŠãããå é ã«
#
ãã€ãããšèšå®ãã³ã¡ã³ãã¢ãŠãã§ããŸãã#sonic: # host: localhost # port: 1491 # auth: SecretPassword # collection: notes # bucket: default
å šææ€çŽ¢ãšã³ãžã³ã¯åæ¢ãŸãã¯ã¢ã³ã€ã³ã¹ããŒã«ããŠããŸã£ãŠããã§ããæ¬å®¶ã® Firefish ã«æ»ãã€ããããããªãåæ¢ããããã§ãªããã°ã¢ã³ã€ã³ã¹ããŒã«ãããããããŸãã
åæ¢ã³ãã³ãã®äŸ
sudo systemctl disable --now sonic
-
PostgreSQL ã®ããŒãžã§ã³ã確èªãã
psql --version
-
PGroonga ãã€ã³ã¹ããŒã«ãã
ã³ãã³ãã®äŸïŒè©³ããã¯ãã®æçš¿ãåèã«ããŠãã ããïŒ
sudo apt install -y software-properties-common sudo add-apt-repository -y universe sudo add-apt-repository -y ppa:groonga/ppa sudo apt install -y wget lsb-release wget https://packages.groonga.org/ubuntu/groonga-apt-source-latest-$(lsb_release --codename --short).deb sudo apt install -y -V ./groonga-apt-source-latest-$(lsb_release --codename --short).deb echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release --codename --short)-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add - sudo apt update sudo apt install -y -V postgresql-14-pgdg-pgroonga
-
.config/default.yml
ã«æžãããŠããããŒã¿ããŒã¹ã®ååã確èªããïŒä»¥äžã®äŸã§ã¯mk1
ïŒdb: host: localhost port: 5432 db: mk1 # <---
-
以äžã®ã³ãã³ããå®è¡ã㊠PGroonga ã®æ¡åŒµæ©èœãæå¹ã«ããïŒ
mk1
ã®éšåã¯èªåã®ããŒã¿ããŒã¹åã«å€ããŠå®è¡ïŒsudo -iu postgres psql --command="CREATE EXTENSION pgroonga;" --dbname=mk1
-
æ°ãã Firefish ã®ãã£ã¬ã¯ããªã«å ¥ã£ãŠãã«ããã
cd calckey ./update.sh --skip-all-confirmations
泚æ:
--skip-all-confirmations
ãšãããªãã·ã§ã³ã¯æ®æ®µã®ã¢ããããŒãã§ã¯äœ¿ããªãã§ãã ãããéèŠãªãç¥ãããããå Žåã§ã衚瀺ãã¹ããããããŠããŸããŸãã -
ãµãŒããŒãèµ·åããŠåäœã確èªãã
sudo systemctl start yourserver.example.com
-
å ã Firefish ãã€ã³ã¹ããŒã«ãããŠãããã£ã¬ã¯ããªãåé€ãã
cd .. rm -rf calckey.old
Docker ç
-
ãµãŒããŒã®ããã¯ã¢ãããåã
-
ãµãŒããŒãåæ¢ãã
docker-compose down
-
Firefish ãã€ã³ã¹ããŒã«ãããŠãããã£ã¬ã¯ã㪠(e.g.,
/home/calckey/calckey
) ã®èŠªãã£ã¬ã¯ã㪠(e.g.,/home/calckey
) ã«ç§»åããcd /home/calckey
-
Firefish ãã€ã³ã¹ããŒã«ãããŠãããã£ã¬ã¯ã㪠(e.g.,
./calckey
) ã®ååãå€ããmv calckey calckey.old
-
å ã Firefish ãã€ã³ã¹ããŒã«ãããŠãããã£ã¬ã¯ã㪠(e.g.,
./calckey
) ãšåãååã§ãã®ãªããžããªãã¯ããŒã³ããgit clone https://code.naskya.net/naskya/firefish calckey
-
å¿ èŠãªãã¡ã€ã«ãå ã®ãã£ã¬ã¯ããªããã³ããŒãã
rm -rf calckey/files calckey/custom calckey/.config cp -r calckey.old/files calckey cp -r calckey.old/custom calckey cp -r calckey.old/.config calckey
-
以äžã®ã³ãã³ããå®è¡ã㊠PGroonga ãæå¹ã«ããïŒfirefish ãš firefish_db ã¯ãããã
.config/docker.env
ã.config/default.yml
ã«æžãã PostgreSQL ã®ãŠãŒã¶ãŒåãšããŒã¿ããŒã¹åã«ããŠãã ããïŒdocker-compose up db --detach docker-compose exec db psql --command='CREATE EXTENSION pgroonga;' --user=firefish --dbname=firefish_db
-
ãµãŒããŒãèµ·åããŠåäœã確èªãã
docker-compose up --detach
-
å ã Firefish ãã€ã³ã¹ããŒã«ãããŠãããã£ã¬ã¯ããªãåé€ãã
cd .. rm -rf calckey.old
ãã®ãã©ãŒã¯ããæ¬å®¶ Firefish ãžæ»ã
systemd ç
-
ãµãŒããŒã®ããã¯ã¢ãããåã
-
ãµãŒããŒãåæ¢ãã
sudo systemctl stop yourserver.example.com
-
Firefish ãã€ã³ã¹ããŒã«ãããŠãããã£ã¬ã¯ã㪠(e.g.,
/home/calckey/calckey
) ãžç§»åããcd /home/calckey/calckey
-
ææ°çã«ã¢ããããŒããã
./update.sh
-
.config/default.yml
ã«æžãããŠããããŒã¿ããŒã¹ã®ååã確èªããïŒä»¥äžã®äŸã§ã¯mk1
ïŒdb: host: localhost port: 5432 db: mk1 # <---
-
次ã®ã³ãã³ãã§ããŒã¿ããŒã¹ããããåã«ããã®ã³ãã³ããæ£åžžã«åäœããã確èªããïŒ
mk1
ã®éšåã¯èªåã®ããŒã¿ããŒã¹åã«å€æŽããïŒprintf 'BEGIN;\n%s\nROLLBACK;' "$(cat neko/revert.sql)" | sudo -iu postgres psql --set='ON_ERROR_STOP=1' --dbname=mk1
æåŸã®è¡ã
ROLLBACK
ã§çµãã£ãŠããã°åé¡ãããŸãããããã§ãªãå Žåã«ã¯ä»¥äžã®ã³ãã³ãã®å®è¡çµæãç§ã«éã£ãŠãã ãããprintf 'BEGIN;\n%s\nROLLBACK;' "$(cat neko/revert.sql)" | sudo -iu postgres psql --echo-all --set='ON_ERROR_STOP=1' --dbname=mk1
-
ãã®ãã©ãŒã¯ã§å ããããããŒã¿ããŒã¹ãžã®å€æŽãå®éã«åãæ¶ãïŒ
mk1
ã®éšåã¯èªåã®ããŒã¿ããŒã¹åã«å€æŽããïŒsudo -iu postgres psql --file=neko/revert.sql --dbname=mk1
-
PGroonga ãã¢ã³ã€ã³ã¹ããŒã«ãã
ã³ãã³ãã®äŸ
sudo apt purge --remove postgresql-14-pgdg-pgroonga sudo add-apt-repository --remove ppa:groonga/ppa sudo apt-key del ACCC4CF8 sudo apt update
-
Firefish ãã€ã³ã¹ããŒã«ãããŠãããã£ã¬ã¯ããªã®èŠªãã£ã¬ã¯ã㪠(e.g.,
/home/calckey
) ã«è¡ãcd ..
-
Firefish ãã€ã³ã¹ããŒã«ãããŠãããã£ã¬ã¯ã㪠(e.g.,
./calckey
) ã®ååãå€ããmv calckey calckey.old
-
Firefish ãã€ã³ã¹ããŒã«ãããŠãããã£ã¬ã¯ããªãšåãååã§æ¬å®¶çã® Firefish ã clone ãã
git clone https://git.joinfirefish.org/firefish/firefish.git calckey
-
å¿ èŠãªãã¡ã€ã«ãã³ããŒãã
rm -rf calckey/files calckey/custom calckey/.config cp -r calckey.old/files calckey cp -r calckey.old/custom calckey cp -r calckey.old/.config calckey
-
æ°ãã Firefish ã®ãã£ã¬ã¯ã㪠(e.g.,
./calckey
) ã«å ¥ããdevelop
ãã©ã³ãã«è¡ãïŒå®éã«ã¯æ¢ã«develop
ã«ããã¯ãïŒcd calckey git checkout develop
-
Firefish ããã«ããã
corepack prepare pnpm@latest --activate pnpm i NODE_ENV=production pnpm run build pnpm run migrate
-
ãµãŒããŒãèµ·åããŠåäœã確èªãã
sudo systemctl start yourserver.example.com
-
å ã Firefish ãã€ã³ã¹ããŒã«ãããŠãããã£ã¬ã¯ããªãåé€ãã
cd .. rm -rf calckey.old
泚æ
ãã®æé ãèžããšããªãã® Firefish ãµãŒããŒã¯ develop
çã«ãªããŸããä»ã®ããŒãžã§ã³ãåããããå Žåãã次ã®ã¢ããããŒãããªãªãŒã¹ããããŸã§ã¯ develop
çãåãããŠãã ããã
äŸãã° beta
çãåããããå Žåã次㫠beta
çããªãªãŒã¹ãããããã¡ãã«ç§»ããŸãã
git checkout beta
git pull --ff
corepack prepare pnpm@latest --activate
pnpm i
NODE_ENV=production pnpm run build
pnpm run migrate
è£è¶³
ç§ã«ã³ãã³ãã®å®è¡ãã°ãéã
å®è¡ãããã³ãã³ãã®åŸãã« |& tee /tmp/fflog
ãã€ããŠã³ãã³ããå®è¡ããŸããäŸãã°å®è¡ãããã³ãã³ãã ./update.sh
ãªãã°
./update.sh |& tee /tmp/fflog
ãšããå®è¡ãããã³ãã³ãã
printf 'BEGIN;\n%s\nROLLBACK;' "$(cat neko/revert.sql)" | sudo -iu postgres psql --echo-all --set='ON_ERROR_STOP=1' --dbname=mk1
ãªãã°
printf 'BEGIN;\n%s\nROLLBACK;' "$(cat neko/revert.sql)" | sudo -iu postgres psql --echo-all --set='ON_ERROR_STOP=1' --dbname=mk1 |& tee /tmp/fflog
ãšããŸãã
ãããšã³ãã³ãã®å®è¡ãã°ã /tmp/fflog
ã«ä¿åãããã®ã§ãä¿åãããããã¹ãå
šäœããµãŒããŒã® OS ãªã©ã®ç°å¢ã®æ
å ±ãšãšãã«ç§ã«éã£ãŠãã ããã
ãã°ã®ãã¡ã®åèã«ãªãããã ãšæã£ãäžéšã ããæç²ããŠéãããšã¯çµ¶å¯Ÿã«ããªãã§ãã ãããå¿ èŠãªæ å ±ãæ¬ èœããŠããŠããäžåºŠå šäœãéãçŽããŠãããããšã«ãªã£ãããç§ã察åŠæ¹æ³ã®å€æã誀ã£ããããå¯èœæ§ãé«ãŸã£ããããŸãã
ããã¹ããäžã€ã®æçš¿ã«åãŸãé·ãã®å Žåã¯ã³ãŒããããã¯ã®èšæ³ïŒ``` ã§å²ãïŒãçšããŠæçš¿ããŠããã£ãŠããã§ãããã°ãäžæçš¿ã«åãŸããªãé·ãã®å Žå㯠Pastebin ãªã©ã®ãµãŒãã¹ã䜿ã£ãŠå ±æããŠãã ãããæçš¿ã«ãã°ãã¡ã€ã«ãçŽæ¥æ·»ä»ããŠéãããšã¯ããªãã§ãã ããã
ãã°ãç§ã«éã£ãã /tmp/fflog
ã¯åé€ããŠããã§ãã
rm /tmp/fflog