irelephant/kittygram
6
118
Fork
You've already forked kittygram
9
A nitter-like frontend for instagram
  • Lua 72%
  • HTML 15.6%
  • CSS 9%
  • Dockerfile 0.8%
  • YAML 0.7%
  • Other 1.9%
irelephant cb587181f0
All checks were successful
Build and Push Docker Image / build (push) Successful in 2m46s
Merge branch 'main' of codeberg.org:irelephant/kittygram
2026年07月06日 21:40:12 +01:00
.forgejo/workflows Add lfs to docker.yml 2026年04月18日 12:57:37 +02:00
cmd Add developer api; fix comments query id; add slight padding under each individual comment 2026年06月07日 21:08:24 +01:00
conf Add highlights tray to users. 2026年07月06日 21:35:20 +01:00
docs/assets Fix cover image in README 2026年04月18日 20:14:48 +02:00
i18n Add highlights tray to users. 2026年07月06日 21:35:20 +01:00
lib Add highlights tray to users. 2026年07月06日 21:35:20 +01:00
models Add database-backed search; refactor user fetching and ids 2026年06月23日 10:59:48 +01:00
static Refactor comments; add comments pagination; remove the web post_fetch_mode 2026年07月05日 20:27:15 +01:00
views Add highlights tray to users. 2026年07月06日 21:35:20 +01:00
.dockerignore Add sqlite files to dockerignore 2026年06月23日 11:55:30 +01:00
.editorconfig Some fixes; change query for user_info 2026年06月23日 14:18:45 +01:00
.gitattributes Fix broken Podman network (using native Podman DNS) 2026年06月13日 18:01:16 +00:00
.gitignore Add sessions.jsonl to gitignore 2026年05月24日 17:49:02 +01:00
app.lua Add highlights tray to users. 2026年07月06日 21:35:20 +01:00
CLAUDE.md Add CLAUDE.md 2026年01月18日 00:17:24 +01:00
compose.yaml Remove default resolver; change lua-ut8 import 2026年06月23日 11:52:14 +01:00
config.example.lua Refactor comments; add comments pagination; remove the web post_fetch_mode 2026年07月05日 20:27:15 +01:00
Dockerfile Remove default resolver; change lua-ut8 import 2026年06月23日 11:52:14 +01:00
instances.json add kg.meowing.de instance 2026年04月23日 20:27:01 +02:00
kittygram-dev-1.rockspec Remove default resolver; change lua-ut8 import 2026年06月23日 11:52:14 +01:00
LICENSE Merge branch 'main' of codeberg.org:irelephant/kittygram 2025年11月16日 19:20:48 +00:00
migrations.lua Add database-backed search; refactor user fetching and ids 2026年06月23日 10:59:48 +01:00
mime.types first commit 2025年08月13日 22:05:10 +01:00
models.lua first commit 2025年08月13日 22:05:10 +01:00
nginx.example.conf Some fixes; change query for user_info 2026年06月23日 14:18:45 +01:00
README.md update readme 2026年07月05日 21:51:48 +02:00
version.lua Add alternate instance urls, add thousand separators to numbers, fix explore; add version numbers to error pages. 2026年06月26日 14:00:45 +01:00

Kittygram

Kittygram

Kittygram is an anonymous, privacy-friendly, lightweight, and open-source Instagram frontend inspired by Nitter. It offers a clean, fast way to browse Instagram without the usual clutter or tracking.

Table of contents

Why Kittygram?

The official Instagram web interface is heavy on JavaScript, slow to load, and filled with pop-ups. Kittygram avoids all of that by serving fully prerendered pages, making it faster and easier to use.

Kittygram also helps you avoid the heavy tracking Instagram does, as all requests are handled by Kittygram.

Limitations

  • Instagram aggressively rate-limits requests coming from servers, which can make running a public instance difficult.
  • Some features (such as stories) are not yet viewable.

Instances

Instance link: Operated by: Notes:
https://kittygram.irelephant.net Irelephant Creator of Kittygram.
https://kittygr.am FSKY
https://kittygram.kareem.one Kareem Cloudflare.
https://kittygram.nexussfan.cz NexusSfan
https://kg.lus.lu ffb0f3
https://kg.meowing.de patrick

Also see the /instances.json file.

Installation

Method 1: Containers

Note

It's the recommended way to run Kittygram.

Docker

  1. Install git, git-lfs and Docker.

    Tip

    You can also install Docker Desktop for GUI, or LazyDocker for TUI.

  2. Clone the repository, move to the kittygram folder, set up Git LFS, and start the container:

    git clone git@codeberg.org:irelephant/kittygram.git --depth=1 && cd kittygram
    git lfs pull
    sudo docker compose up
    

Podman

  1. Install git, git-lfs, Podman and Podman Compose.

    Tip

    You can also install Podman Desktop for GUI, or Podman TUI.

  2. Clone the repository, move to the kittygram folder, set up Git LFS, and start the container:

    Warning

    Don't run Podman as root (sudo / doas).

    git clone git@codeberg.org:irelephant/kittygram.git --depth=1 && cd kittygram
    git lfs pull
    podman-compose -p kittygram -f docker-compose.yml up -d
    

    Note

    If you have DNS/network issues, change DNS in compose.yaml to Podman native using: podman compose exec kittygram cat /etc/resolv.conf.

Method 2: Native

  1. Install openresty, redis or valkey, luarocks (likely in your distro's package manager) and git-lfs.

  2. Clone the repository, move to the kittygram folder, and set up Git LFS.

    git clone git@codeberg.org:irelephant/kittygram.git --depth=1 && cd kittygram
    git lfs pull
    
  3. Copy the example configuration files:

    cp nginx.example.conf nginx.conf && cp config.example.lua config.lua
    
  4. Run:

    luarocks init --lua-version=5.1 --lua-versions=5.1
    CC="gcc -std=gnu99" luarocks build && lapis migrate
    # Run the project
    lapis serve production
    

Info

License

Kittygram is licensed under the AGPL-3.0.

Community

Feel free to join the Matrix room, or email me at irelephant@disroot.org.

  • Icon made by nulla.
  • README design made by koru.

If you like this project, please consider giving it a star!