- Lua 72%
- HTML 15.6%
- CSS 9%
- Dockerfile 0.8%
- YAML 0.7%
- Other 1.9%
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
-
Install git, git-lfs and Docker.
Tip
You can also install Docker Desktop for GUI, or LazyDocker for TUI.
-
Clone the repository, move to the
kittygramfolder, 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
-
Install git, git-lfs, Podman and Podman Compose.
Tip
You can also install Podman Desktop for GUI, or Podman TUI.
-
Clone the repository, move to the
kittygramfolder, 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 -dNote
If you have DNS/network issues, change DNS in
compose.yamlto Podman native using:podman compose exec kittygram cat /etc/resolv.conf.
Method 2: Native
-
Install openresty, redis or valkey, luarocks (likely in your distro's package manager) and git-lfs.
-
Clone the repository, move to the
kittygramfolder, and set up Git LFS.git clone git@codeberg.org:irelephant/kittygram.git --depth=1 && cd kittygram git lfs pull -
Copy the example configuration files:
cp nginx.example.conf nginx.conf && cp config.example.lua config.lua -
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.
⭐ If you like this project, please consider giving it a star!