POLISH PRIDE — COMPLETE INTELLIBIT HOSTING PACKAGE
Target: https://intellibit.com/polish-pride/
Export: 10 November 2026 · Polish Pride published version 33

QUICK INSTALL ON HOSTINGER
1. Download this ZIP. In Hostinger, open the File Manager for intellibit.com.
2. Open public_html. Upload this ZIP there and use Extract. The ZIP creates a
   folder named polish-pride. The result must be:
       public_html/polish-pride/index.php
   Do not move its files into public_html itself. Do not replace the main
   IntelliBit index file, WordPress files, or existing family pages.
3. In the hosting PHP settings, select PHP 8.3 (8.2 or newer also supported).
   Enable PDO SQLite (pdo_sqlite), SQLite, SimpleXML/XML, cURL, and mbstring.
   Allow file uploads. Set upload_max_filesize to at least 8M and
   post_max_size to at least 10M. No Node.js service or MySQL setup is needed.
4. Include hidden files when extracting: the polish-pride/.htaccess file is
   required for page URLs and protection of private files.
5. Open https://intellibit.com/polish-pride/api/health
   It should report ok:true, sqlite:true and uploads:true. The database and
   writable storage are created automatically. The normal storage location
   is beside public_html, in polish-pride-data. If that cannot be created,
   the site uses a protected private/data folder inside polish-pride.
6. Open https://intellibit.com/polish-pride/ and test the EN/PL switch,
   Bydgoszcz or Cracow, the map, music and the Matejko living flag painting.
   Try uploading a photograph and submitting a recipe.

IF WORDPRESS SHOWS ITS OWN 404 PAGE
Keep the root public_html/.htaccess intact. Add the following exclusion ABOVE
its WordPress rules (not inside the automatically managed WordPress block):

    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteRule ^polish-pride(?:/|$) - [L]
    </IfModule>

This tells the main site to leave this subfolder to its own routing rules.
The ZIP never replaces the main site's .htaccess.

IF YOU SEE HTTP 500 OR SERVICE UNAVAILABLE
Check the hosting error log, PHP version, pdo_sqlite extension, and permissions
on the data directory. Normal files: 644. Folders: 755; the owner-writable
private data folder may use 770. Do not make folders world-writable (777).
You may choose an absolute writable folder in polish-pride/config.php using
its data_dir setting, or set POLISH_PRIDE_DATA in the hosting environment.
The data folder should be outside public_html when possible.

WHAT IS INCLUDED
* All 19 routes in both languages: 38 pre-rendered page versions, enhanced
  by the original React interactions. Works without a JavaScript server.
* All published display images, maps, artwork, credits, local fonts, MIDI
  files, anthem/bugle audio and the IntelliBit brain animation.
* The latest Pieśń o fladze: girl gripping the lower pole, richly painted
  white-over-red flag waving beyond the frame, 60-second reveal, pause/replay.
* Photo uploads, voting, weekly winners, recipe submissions/voting, image
  enlargement, music/piano roll, language switching, folding sections,
  proverbs, news ribbon, major-news detection and visitor counters.
* The aggregate page-view counts available at export time. New views on the
  original Sites publication after the export are not synchronized.
* Complete editable frontend and PHP backend source and the original Sites
  source, in polish-pride/private/source-code.zip. A second source download
  is available through the site's existing "PHP source" footer link.

EXISTING COMMUNITY DATA
The current Sites publication's visitor-submitted photos, recipes and voting
records are NOT included. Automatic approval review blocked copying those
entries because it classified them as private community data. The exported
community services start empty and are fully functional for new submissions.
The existing entries remain on the original Sites publication.

INTERNET DEPENDENCIES
The site itself, its display pictures, music synthesis/MIDI and local audio
are bundled. YouTube performances remain streamed embeds, not video files.
Live news, reported sports results and Warsaw weather require outbound HTTPS
on your hosting. Their providers may occasionally be unavailable; the site
shows its existing unavailable/no-fresh-items messages. Sources and museum
links still open their original external websites. Items expire after 24h.
All display-image copies are included. Where the original image host limited
archival downloads, the image viewer uses the bundled display copy. Extra
larger viewing copies were included when retrievable; source links remain.

NORMAL OPERATION AND BACKUPS
Weekly winners are calculated automatically on gallery/recipe requests;
there is no required weekly cron job. The server caches live bulletins for
five minutes. Optionally run this every five minutes in Hostinger cron:
    php /FULL/PATH/TO/public_html/polish-pride/cron.php
Replace the placeholder with the account's real absolute path.
Back up polish-pride-data (SQLite file, uploads and cache) along with the
website folder. Never overwrite the live database with private/seed.sqlite
on an upgrade; the application only imports that initial seed if no database
exists. Keep backups and source/private folders out of public access.

SOURCE REBUILD (OPTIONAL; NOT NEEDED FOR INSTALLATION)
Extract private/source-code.zip on a development computer. Read its README.
Use Node.js 24+, npm install in source/frontend, then npm run build.
PP_UPLOAD_DIR may point to your local copy of the complete polish-pride
folder. Builds preserve artwork/audio already there and regenerate the app
bundle, pre-rendered page versions, PHP files and sitemap.

LIMITS PRESERVED FROM THE EXISTING SITE
The IntelliBit member registration/configuration integration was not connected
in the published site and remains unconnected here; section folding works.
The poem has the published excerpt and a link to its complete source text.
This is an export for upload, not an installation on your hosting account.
