Documentation Version 1.0.80 · September 2026

Hifod: social network platform

Hifod is a complete, self-hosted social network you install on your own server. Members post, share stories and reels, chat, join groups, sell in a marketplace, run fundraisers and pay each other through a built-in wallet. You manage all of it from one admin panel.

This guide is written for site owners, not programmers. Every step tells you what to click or type. If you get stuck, see Troubleshooting or contact support.

The Hifod home feed with stories, posts and trending topics
The home feed in the Classic theme (dark mode).

Main features

Feed and postsText, photos, video, polls, feelings, location, link embeds, reactions, comments, reposts and quotes.
Stories and reels24-hour stories and a full-screen vertical video feed.
Groups, pages and eventsCommunities with members, and events with RSVPs.
MessagesDirect and group chats with photos, voice notes, read receipts and typing indicators.
MarketplaceListings with photos, a map location, offers, reviews and a watchlist.
Jobs and offersJob adverts with an application form, plus discounts and deals.
WalletTop-ups, tips, gifts, withdrawals, and commission for the site owner.
CrowdfundingCampaigns with goals and contributions.
MembershipsPro and Ultra tiers, creator subscriptions and a Premium badge.
Blogs and leaderboardLong-form articles, and member rankings.
Ads and promotionsSelf-serve adverts with an approval queue.
10 payment gatewaysStripe, PayPal, Razorpay, Paystack, Flutterwave, Mercado Pago, Authorize.net, Coinbase Commerce, CoinPayments and bank transfer.
Mobile-first designBottom tab bar, full-screen reels and one-column pages on phones.
Setup wizardLicence, database, admin account and demo content in five steps.
Import toolsBring your members and posts over from Sngine 4.x or WoWonder 4.x.
One-click updatesUpdate from the admin panel. A backup is taken first.
Feed on a phone Marketplace on a phone Reels on a phone Messages on a phone

2.Server requirements

Hifod is a Node.js application (built with Next.js and React). It needs a host that can run Node.js apps. Plain PHP-only shared hosting will not work. Most cPanel hosts that offer "Setup Node.js App" work, and so does any VPS.

ItemMinimumNotes
Node.js20.9 or newerNode 20 LTS or 22 LTS recommended.
DatabaseMySQL 8.0 or MariaDB 10.6+An empty database, plus a user with all privileges on it.
Memory (running)1 GB RAM2 GB or more for busy sites.
Memory (building)4 GB RAMOnly needed if you rebuild the app. The download is already built.
Disk2 GB freeAbout 700 MB is Node packages. Uploads need more space, or use cloud storage.
SSLRecommendedHTTPS is needed for sign-in cookies on most browsers, and by payment gateways.
EmailOptionalAny SMTP account (for sign-up codes and password reset).
BrowsersLatest Chrome, Firefox, Safari, Edge and Opera, on desktop and mobile.

3.What is in the download

Unzip the file you downloaded from CodeCanyon. You will see:

hifod-codecanyon/
├── Main files/
│   └── hifod/            ← the application (upload this)
│       ├── app/  components/  lib/  themes/  public/  scripts/
│       ├── .next/        ← the ready-built app
│       ├── .env.example  ← settings template
│       ├── server.js     ← startup file for cPanel
│       └── package.json
├── Documentation/
│   └── index.html        ← this guide
└── Licensing/
    └── credits.txt       ← third-party licences

Only the hifod folder goes on your server.

4.Install on cPanel (about 20 minutes)

Use this route if your cPanel has Software → Setup Node.js App. You don't need a terminal, and nothing has to be built on the server.

Before you start: install Hifod on an empty domain or subdomain. If public_html already has another site (WordPress, etc.), use a subdomain such as social.yourdomain.com.
  1. Create the database. Go to cPanel → MySQL Databases. Create a database and a user, then add the user to the database with All Privileges. Write down the database name, username and password.
  2. Upload the files. Open File Manager. In your home folder (not inside public_html), create a folder, for example hifod. Zip the contents of Main files/hifod on your computer, upload the zip into that folder, then right-click it and choose Extract.
    Turn on Settings → Show Hidden Files in File Manager. Then check that .next and .env.example are in the folder.
  3. Create the Node.js app. Go to Setup Node.js App → Create Application:
    Node.js version20 or newer
    Application modeProduction
    Application roothifod (the folder from step 2)
    Application URLyour domain or subdomain
    Application startup fileserver.js
    Click Create.
  4. Install the packages. On the same app page, click Run NPM Install. Wait until it finishes. It usually takes 2–4 minutes.
  5. Start the app. Click Restart, then open your domain in a browser.
  6. Run the setup wizard. The wizard opens by itself. Follow section 6. It asks for your purchase code and your database details, then creates your admin account.
If the domain shows a web page from another app, or a 404: cPanel can place an .htaccess file in the domain's document root that belongs to another app. Remove other apps' rewrite rules from that file. The lines Passenger adds for Hifod must stay.

5.Install on a VPS (Ubuntu, Nginx, PM2)

Use this route on your own server (DigitalOcean, Hetzner, AWS, etc.) or on any panel without a Node.js app screen. The commands are for Ubuntu 22.04/24.04.

5.1 Install Node.js, MySQL and Nginx

curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install -y nodejs mysql-server nginx unzip
sudo npm install -g pm2

5.2 Create the database

sudo mysql
CREATE DATABASE hifod CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
CREATE USER 'hifod'@'localhost' IDENTIFIED BY 'choose-a-strong-password';
GRANT ALL ON hifod.* TO 'hifod'@'localhost';
FLUSH PRIVILEGES;
EXIT;

5.3 Upload and start the app

# upload the hifod folder to /var/www/hifod, then:
cd /var/www/hifod
npm install
pm2 start server.js --name hifod     # listens on port 3000
pm2 save && pm2 startup
You can enter the database details in the setup wizard, and it writes them to .env for you. You can also do it yourself first: cp .env.example .env, edit it, then run npm run db:setup to create the tables.

5.4 Point your domain at it (Nginx)

Create /etc/nginx/sites-available/hifod:

server {
    listen 80;
    server_name yourdomain.com;
    client_max_body_size 200M;

    location / {
        proxy_pass http://127.0.0.1:3000;
        proxy_http_version 1.1;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}
sudo ln -s /etc/nginx/sites-available/hifod /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx
sudo apt install -y certbot python3-certbot-nginx
sudo certbot --nginx -d yourdomain.com      # free SSL

Open your domain. The setup wizard appears.

CyberPanel, aaPanel, Plesk: the idea is the same. Upload the folder outside the web root, run npm install, start server.js with PM2, and add a reverse proxy from your domain to 127.0.0.1:3000.

6.The setup wizard

The first time you open the site, the wizard opens. It has five steps. You can go back to any finished step.

Step 1: Licence

Paste your Envato purchase code. You can find it on CodeCanyon under Downloads → Hifod → Download → License certificate & purchase code. The code is linked to the domain you install on (see section 16).

Wizard step 1: purchase code

Step 2: Database

Enter the host (usually localhost), port (3306), database name, user and password from step 1. The wizard tests the connection, saves the details to .env and creates the tables. If the connection fails, nothing is saved.

Wizard step 2: database details

Step 3: Site and admin details

Choose the site name, the email address outgoing mail is sent from (optional), and your admin account. Leave Install demo content ticked if you want sample members and posts to explore. Untick it for a clean site.

Wizard step 3: site and admin account

Step 4: Checks and install

The wizard checks Node.js, folder permissions, email, the database and the licence, then installs. Email is optional. Without it, the site shows sign-up codes on screen.

Wizard step 4: automatic checks

Step 5: Done

You are signed in as the administrator and taken to your new site. The wizard locks itself after this, so nobody can run it again.

Wizard step 5: installation complete

7.First steps after install

Open the admin panel from your avatar menu, or go to yourdomain.com/admin.

Admin dashboard
The admin dashboard.
  1. Settings → General: site name, logo, tagline, date format, distance unit and currency.
  2. Settings → Email: add your SMTP details and send a test (details).
  3. Tools → Static pages: replace the sample Terms, Privacy and About text with your own.
  4. Plugins → Installed: switch off any features you don't want.
  5. Money → Payments and gateways: connect at least one gateway if you want to take payments (details).
  6. Settings → Registration: choose who can join and how accounts are confirmed.
  7. If you installed demo content, remove the sample members from Users → All users before launch.

8.Configuration (.env)

Server settings live in the .env file in the app folder. The wizard writes the database lines for you. Everything else is set in the admin panel. After you edit .env, restart the app.

VariableWhat it does
DB_HOSTDatabase server, usually localhostrequired
DB_PORTDatabase port, usually 3306required
DB_NAMEDatabase namerequired
DB_USERDatabase userrequired
DB_PASSWORDThat user's password (DB_PASS also works)required
SESSION_SECRETSigns sign-in cookies. If empty, a random key is created on first start and saved in data/.session-secret.optional
DB_POOLOpen database connections (default 10)optional
SMTP_HOSTMail server. The other mail settings are in Admin → Settings → Email.optional
MAIL_FROMThe address mail is sent fromoptional
PORTPort the app listens on (default 3000). cPanel sets this for you.optional
Keep .env private. It holds your database password. Never put it inside public_html.

9.Admin settings

All settings are under Admin → Settings. Each page has tabs, and each tab has its own Save button.

General settings
PageWhat you set there
GeneralSite name, system email, tagline, logo, site address, date format, distance unit, currency, SEO, and which modules and features are on.
PostsPost and comment length, posting rate limits, default privacy, feed source, stories, moderation, translation test.
RegistrationOpen or invite-only sign-up, email or SMS confirmation, approval of new members, minimum age, accounts per IP, invitations, blocked email providers.
AccountsUsername changes, account deletion, strong passwords, follow limits, session length, social login, privacy defaults.
EmailSMTP server, which emails are sent, and a test button.
SMSTwilio, BulkSMS, Infobip or Msg91, with a daily limit.
NotificationsOn-site, email, web app, messaging apps (Telegram, WhatsApp) and push (OneSignal).
ChatMessaging on/off, photos, voice notes, group chats, typing and read indicators, audio and video calls.
Live streamingLive video through Agora, recording and maximum length.
UploadsFile size limits, allowed types, video length, watermark, cloud storage, image moderation.
SecurityLogin lockout, new-device alerts, two-factor authentication, captcha, blocked words and names.
LimitsResults per page for each part of the site.
AnalyticsGoogle Analytics or Tag Manager ID, or any tracking snippet.

Email

Go to Settings → Email. Enter the SMTP host, port, encryption, username, password, and the "from" name and address. Save, then click Send a test. Common hosts: Gmail smtp.gmail.com (needs an app password), Outlook smtp-mail.outlook.com, SendGrid smtp.sendgrid.net, or your host's own mail server.

Until email works, new members see their confirmation code on screen instead, so sign-up still works.
Email settings

Uploads and cloud storage

By default, uploads are saved in the data/uploads folder on your server. To store them in the cloud instead, open Settings → Uploads → Cloud storage and choose Amazon S3, Cloudflare R2, DigitalOcean Spaces, Wasabi or Backblaze B2. Then enter the bucket, region, access key, secret key and (except for Amazon S3) the endpoint.

Cloud storage settings

Social login

In Settings → Accounts → Social login, add a client ID and secret for Google, Facebook, X (Twitter) or GitHub. When the provider asks for a callback (redirect) URL, use:

https://yourdomain.com/social/google
https://yourdomain.com/social/facebook
https://yourdomain.com/social/twitter
https://yourdomain.com/social/github

SMS, push notifications and live video

  • SMS (Settings → SMS): choose a provider and paste its keys. SMS is used for phone confirmation and two-factor codes.
  • Push (Settings → Notifications → Push): paste your OneSignal App ID and REST API key from app.onesignal.com.
  • Telegram and WhatsApp (Settings → Notifications → Messaging apps): paste a Telegram bot token, or a WhatsApp phone number ID and access token.
  • Live streaming (Settings → Live streaming): paste your Agora App ID and App certificate. Add the Customer ID and certificate if you want recordings.
  • Audio and video calls (Settings → Chat → Audio & video calls): choose a provider and paste its keys.

Each of these services is optional and bills you directly. Hifod works without them.

Security

In Settings → Security you can lock accounts after failed logins, email members when a new device signs in, and turn on two-factor authentication (email, SMS or an authenticator app). The Captcha tab supports Cloudflare Turnstile, Google reCAPTCHA and hCaptcha on sign-up and login.

Security settings

10.Payments and money

Money moves through the member wallet. Members top up with a gateway, then spend on memberships, tips, gifts, adverts, marketplace items and campaigns. The site owner can keep a percentage as commission.

Payment gateway settings

Set up a gateway

  1. Open Admin → Money → Payments and gateways → Payment gateways.
  2. Choose a tab: Stripe, PayPal, Other gateways, Crypto or Bank transfer.
  3. Turn the gateway on, paste its keys, and click Save. Start in Test/Sandbox mode, make a test payment, then switch to Live.
  4. In the gateway's own dashboard, add the webhook URL below. Payments are credited only when the gateway confirms them through this URL.
GatewayKeys neededWebhook / callback URL
StripePublishable key, secret key, webhook signing secret/api/payments/webhook/stripe
PayPalClient ID, client secret, webhook IDHandled on return (/api/payments/paypal/capture)
RazorpayKey ID, key secret/api/payments/webhook/razorpay
PaystackSecret key/api/payments/webhook/paystack
FlutterwavePublic key, secret key/api/payments/webhook/flutterwave
Mercado PagoPublic key, access token/api/payments/webhook/mercadopago
Authorize.netAPI login ID, transaction key, signature key/api/payments/webhook/authorizeNet
Coinbase CommerceAPI key, webhook secret/api/payments/webhook/coinbase
CoinPaymentsMerchant ID, IPN secret/api/payments/webhook/coinpayments
Bank transferYour bank detailsNone. You approve receipts by hand.

Put your domain in front of each path, for example https://yourdomain.com/api/payments/webhook/stripe.

Fees, currency and withdrawals

  • Payments → Settings: commission percentage, VAT, currency, and minimum/maximum top-up and withdrawal.
  • Withdrawals: members request a payout from their wallet. You approve and pay it (PayPal Payouts can do this automatically), and the request appears under Needs attention → Withdrawals.
  • Earnings shows the commission you have made. Wallet shows every balance and transaction.
You need your own merchant account with each gateway, and you are responsible for the laws and tax rules where you operate.

11.Features guide

Feed, posts and stories

Members post from the composer at the top of the feed. They can add photos, video, a poll, a feeling, a location or a background colour. Links from YouTube, Instagram, Facebook and TikTok show as embeds. The feed has For you, Following, Mutuals, Posts, Favorites and Saved tabs. Stories sit above the feed and disappear after 24 hours.

Reels

A full-screen vertical video feed with likes, comments, shares and follow. Length limits are set in Settings → Uploads → Video length.

Reels

Groups, pages and events

Members create groups (people talking together) and pages (a brand or public figure) from Groups and Pages. Categories are managed in Admin → Modules. Events have a date, a place or an online link, and RSVPs.

Groups

Messages

One-to-one and group conversations with photos, video and voice notes. Members can accept or ignore message requests from people they don't follow.

Marketplace

Members list items, vehicles or property with photos and a location picked on a map. Buyers can message the seller, make an offer and save items to a watchlist. Sellers mark an item sold and choose the buyer, who can then leave a review. In Admin → Modules → Marketplace you manage categories, price limits, approval of new listings, and the banner.

Marketplace

Jobs and offers

Jobs: members post roles with salary and type, and candidates apply with a form. Offers: businesses post discounts such as percent off, money off, or buy X get Y.

Crowdfunding

Members start campaigns with a goal. Supporters contribute from their wallet, and progress is shown on each card.

Crowdfunding

Wallet, tips and gifts

Each member has a wallet page with a balance, top-up, withdraw, and a history. Members can tip each other or send gifts. Gifts are managed in Admin → Modules → Gifts.

Wallet

Memberships and creator subscriptions

Go Pro offers paid tiers (Pro and Ultra) with benefits you choose, such as messaging anyone, reaching everyone with stories, badges, no adverts and priority support. Prices and benefits are set in Admin → Money → Memberships. Creators can also charge a monthly subscription for their content.

Go Pro page

Leaderboard, badges and blogs

The leaderboard ranks members by followers, engagement and posts. Badges are created in Admin → Modules → Badges and shown next to names. Blogs let members publish long articles in categories.

Leaderboard

Adverts and promotions

Members create adverts and pay from their wallet. You can require approval before an advert runs (Admin → Money → Adverts).

Moderation

Reported posts, members and listings appear under Needs attention → Reports. Verification requests and pending sign-ups are under Approvals. Admins can delete any post, reel or listing while browsing the site.

Translate

A Translate button on posts and comments shows them in the reader's language. You can test the translation services in Settings → Posts, and turn the feature off in Plugins.

12.Admin panel map

MenuPages
OverviewDashboard, Update
Needs attentionSupport tickets, Withdrawals, Reports, Approvals
SettingsGeneral, Posts, Registration, Accounts, Email, SMS, Notifications, Chat, Live streaming, Uploads, Security, Limits, Analytics
PluginsInstalled (turn features on or off)
AppearanceThemes, Sidebar widgets
UsersAll users, User groups (roles and permissions)
ModulesMarketplace, Jobs, Offers, Blogs, Pages, Groups, Events, Funding, Tips, Gifts, Badges
MoneyPayments and gateways, Currency, Earnings, Adverts, Wallet, Memberships, Creator subscriptions
ToolsBackup and logs, Transfer scripts, Static pages
ReachAnnouncements, Newsletter
Plugins page
Plugins: switching one off hides it everywhere without deleting anything.
Users page

13.Moving from Sngine or WoWonder

If you already run a community on Sngine 4.x or WoWonder 4.x, Admin → Tools → Transfer scripts moves your members, their posts and their photos to Hifod.

  1. Export the old site's database as a .sql file (phpMyAdmin → Export, or mysqldump).
  2. Choose the file, and enter the old site's web address so the photos can be found.
  3. Click Start the transfer. A backup of the current Hifod data is written first. Large files are sent in small pieces, so upload limits don't matter.
  4. Step two copies the photos and videos to your server or cloud storage. Links that can't be reached can then be removed with Remove old-site links.
Transfer scripts page
Members' passwords are carried over where the old script's format allows it. Otherwise members use "Forgot password" once.

14.Themes and customization

Hifod comes with the Classic theme in light and dark mode. Members switch mode from Modes in the side menu. In Admin → Appearance → Themes you choose the default theme and which themes members may pick.

Themes page

Change the logo, name and colours

Upload your logo and set the site name in Settings → General. Most colours are CSS variables in app/globals.css. Change them there, then rebuild (see below).

Make your own theme

A theme is a folder in themes/ with a theme.json, an index.ts that lists the parts it replaces, and an optional theme.css. A theme can replace any of these parts: Shell, Header, LeftMenu, RightRail, Footer, PostCard, Composer, Avatar, Button, whole pages, and the Loading and Empty states. Anything a theme leaves out falls back to Classic, so even a half-finished theme gives a working site. See themes/README.md and lib/theme-registry.ts.

Rebuilding after code changes

The download is already built. You only need to rebuild if you change code or CSS, or add a theme. Do this on a computer or VPS with at least 4 GB of RAM:

npm install
npm run build          # or: npm run build:light  (uses less memory)

Then upload the new .next folder and restart the app.

Some shared hosts cannot run the build because their system libraries are too old. If the build fails on your host, build on your own computer and upload the .next folder.

15.Updating

Admin → Overview → Update shows your version and the latest one. Click Update now. A backup is taken first, and your database, uploads, settings and .env are never touched. When it finishes, restart the app (cPanel: Restart, VPS: pm2 restart hifod).

Update page

Manual update

  1. Download the new version from CodeCanyon.
  2. Back up your database and the data folder.
  3. Upload the new files over the old ones. Keep .env, install.json and data/.
  4. Run NPM Install (cPanel) or npm install (VPS), then restart the app.

16.Licence activation

  • Your purchase code activates Hifod on one domain. The Envato Regular and Extended licences each cover one end product.
  • The app checks the licence in the background. If the licence server can't be reached, your site keeps working.
  • To see or replace the key, open Admin → Update → Licence.
  • If you need to move to a new domain, contact support with your purchase code.

17.Troubleshooting

ProblemWhat to do
cPanel shows 503 or "Incomplete response"The app isn't running. Click Run NPM Install, then Restart. Check that the startup file is server.js and that .next was uploaded (turn on hidden files). The app's error log is in the application root as stderr.log.
The wizard says the database connection failedCheck the name, user and password. On cPanel, names usually have your account prefix, for example cpuser_hifod. Make sure the user was added to the database with All Privileges.
"We could not verify that purchase code"Copy the code again from your Downloads page. The code is 36 characters long and contains dashes. Each code works on one domain.
Can't stay signed inUse HTTPS. If you are behind a proxy, make sure it passes the Host and X-Forwarded-Proto headers (see the Nginx example).
Uploads fail or images don't showMake sure the data folder is writable (755). Raise the upload limit in Nginx (client_max_body_size) or ask your host. Also check the limits in Settings → Uploads.
Sign-up codes never arriveSet up SMTP in Settings → Email and send a test. Check your spam folder. Until mail works, codes are shown on screen.
The build runs out of memoryUse npm run build:light, add swap space, or build on another computer. See section 14.
Changes don't showPress Ctrl+Shift+R (Cmd+Shift+R on Mac) to reload. If you changed code, rebuild and restart the app.
Payments are not creditedCheck the webhook URL and secret in the gateway's dashboard (section 10). Test mode and live mode use different keys.

18.Known limitations

  • English only. The interface is in English. The Translate feature translates what members post, not the site's own menus and labels.
  • Node.js hosting is required. Hifod doesn't run on PHP-only shared hosting.
  • Code changes need a rebuild. Settings changed in the admin panel apply straight away. Changes to code, CSS or themes need a rebuild (section 14).
  • External services are paid separately. SMTP, SMS, push, live video and cloud storage are billed by those providers.
  • No native mobile app. The site works in mobile browsers and can be added to the home screen.

19.Credits and licences

Hifod is built with these open-source projects. Their licences allow commercial use, and the full texts are in each package inside node_modules after npm install.

ProjectLicence
Next.js, React, React DOMMIT
Tailwind CSSMIT
Lucide icons (lucide-react)ISC
Material Symbols (Google Fonts)Apache 2.0
Fonts: Figtree, Gabarito, Sora, DM Sans (Google Fonts)SIL Open Font License 1.1
Drizzle ORMApache 2.0
mysql2, lowdb, nanoid, clsx, date-fns, adm-zip, emoji-picker-react, mp4-muxer, Stripe NodeMIT
NodemailerMIT-0
bcryptjs, mp4box.jsBSD-3-Clause
AWS SDK for JavaScriptApache 2.0
Map tiles and place search: OpenStreetMap, NominatimData © OpenStreetMap contributors, ODbL. The map shows this credit. Busy sites should follow the OpenStreetMap tile usage policy.

Images: the demo content uses generated colour avatars and no photos of real people. The images shown in the screenshots are for preview only and are not included unless they are listed in Licensing/credits.txt.

20.Support

Email support@hifod.com, or use the Support tab on the CodeCanyon item page. Please include your purchase code, your domain, and what you were doing when the problem happened. A screenshot helps.

Support follows the Envato Item Support Policy. It covers:

  • Help with bugs and problems in Hifod.
  • Questions about how features work.
  • Help with the included installation steps.

It does not cover:

  • Custom changes.
  • Server administration.
  • Third-party services.

Live demo: demo.hi24.co.uk

21.Changelog

1.0.80 (September 2026)

  • First CodeCanyon release.
  • Emails are no longer sent to made-up or mistyped addresses, or to the shared demo account.
  • Posts with a colour background now show their text on the colour.
  • Each install now signs its sign-in cookies with its own random key.
  • Footer links to Terms, Privacy and About now open the right pages.
  • Renamed the built-in theme to "Classic".
  • You can now paste an Envato purchase code on the Update page.