* Update * Update * Update * Update * Small fix * Update * Update * Update - Added link testing section. * Update - Finish merging info from discord channel. * Update * Finishing touches * Update GH instructions * Update Codespace instructions * Tweak wording * Clarify * Update * Update banned sites list * Update
3.4 KiB
title | description |
---|---|
Selfhosting FMHY | This guide will help you set up and run your own instance of FMHY locally. |
Selfhosting
:::warning Do note that you must differentiate your instance from the official site (fmhy.net) to avoid confusion. Steps to do so are given below. :::
This guide will help you set up and run your own instance of FMHY locally.
Docker (Experimental)
To run a local instance, you will need to install Docker and Docker Compose.
After installing both, run the following commands:
git clone https://github.com/fmhy/edit.git
cd edit
sudo docker compose up --build
It might take a few minutes to build the image and start the container, running at port 4173.
Nix Flake
You can use nix to set up a development environment, we have a flake that setups nodejs
and pnpm
.
- Fork the repository and clone it to your local machine with
git clone https://github.com/fmhy/edit.git
. - Run
nix flake update
to update the flake lock file. - Run
nix develop
to enter the development environment. - Make your changes.
- Exit the development environment by running
exit
.
Manually
You will need to install the following:
- Git
- Node.js - Use latest available LTS release.
- pnpm 9.12.2+
Step 1: Clone the Repository
git clone https://github.com/fmhy/edit.git
cd edit
Step 2: Install Dependencies
Install project dependencies using pnpm:
pnpm install
Step 3: Development Mode
To run the project in development mode:
# Start the documentation site in dev mode
pnpm docs:dev
# Start the API in dev mode (if needed)
pnpm api:dev
The development server will start at http://localhost:5173
by default.
Step 4: Building for Production
You will need to update:
meta
: Constant indocs/.vitepress/constants.ts
name
: Name of your instancehostname
: Your domaindescription
: Description of your instancetags
: Opengraph tagsbuild
: Build options (can be configured with Environment Variables)
docs/index.md
title
description
hero.name
hero.tagline
To build the project for production:
# Build the documentation site
pnpm docs:build
# Build the API (if needed) using the Node.js preset
NITRO_PRESET=node pnpm api:build
Step 5: Preview Production Build
To preview the production build locally:
# Preview the documentation site
pnpm docs:preview
# Preview the API (if needed)
pnpm api:preview
Step 6: Deploy
See the VitePress deployment guide for more info.
Environment Variables
There are a few variables you can change if you wish to disable them:
FMHY_BUILD_NSFW
- NSFW sidebar entry (experimental)FMHY_BUILD_API
- API component for feedback system.
Troubleshooting
- If you encounter Node.js version issues, ensure you're using Node.js 21+
- For pnpm-related issues, ensure you're using pnpm 9+
- If you encounter build issues, try clearing cache:
# Linux rm -rf docs/.vitepress/cache # PowerShell rm -r -fo docs/.vitepress/cache