branderson 651fe4e95e ci: install the Docker CLI and allow a registry host override
The privileged runner's job image has no Docker client, which the login
and build actions need. The registry host can be set with a REGISTRY_HOST
repository variable when the runner reaches Gitea at an internal address.
2026-10-13 23:23:06 -07:00
2026-01-31 17:29:07 +07:00
2026-01-28 19:21:02 +07:00
2026-01-28 19:21:02 +07:00
2026-01-13 10:09:15 +07:00

Dotcom Arcade

Your own Flash-era game portal, powered by Flashpoint Ultimate.

Dotcom Arcade serves a Flashpoint Ultimate collection as a website you'd have played at a friend's house or in the computer lab, with modern UX. It aims to play as much of the archive as possible in any browser: Flash and HTML5 run in the page, and Java, Shockwave and the original Flash Player stream from your server.

The Dotcom Arcade homepage

Note

Dotcom Arcade is an unofficial community project, not affiliated with Flashpoint Archive. It's built on flashpoint-web by darkraise.

Before you start: hosting requirements

Warning

Dotcom Arcade needs a lot of disk, and streaming needs a lot of CPU. Check these before you download anything.

Resource Needed
Storage More than 2.3 TB for Flashpoint Ultimate 14, and growing with each release. 4.6 TB if you keep the downloaded archives to seed them. A spare desktop drive won't do.
Time A day or more to download and extract, depending on your connection and disks.
Server Linux with Docker. 2 CPU cores and 4 GB of RAM serve the site and in-browser games to a household.
Streaming Optional, and heavy: every player gets their own container running the game and encoding its video on the CPU. Plan on roughly 1 to 2 CPU cores and 1 GB of RAM per player streaming at once, and a few Mbps of upload each.
HTTPS Required for streaming, since browsers only allow its video decoder on secure pages. Recommended anyway.

Features

  • Plays almost everything.

    • Flash runs in Ruffle and HTML5 runs natively.
    • Games no browser can run stream from the server into the page, each player in their own container: Java applets, Shockwave and Director games, and Flash games that need the real Flash Player. With streaming on, any Flash game can switch to the original Flash Player.
  • An arcade, not a file browser. A portal-style layout with genre categories and glossy tiles, and color schemes defined as data, so new themes are easy to add.

  • Discovery first. The homepage offers:

    • a Game of the Day;
    • a Time Machine of games released in any week, with a date picker;
    • shelves from Flashpoint's curated playlists;
    • your recently played games.

    Browse lists default to a shuffle, not A to Z.

  • One page per game. It has a click-to-play stage, details and tags, and related games ranked by shared tags, series and developer.

  • Accounts and saves.

    • Multi-user, with roles.
    • Favorites, playlists and play tracking.
    • Game saves follow you between browsers, with the last 10 kept as backups.
  • Sign in through your proxy. Authentik, Authelia, oauth2-proxy and similar forward-auth proxies can sign users in.

  • Mature content filter. Adult and extreme content is hidden unless a user opts in.

A game page Playing a game in the page

Getting started

Check the hosting requirements first.

1. Get Flashpoint Ultimate

Download two files from Flashpoint's downloads page:

  • the Flashpoint Ultimate .torrent file;
  • Flashpoint Infinity for Linux (.7z), whose software streaming needs.

scripts/setup-flashpoint.sh then does the rest:

  • It checks that you have the disk space, and stops before downloading anything if you don't.
  • It downloads the torrent with aria2c.
  • It extracts each archive in turn and deletes it afterwards, so the disk never needs room for both.
  • It pulls the database, settings and playlists out of Base_1.zip, which otherwise only holds Windows software.

Re-run it to resume after an interruption.

sudo apt install aria2 7zip tmux
tmux new -s flashpoint
scripts/setup-flashpoint.sh --torrent FlashpointUltimate14.torrent \
  --infinity fp14.0.3_lin_20251201.7z --seed-ratio 1.0 /srv/flashpoint

Please seed

Flashpoint Ultimate is shared over BitTorrent, and stays available only as long as people seed it. If you can, give back at least what you downloaded:

  • Seed before extracting. --seed-ratio 1.0 keeps seeding after the download until you've uploaded as much as you downloaded. --seed-hours 24 seeds for a day. With both, seeding stops at whichever comes first. This needs no extra disk space, but extraction waits until seeding stops.
  • Seed for the long term. --keep-archives keeps the archives after extracting (about 4.6 TB in total), so a torrent client such as qBittorrent or Transmission can go on seeding the downloads directory.
  • Let peers reach you. The download listens on ports 6881-6999, TCP and UDP. Forwarding them on your router and allowing them through your firewall lets more people download from you.

2. Configure

cp .env.example .env

Set at least these:

FLASHPOINT_HOST_PATH=/srv/flashpoint
JWT_SECRET=<output of: openssl rand -hex 32>
PUID=1000                             # your user, from `id -u` and `id -g`
PGID=1000

3. Start

docker compose up -d --build

Open http://<server>/ and create the admin account. On first start the app indexes the collection, which takes a few minutes on a full Ultimate install. Under Settings → App you can set the site name and tagline.

4. Optional: streaming

Streaming plays the games browsers can't. To turn it on:

  1. Run the setup script with --infinity.

  2. Add to .env:

    COMPOSE_PROFILES=streaming
    STREAMING_API_TOKEN=<output of: openssl rand -hex 32>
    
  3. Rebuild with docker compose up -d --build.

  4. Serve the site over HTTPS. The app proxies streams itself, so your reverse proxy only needs to pass WebSocket upgrades and allow long-lived connections. See the streaming guide.

The session manager starts containers through the Docker socket, which amounts to root on the host. It publishes no ports: only the app talks to it.

Signing in through a reverse proxy

If your site sits behind Authentik, Authelia or another forward-auth proxy, the app can trust the username it passes along. See proxy sign-in.

Updating

git pull
docker compose up -d --build

Documentation

The docs cover features, deployment, configuration, the API and development. Useful starting points:

Credits

  • Flashpoint Archive, for preserving web games and animations, and for the curated playlists the homepage draws on.
  • flashpoint-web by darkraise, which this project is built on.
  • Ruffle, for running Flash in modern browsers.
  • Selkies, which streams the games.

Flashpoint Archive is a preservation project whose legal standing has never been settled. It removes games when their rights holders ask. Dotcom Arcade contains no games and links to no game downloads. You get Flashpoint from Flashpoint's own site, and you are responsible for complying with copyright law where you live. Rights holders who want a game removed should contact Flashpoint Archive.

License

GPL-3.0, like flashpoint-web. See LICENSE.

S
Description
Self-hosted flash game arcade for Flashpoint Ultimate, focused on game discovery, game support coverage, and theming. Not affiliated with the Flashpoint project.
Readme GPL-3.0
47 MiB
Languages
TypeScript 93.8%
JavaScript 3.5%
Shell 1.1%
CSS 0.6%
HTML 0.3%
Other 0.7%