{"id":16162770,"url":"https://github.com/msrd0/docker-stickerpicker","last_synced_at":"2025-03-18T22:31:14.295Z","repository":{"id":46411625,"uuid":"401141030","full_name":"msrd0/docker-stickerpicker","owner":"msrd0","description":"Docker container to host https://github.com/maunium/stickerpicker with a self-hosted s3 backend","archived":false,"fork":false,"pushed_at":"2022-08-10T15:51:06.000Z","size":97,"stargazers_count":11,"open_issues_count":1,"forks_count":2,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-02-28T12:32:56.849Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/msrd0.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-08-29T20:58:06.000Z","updated_at":"2024-11-24T03:53:19.000Z","dependencies_parsed_at":"2022-09-22T07:24:02.810Z","dependency_job_id":null,"html_url":"https://github.com/msrd0/docker-stickerpicker","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/msrd0%2Fdocker-stickerpicker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/msrd0%2Fdocker-stickerpicker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/msrd0%2Fdocker-stickerpicker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/msrd0%2Fdocker-stickerpicker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/msrd0","download_url":"https://codeload.github.com/msrd0/docker-stickerpicker/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243950927,"owners_count":20373664,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":[],"created_at":"2024-10-10T02:32:55.282Z","updated_at":"2025-03-18T22:31:14.002Z","avatar_url":"https://github.com/msrd0.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# docker-stickerpicker\nDocker container to host https://github.com/maunium/stickerpicker with a self-hosted s3 backend\n\n\n## Features:\n* custom sticker packs for the matrix messenger\n* multiple profiles, so different people can use different packs\n\n\n## Setup Server:\n\n### Requirements:\n* (local) s3 bucket, with no password\n* Docker\n* http reverse proxy for tls (optional, but strongly recommended)\n\n### setup:\ndocker-compose:\n```yaml\nstickerpicker:\n  image: ghcr.io/msrd0/stickerpicker\n  environment:\n    - \"HOMESERVER=https://MATRIX.SERVER.URL\"\n    - \"PACKS_S3_SERVER=https://S3.SERVER.URL\"\n    - \"PACKS_S3_BUCKET=stickerpicker\"\n  ports:\n    - \"8080:8080\"\n  restart: unless-stopped\n```\nEnvironment variable:\n* PACKS_S3_SERVER  the url of your s3 server\n* PACKS_S3_BUCKET  the name of your s3 bucket\n* HOMESERVER       publicly accessible homeserver url, which is used to render the preview images; can be different from the server, where the stickers are saved\n\n### add sticker packs:\n* create a stickerpack using the [stickerpicker-import/creating script](https://github.com/maunium/stickerpicker/wiki/Creating-packs)\n* upload the created `.json` of your stickerpack (located in `web/packs/`) to `/PROFILE_NAME/*.json` at your s3 bucket. \n  ⚠️ **Do not upload the `index.json`**. The server creates this file.\n\n\n## Settup Client:\n* enter `/devtools` in a chat in element.\n* go to: Explore Account Data -\u003e m.widgets\n* change the json to:\n```json\n{\n\t\"stickerpicker\": {\n\t\t\"content\": {\n\t\t\t\"type\": \"m.stickerpicker\",\n\t\t\t\"url\": \"https://YOUR.STICKER.PICKER.URL/PROFILE_NAME/index.html?theme=$theme\",\n\t\t\t\"name\": \"Stickerpaket\",\n\t\t\t\"data\": {}\n\t\t},\n\t\t\"sender\": \"@YOU:MATRIX.SERVER.NAME\",\n\t\t\"state_key\": \"stickerpicker\",\n\t\t\"type\": \"m.widget\",\n\t\t\"id\": \"stickerpicker\"\n\t}\n}\n```\nDo not forget to change `YOUR.STICKER.PICKER.URL/PROFILE_NAME`, `PROFILE_NAME` and `@YOU:MATRIX.SERVER.NAME`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmsrd0%2Fdocker-stickerpicker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmsrd0%2Fdocker-stickerpicker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmsrd0%2Fdocker-stickerpicker/lists"}