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:bash
# Linux rm -rf docs/.vitepress/cache # PowerShell rm -r -fo docs/.vitepress/cache