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
20 lines
747 B
Docker
20 lines
747 B
Docker
# Mineflappy — Minecraft Flappy Bird
|
|
# A single static page served by nginx. No build step, no Node runtime.
|
|
FROM nginx:1.27-alpine
|
|
|
|
LABEL org.opencontainers.image.title="Mineflappy" \
|
|
org.opencontainers.image.description="Minecraft Flappy Bird - single file static game" \
|
|
org.opencontainers.image.licenses="MIT"
|
|
|
|
# Replace nginx's placeholder page with the game
|
|
RUN rm -f /usr/share/nginx/html/index.html
|
|
COPY index.html /usr/share/nginx/html/index.html
|
|
COPY nginx.conf /etc/nginx/conf.d/default.conf
|
|
|
|
EXPOSE 80
|
|
|
|
# Coolify/Traefik use this to decide the container is live
|
|
HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \
|
|
CMD wget -q --spider http://127.0.0.1/ || exit 1
|
|
|
|
CMD ["nginx", "-g", "daemon off;"]
|