Single-file HTML5 canvas game - sprites, bitmap font, music and sound are all generated in code, no external assets. Game: - 6 playable birds, each with a unique ability (Double Flap, Teleport, Allay Magnet, Melt, Phase, Howl) - 5 score-driven biomes (Plains, Desert, Mineshaft, Nether, Ice Peaks) - Day/night cycle, weather (rain, snow, embers), camera drift - Pickups: gold, bubble shield, elytra wings, lucky cube buffs - Difficulty settings, bird unlocks, per-bird bests, advancement toasts - Daily challenge with a shareable code and a ghost of your best run - 2-player on one screen Deployment: - Dockerfile (nginx:alpine) serving the single file - nginx.conf with no-cache headers, gzip and a /healthz endpoint - docker-compose.yml and Coolify instructions in the README |
||
|---|---|---|
| .dockerignore | ||
| .gitignore | ||
| docker-compose.yml | ||
| Dockerfile | ||
| index.html | ||
| nginx.conf | ||
| README.md | ||
Mineflappy
Minecraft Flappy Bird — a single-file HTML5 canvas game. No build step, no dependencies, no assets. Everything (sprites, font, music, sound) is generated in code.
open index.html # that's it - it runs straight from the filesystem
Deploy to Coolify
Option A - Dockerfile (recommended)
The repo ships a Dockerfile that serves the game with nginx.
- In Coolify: New Resource → Application → Public/Private Repository
- Repository URL:
http://forgejo-b82b4lpyyzyg40thdsjdd38i.163.245.214.68.sslip.io/David/MINEFLAPPY-GAME.git- Branch:
main - Build Pack: Dockerfile
- Branch:
- Dockerfile Location:
/Dockerfile(default is fine) - Port:
80 - Health Check Path:
/healthz - Hit Deploy.
- Add a domain: Settings → Domains → Add Domain - e.g.
game.yourdomain.com- Tick Force HTTPS and let Coolify/Traefik issue the Let's Encrypt cert.
- Coolify routes the domain to the container's port 80 automatically.
Push a new commit and Coolify rebuilds and redeploys it.
Option B - Static Site (no Dockerfile)
If you'd rather not run a container:
- New Resource → Static Site with the same repo
- Build Command:
echo "static"(there is nothing to build) - Root Directory:
/ - Deploy, then attach a domain as above.
Option C - docker compose
A docker-compose.yml is included if you deploy by compose instead:
docker compose up -d --build
# game is on http://localhost:8080
Run it locally with Docker
docker build -t mineflappy .
docker run --rm -p 8080:80 mineflappy
# open http://localhost:8080
Layout
| File | What it is |
|---|---|
index.html |
The entire game - markup, CSS and JS in one file |
Dockerfile |
nginx:alpine image that serves index.html |
nginx.conf |
Server config: no-cache on the game, gzip, /healthz |
docker-compose.yml |
Optional compose deployment |
The game
Six birds, each with one ability:
| Bird | Ability | Effect |
|---|---|---|
| Chicken | Double Flap | Every 4th flap is 34% stronger |
| Enderman | Teleport | Blink 70px forward (refused if a pipe is in the way) |
| Allay | Allay Magnet | Nearby gems fly to you |
| Blaze | Melt | Burns away the next pipe, widening its gap |
| Phantom | Phase | Fly through anything for 1.2s |
| Wolf | Howl | Slows the whole game to 55% for 2s |
Also in: five biomes that change with your score (Plains → Desert → Mineshaft → Nether → Ice Peaks), a day/night cycle, weather, gold/bubble/wings/lucky-cube pickups, difficulty settings, bird unlocks, per-bird best scores, a daily challenge with a shareable code, a ghost of your best run, and 2-player on one screen.
Controls - Space / W / ↑ / tap to flap, F to use your ability,
P to pause, C on the game-over screen to change bird. In 2-player mode
Space is player 1 and ↑ is player 2.
Progress is stored in localStorage under mineflappy_v2.