https://github.com/woooferz/skarf
A self-hosted linktree.
https://github.com/woooferz/skarf
docker flask linktree-alternative python self-hosted
Last synced: 3 months ago
JSON representation
A self-hosted linktree.
- Host: GitHub
- URL: https://github.com/woooferz/skarf
- Owner: woooferz
- License: mit
- Created: 2022-06-09T09:21:33.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2026-02-08T10:47:18.000Z (5 months ago)
- Last Synced: 2026-02-08T17:28:32.602Z (5 months ago)
- Topics: docker, flask, linktree-alternative, python, self-hosted
- Language: HTML
- Homepage:
- Size: 2.06 MB
- Stars: 114
- Watchers: 2
- Forks: 3
- Open Issues: 42
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# Skarf
## NOTE:
builds will no longer be available on ghcr.io, all builds will be on [Docker Hub](https://hub.docker.com/repository/docker/wooferz/skarf/general)








Self-Hosted Linktree/beacons.ai with easy configuration.
[Demo](https://skarfdemo.wooferz.dev/) / [Docs](https://skarf-docs.readthedocs.io/en/latest/index.html) / [Support Discord](https://discord.gg/VnskbWb4Ft)
## Screenshot


## Installation Guide
### With Docker
First you'll have to make a new directory, where skarf can store its data.
Then make a docker-compose.yml that looks like this
```yaml
version: "3.3"
services:
app:
container_name: skarf
ports:
- "8080:80" # To expose skarf onto the host machine (remove this if you are using a reverse proxy such as traefik)
volumes:
- "./static:/app/static" # To store data in the [website]/static/ url
- "./config:/app/config" # To store the config.yml config
image: "wooferz/skarf:master"
```
After running, 2 new directories should pop up `static/` and `config/` it is important to copy the `config/config.yml` into the `config/` directory and restarting the container so skarf can configure itself and if you want your own images, you need to put files into `static/` and it can be accessed from the config with under the `static/` url.
Now you can run `docker-compose up -d`
## How did the name skarf come to be
Its simple, its a card type app thing, card -> scarf and for some reason there is a thing already called that! so I replaced the c with a k to make skarf