📚 migration README (README.md)
This commit is contained in:
parent
9e13c375c5
commit
30bcf13095
1 changed files with 245 additions and 8 deletions
253
README.md
253
README.md
|
@ -1,3 +1,237 @@
|
|||
<div align="center">
|
||||
|
||||
<img src="./docs/logo.png" height="150" />
|
||||
<h2>ぷよすきー (Puyoskey)</h2>
|
||||
|
||||
**🌎 [Puyoskey](https://git.v-sli.me/HidemaruOwO/puyoskey) is a customized federated SNS based on [Sharkey](https://joinsharkey.org/)**
|
||||
|
||||
</div>
|
||||
|
||||
## About Puyoskey 🦈
|
||||
|
||||
Puyoskey is a customized version of Sharkey with specific UI modifications to enhance the user experience. Some of the key customizations include:
|
||||
|
||||
- Simplified instance ticker display
|
||||
- Customized timeline interface
|
||||
- Enhanced server metrics visualization
|
||||
- Modified UI components
|
||||
|
||||
See the complete list of customizations in our [customization documentation](./docs/customized.md).
|
||||
|
||||
## Installation Guide 💨
|
||||
|
||||
<details>
|
||||
<summary> Install dependencies for AlmaLinux 9 Server ⛏️</summary>
|
||||
|
||||
Install CLI dependencies:
|
||||
|
||||
```bash
|
||||
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:
|
||||
|
||||
```bash
|
||||
curl -fsSL https://rpm.nodesource.com/setup_22.x | bash -
|
||||
dnf install nodejs -y
|
||||
|
||||
corepack enable
|
||||
# To type y
|
||||
pnpm
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
### Manual Installation
|
||||
|
||||
Create user for Puyoskey:
|
||||
|
||||
```bash
|
||||
useradd -m -D puyoskey
|
||||
```
|
||||
|
||||
Switch to created user:
|
||||
|
||||
```bash
|
||||
sudo -iu puyoskey
|
||||
```
|
||||
|
||||
Clone the Puyoskey repository, and copy the example configuration file:
|
||||
|
||||
```bash
|
||||
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:
|
||||
|
||||
```bash
|
||||
pnpm run build
|
||||
```
|
||||
|
||||
### Database Setup (PostgreSQL)
|
||||
|
||||
Attach to psql:
|
||||
|
||||
```bash
|
||||
sudo -u postgres psql
|
||||
```
|
||||
|
||||
```sql
|
||||
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:
|
||||
|
||||
```bash
|
||||
vim .config/default.yml
|
||||
```
|
||||
|
||||
Create the schema:
|
||||
|
||||
```bash
|
||||
pnpm run init
|
||||
```
|
||||
|
||||
Start Puyoskey:
|
||||
|
||||
```bash
|
||||
pnpm start
|
||||
```
|
||||
|
||||
<details>
|
||||
<summary>Run with systemd (you should change user to root)</summary>
|
||||
|
||||
Create a file `/etc/systemd/system/puyoskey.service` containing:
|
||||
|
||||
```bash
|
||||
[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:
|
||||
|
||||
```bash
|
||||
systemctl daemon-reload
|
||||
systemctl enable --now puyoskey.service
|
||||
```
|
||||
|
||||
Optional: For periodic restart process
|
||||
|
||||
Create a file `/etc/systemd/system/puyoskey.timer`:
|
||||
|
||||
```bash
|
||||
[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`:
|
||||
|
||||
```bash
|
||||
[Unit]
|
||||
Description=Restart puyoskey service
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=/usr/bin/systemctl restart puyoskey.service
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
```
|
||||
|
||||
Enable timer:
|
||||
|
||||
```bash
|
||||
systemctl enable puyoskey.timer
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
## Update Guide 💫
|
||||
|
||||
```bash
|
||||
git checkout master
|
||||
git pull
|
||||
git submodule update --init
|
||||
pnpm install --frozen-lockfile
|
||||
pnpm run build
|
||||
pnpm run migrate
|
||||
```
|
||||
|
||||
## Troubleshooting 💣
|
||||
|
||||
If you encounter errors, try rebuilding Puyoskey:
|
||||
|
||||
```bash
|
||||
pnpm run clean-all
|
||||
pnpm rebuild
|
||||
```
|
||||
|
||||
## Updating from Upstream Sharkey 🦈
|
||||
|
||||
When Sharkey is updated, Puyoskey needs to follow suit:
|
||||
|
||||
```bash
|
||||
# If you 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 to puyoskey branch
|
||||
git checkout master
|
||||
# Merge from stable branch
|
||||
git merge --squash stable
|
||||
|
||||
# Resolve any conflicts
|
||||
# Commit with an appropriate message
|
||||
git commit -m ":recycle: Merge updates from upstream as v2024.11.2"
|
||||
|
||||
git push origin master
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
<details>
|
||||
<summary>Original Sharkey README</summary>
|
||||
|
||||
<div align="center">
|
||||
<a href="https://joinsharkey.org/">
|
||||
<img src="https://activitypub.software/TransFem-org/Sharkey/-/raw/develop/packages/frontend/assets/sharkey.svg" alt="Sharkey logo" style="border-radius:50%" width="300"/>
|
||||
|
@ -28,20 +262,21 @@
|
|||
<a href="https://joinsharkey.org/"><img src="https://cdn.shonk.social/files/b671c81c-58cf-4f13-bc96-af0b0c96c667.webp" align="right" height="520px"/></a>
|
||||
|
||||
## ✨ 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!
|
||||
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
|
||||
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
|
||||
Sharkey implements the Mastodon API unlike normal Misskey
|
||||
- **UI/UX Improvements**\
|
||||
Sharkey makes some UI/UX improvements to make it easier to navigate
|
||||
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.
|
||||
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.
|
||||
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...
|
||||
|
||||
</div>
|
||||
|
@ -51,3 +286,5 @@ With Sharkey, you can enable sign-ups, subject to manual moderator approval and
|
|||
## Documentation
|
||||
|
||||
Sharkey Documentation can be found at [Sharkey Documentation](https://docs.joinsharkey.org/docs/install/fresh/)
|
||||
|
||||
</details>
|
||||
|
|
Loading…
Add table
Reference in a new issue