{"id":48582599,"url":"https://github.com/woooferz/skarf","last_synced_at":"2026-04-08T17:34:32.344Z","repository":{"id":38039393,"uuid":"501585580","full_name":"woooferz/skarf","owner":"woooferz","description":"A self-hosted linktree.","archived":false,"fork":false,"pushed_at":"2026-02-08T10:47:18.000Z","size":2162,"stargazers_count":114,"open_issues_count":42,"forks_count":3,"subscribers_count":2,"default_branch":"master","last_synced_at":"2026-02-08T17:28:32.602Z","etag":null,"topics":["docker","flask","linktree-alternative","python","self-hosted"],"latest_commit_sha":null,"homepage":"","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/woooferz.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":null,"patreon":null,"open_collective":null,"ko_fi":"wooferz","tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"lfx_crowdfunding":null,"custom":null}},"created_at":"2022-06-09T09:21:33.000Z","updated_at":"2025-12-19T07:45:42.000Z","dependencies_parsed_at":"2024-02-01T21:59:07.909Z","dependency_job_id":"1d187710-3f32-403a-9033-570677243af2","html_url":"https://github.com/woooferz/skarf","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/woooferz/skarf","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/woooferz%2Fskarf","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/woooferz%2Fskarf/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/woooferz%2Fskarf/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/woooferz%2Fskarf/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/woooferz","download_url":"https://codeload.github.com/woooferz/skarf/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/woooferz%2Fskarf/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31567056,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-08T14:31:17.711Z","status":"ssl_error","status_checked_at":"2026-04-08T14:31:17.202Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker","flask","linktree-alternative","python","self-hosted"],"created_at":"2026-04-08T17:34:31.666Z","updated_at":"2026-04-08T17:34:32.330Z","avatar_url":"https://github.com/woooferz.png","language":"HTML","funding_links":["https://ko-fi.com/wooferz"],"categories":[],"sub_categories":[],"readme":"# Skarf\n## NOTE: \nbuilds will no longer be available on ghcr.io, all builds will be on [Docker Hub](https://hub.docker.com/repository/docker/wooferz/skarf/general)\n\n![Build](https://img.shields.io/github/workflow/status/woooferz/skarf/Docker/master?style=for-the-badge)\n![Read the Docs](https://img.shields.io/readthedocs/skarf-docs?style=for-the-badge)\n![Discord](https://img.shields.io/discord/973532704740110386?style=for-the-badge)\n![GitHub top language](https://img.shields.io/github/languages/top/woooferz/skarf?style=for-the-badge)\n![Lines of code](https://img.shields.io/tokei/lines/github/woooferz/skarf?style=for-the-badge)\n![GitHub issues](https://img.shields.io/github/issues/woooferz/skarf?style=for-the-badge)\n![GitHub pull requests](https://img.shields.io/github/issues-pr/woooferz/skarf?style=for-the-badge)\n![GitHub](https://img.shields.io/github/license/woooferz/skarf?style=for-the-badge)\n\nSelf-Hosted Linktree/beacons.ai with easy configuration.\n\n[Demo](https://skarfdemo.wooferz.dev/) /  [Docs](https://skarf-docs.readthedocs.io/en/latest/index.html) / [Support Discord](https://discord.gg/VnskbWb4Ft)\n\n## Screenshot\n\n![Screenshot of Skarf - 1](https://i.imgur.com/wOaRRhN.png)\n![Screenshot of Skarf - 2](https://i.imgur.com/NJctg6E.png)\n\n## Installation Guide\n\n### With Docker\n\nFirst you'll have to make a new directory, where skarf can store its data.\nThen make a docker-compose.yml that looks like this\n\n```yaml\nversion: \"3.3\"\nservices:\n  app:\n    container_name: skarf\n    ports:\n      - \"8080:80\" # To expose skarf onto the host machine (remove this if you are using a reverse proxy such as traefik)\n    volumes:\n      - \"./static:/app/static\" # To store data in the [website]/static/ url\n      - \"./config:/app/config\" # To store the config.yml config\n    image: \"wooferz/skarf:master\"\n```\n\nAfter 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.\n\nNow you can run `docker-compose up -d`\n\n## How did the name skarf come to be\n\nIts simple, its a card type app thing, card -\u003e scarf and for some reason there is a thing already called that! so I replaced the c with a k to make skarf\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwoooferz%2Fskarf","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwoooferz%2Fskarf","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwoooferz%2Fskarf/lists"}