docker is gnuimpware, it's podman quadlet millennium
docker containers

add xpost

zenfyr.dev 76807375 e729470a

verified
Changed files
+56
xpost
xpost/.config/docker.env

This is a binary file and will not be displayed.

+17
xpost/README.md
···
··· 1 + # xpost 2 + 3 + atm the image must be built locally. this can be done like this: 4 + 5 + ``` 6 + git clone https://tangled.sh/@melontini.me/xpost xpost 7 + cd xpost 8 + docker build -t melontini/xpost:latest -f Containerfile . 9 + ``` 10 + 11 + for podman: 12 + 13 + `podman build --security-opt label=disable -t melontini/xpost:latest -f Containerfile .` 14 + 15 + example `compose.yaml` assumes that data dir is `./data`, and env file is `./.config/docker.env`. add `:Z` to volume mounts for podman. 16 + 17 + the settings are pre-configured for mastodon-wss -> bsky crossposting, posts with links to bsky.app, deer.social and anartia are skipped. add `MASTODON_INSTANCE`, `MASTODON_TOKEN`, `BLUESKY_HANDLE` and `BLUESKY_APP_PASSWORD` to `docker.env`
+7
xpost/compose.yml
···
··· 1 + services: 2 + xpost: 3 + image: melontini/xpost:latest 4 + restart: unless-stopped 5 + env_file: ./.config/docker.env 6 + volumes: 7 + - ./data:/app/data
+32
xpost/data/settings.json
···
··· 1 + { 2 + "input": { 3 + "type": "mastodon-wss", 4 + "instance": "env:MASTODON_INSTANCE", 5 + "token": "env:MASTODON_TOKEN", 6 + "options": { 7 + "allowed_visibility": [ 8 + "public", 9 + "unlisted" 10 + ], 11 + "regex_filters": [ 12 + "https?://bsky\\.app(?![\\.-]\\w)", 13 + "https?://deer\\.social(?![\\.-]\\w)", 14 + "https?://anartia\\.kelinci\\.net(?![\\.-]\\w)" 15 + ] 16 + } 17 + }, 18 + "outputs": [ 19 + { 20 + "type": "bluesky", 21 + "handle": "env:BLUESKY_HANDLE", 22 + "app-password": "env:BLUESKY_APP_PASSWORD", 23 + "options": { 24 + "quote_gate": false, 25 + "thread_gate": [ 26 + "everybody" 27 + ], 28 + "encode_videos": true 29 + } 30 + } 31 + ] 32 + }