A federated social network service based on Sharkey
Find a file
2025-01-29 11:35:29 +09:00
.config 🎉 First Commit (.config/cypress-devcontainer.yml, .config/docker_e...) 2025-01-28 18:51:00 +09:00
.devcontainer 🎉 First Commit (.config/cypress-devcontainer.yml, .config/docker_e...) 2025-01-28 18:51:00 +09:00
.gitlab 🎉 First Commit (.config/cypress-devcontainer.yml, .config/docker_e...) 2025-01-28 18:51:00 +09:00
.okteto 🎉 First Commit (.config/cypress-devcontainer.yml, .config/docker_e...) 2025-01-28 18:51:00 +09:00
assets 🎉 First Commit (.config/cypress-devcontainer.yml, .config/docker_e...) 2025-01-28 18:51:00 +09:00
chart 🎉 First Commit (.config/cypress-devcontainer.yml, .config/docker_e...) 2025-01-28 18:51:00 +09:00
cypress 🎉 First Commit (.config/cypress-devcontainer.yml, .config/docker_e...) 2025-01-28 18:51:00 +09:00
docs 📚 edit README for puyoskey (README.md, docs/logo.png) 2025-01-28 20:58:31 +09:00
eslint 🎉 First Commit (.config/cypress-devcontainer.yml, .config/docker_e...) 2025-01-28 18:51:00 +09:00
fluent-emojis@cae981eb4c add submodules (fluent-emojis, tossface-emojis) 2025-01-28 20:12:56 +09:00
idea 🎉 First Commit (.config/cypress-devcontainer.yml, .config/docker_e...) 2025-01-28 18:51:00 +09:00
locales 🎉 First Commit (.config/cypress-devcontainer.yml, .config/docker_e...) 2025-01-28 18:51:00 +09:00
packages 🗑️ remove instance name from instance ticker (packages/frontend/src/components/MkInstanceTicker....) 2025-01-29 11:31:40 +09:00
scripts 🎉 First Commit (.config/cypress-devcontainer.yml, .config/docker_e...) 2025-01-28 18:51:00 +09:00
sharkey-locales 🎉 First Commit (.config/cypress-devcontainer.yml, .config/docker_e...) 2025-01-28 18:51:00 +09:00
tossface-emojis@3c0ac3f7bd add submodules (fluent-emojis, tossface-emojis) 2025-01-28 20:12:56 +09:00
.dockerignore 🎉 First Commit (.config/cypress-devcontainer.yml, .config/docker_e...) 2025-01-28 18:51:00 +09:00
.dockleignore 🎉 First Commit (.config/cypress-devcontainer.yml, .config/docker_e...) 2025-01-28 18:51:00 +09:00
.editorconfig 🎉 First Commit (.config/cypress-devcontainer.yml, .config/docker_e...) 2025-01-28 18:51:00 +09:00
.gitattributes 🎉 First Commit (.config/cypress-devcontainer.yml, .config/docker_e...) 2025-01-28 18:51:00 +09:00
.gitignore 🎉 First Commit (.config/cypress-devcontainer.yml, .config/docker_e...) 2025-01-28 18:51:00 +09:00
.gitlab-ci.yml 🎉 First Commit (.config/cypress-devcontainer.yml, .config/docker_e...) 2025-01-28 18:51:00 +09:00
.gitmodules 🎉 First Commit (.config/cypress-devcontainer.yml, .config/docker_e...) 2025-01-28 18:51:00 +09:00
.node-version 🎉 First Commit (.config/cypress-devcontainer.yml, .config/docker_e...) 2025-01-28 18:51:00 +09:00
.npmrc 🎉 First Commit (.config/cypress-devcontainer.yml, .config/docker_e...) 2025-01-28 18:51:00 +09:00
.vsls.json 🎉 First Commit (.config/cypress-devcontainer.yml, .config/docker_e...) 2025-01-28 18:51:00 +09:00
CHANGELOG.md 🎉 First Commit (.config/cypress-devcontainer.yml, .config/docker_e...) 2025-01-28 18:51:00 +09:00
CODE_OF_CONDUCT.md 🎉 First Commit (.config/cypress-devcontainer.yml, .config/docker_e...) 2025-01-28 18:51:00 +09:00
codecov.yml 🎉 First Commit (.config/cypress-devcontainer.yml, .config/docker_e...) 2025-01-28 18:51:00 +09:00
compose.local-db.yml 🎉 First Commit (.config/cypress-devcontainer.yml, .config/docker_e...) 2025-01-28 18:51:00 +09:00
compose_example.yml 🎉 First Commit (.config/cypress-devcontainer.yml, .config/docker_e...) 2025-01-28 18:51:00 +09:00
CONTRIBUTING.md 🎉 First Commit (.config/cypress-devcontainer.yml, .config/docker_e...) 2025-01-28 18:51:00 +09:00
COPYING 🎉 First Commit (.config/cypress-devcontainer.yml, .config/docker_e...) 2025-01-28 18:51:00 +09:00
crowdin.yml 🎉 First Commit (.config/cypress-devcontainer.yml, .config/docker_e...) 2025-01-28 18:51:00 +09:00
cypress.config.ts 🎉 First Commit (.config/cypress-devcontainer.yml, .config/docker_e...) 2025-01-28 18:51:00 +09:00
Dockerfile 🎉 First Commit (.config/cypress-devcontainer.yml, .config/docker_e...) 2025-01-28 18:51:00 +09:00
healthcheck.sh 🎉 First Commit (.config/cypress-devcontainer.yml, .config/docker_e...) 2025-01-28 18:51:00 +09:00
IMPORTANT_NOTES.md 🎉 First Commit (.config/cypress-devcontainer.yml, .config/docker_e...) 2025-01-28 18:51:00 +09:00
LICENSE 🎉 First Commit (.config/cypress-devcontainer.yml, .config/docker_e...) 2025-01-28 18:51:00 +09:00
package.json 🏷️ make change version as 2024.11.2-puyo.1 (package.json) 2025-01-29 11:35:29 +09:00
pnpm-lock.yaml 🎉 First Commit (.config/cypress-devcontainer.yml, .config/docker_e...) 2025-01-28 18:51:00 +09:00
pnpm-workspace.yaml 🎉 First Commit (.config/cypress-devcontainer.yml, .config/docker_e...) 2025-01-28 18:51:00 +09:00
Procfile 🎉 First Commit (.config/cypress-devcontainer.yml, .config/docker_e...) 2025-01-28 18:51:00 +09:00
README.md 📚 edit README for puyoskey (README.md, docs/logo.png) 2025-01-28 20:58:31 +09:00
ROADMAP.md 🎉 First Commit (.config/cypress-devcontainer.yml, .config/docker_e...) 2025-01-28 18:51:00 +09:00
SECURITY.md 🎉 First Commit (.config/cypress-devcontainer.yml, .config/docker_e...) 2025-01-28 18:51:00 +09:00
UPGRADE_NOTES.md 🎉 First Commit (.config/cypress-devcontainer.yml, .config/docker_e...) 2025-01-28 18:51:00 +09:00

ぷよすきー

🌎 Puyoskey is federated SNS based on Sharkey 🚀

Usage 💨

Install depencies for AlmaLinux 9 Server ⛏️

install cli depencies

dnf install -y epel-release
dnf config-manager --set-enabled crb
dnf install --nogpgcheck https://mirrors.rpmfusion.org/free/el/rpmfusion-free-release-$(rpm -E %rhel).noarch.rpm -y
dnf install --nogpgcheck https://mirrors.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-$(rpm -E %rhel).noarch.rpm -y

dnf update -y
dnf install -y git make automake gcc gcc-c++ kernel-devel kernel-headers ffmpeg vim jemalloc
dnf groupinstall -y "Development Tools"

install Node.js and pnpm:

curl -fsSL https://rpm.nodesource.com/setup_22.x | bash -
dnf install nodejs -y

corepack enable
# To type y
pnpm
  • Manual Install

create user for puyoskey:

useradd -m -D puyoskey

switch created user:

sudo -iu puyoskey

clone the puyoskey repository, and copy the example configuration file:

git clone --recurse-submodules -b master https://git.v-sli.me/HidemaruOwO/puyoskey.git
cd puyoskey
pnpm install --frozen-lockfile
cp .config/example.yml .config/default.yml

build puyoskey:

pnpm run build
  • setup DB (if postgresql installed):

attach psql:

sudo -u postgres psql
CREATE DATABASE puyoskey WITH ENCODING = 'UTF8';
CREATE USER puyoskey WITH ENCRYPTED PASSWORD '{YOUR_PASSWORD}';
GRANT ALL PRIVILEGES ON DATABASE puyoskey TO puyoskey;
ALTER DATABASE puyoskey OWNER TO puyoskey;
\q

edit configuration file:

vim .config/default.yml

create the schema:

pnpm run init

start puyoskey:

pnpm start
Run with systemd (you should change user as root)

Create a file /etc/systemd/system/puyoskey.service containing:

[Unit]
Description=Puyoskey daemon

[Service]
Type=simple
User=puyoskey
ExecStart=/bin/pnpm start
WorkingDirectory=/home/puyoskey/puyoskey
Environment="NODE_OPTIONS=--max-old-space-size=8192"
Environment="NODE_ENV=production"
Environment="LD_PRELOAD=/usr/lib64/libjemalloc.so.2"
TimeoutSec=60
StandardOutput=journal
StandardError=journal
SyslogIdentifier=puyoskey
Restart=always

[Install]
WantedBy=multi-user.target

enable and run daemon service

systemctl daemon-reload
systemctl enable --now puyoskey.service
  • do you want periodic restart process?

Create a file /etc/systemd/system/puyoskey.timer:

[Unit]
Description = Puyoskey restart timer

[Timer]
OnCalendar = daily
Unit=puyoskey-restart.service

[Install]
WantedBy = timers.target

Create a file /etc/systemd/system/puyoskey-restart.service:

[Unit]
Description=Restart puyoskey service

[Service]
Type=oneshot
ExecStart=/usr/bin/systemctl restart puyoskey.service

[Install]
WantedBy=multi-user.target

enable timer:

systemctl enable puyoskey.timer

Update 💫

git checkout master
git pull
git submodule update --init
pnpm install --frozen-lockfile
pnpm run build
pnpm run migrate

Something Error 💣

you should rebuild puyoskey

pnpm run clean-all
pnpm rebuild

Update from Sharkey 🦈

When Sharkey is updated, puyoskey needs to follow suit!

# If u have not yet added sharkey remote
git remote add base https://activitypub.software/TransFem-org/Sharkey.git

git fetch base
git checkout -b stable base/stable

# switch puyoskey branch
git checkout master
# merge from stable branch
git merge --squash stable

# If u respond to conflicts or u don't got conflicts.
# Commit message is example.
git commit -m ":recycle: Merge updates from upstream as v2024.11.2"

git push origin master

Sharkey Original README
Sharkey logo

🌎 Sharkey is an open source, decentralized social media platform that's free forever! 🚀


create an instance become a contributor join the community donate

Features

  • ActivityPub support
    Not on Sharkey? No problem! Not only can Sharkey instances talk to each other, but you can make friends with people on other networks like Mastodon and Pixelfed!
  • Federated Backgrounds and Music status
    You can add a background to your profile as well as a music status via ListenBrainz, show everyone what music you are currently listening to
  • Mastodon API
    Sharkey implements the Mastodon API unlike normal Misskey
  • UI/UX Improvements
    Sharkey makes some UI/UX improvements to make it easier to navigate
  • Sign-Up Approval
    With Sharkey, you can enable sign-ups, subject to manual moderator approval and mandatory user-provided reasons for joining.
  • Rich Web UI
    Sharkey has a rich and easy to use Web UI! It is highly customizable, from changing the layout and adding widgets to making custom themes. Furthermore, plugins can be created using AiScript, an original programming language.
  • And much more...

Documentation

Sharkey Documentation can be found at Sharkey Documentation