twitfix Basic flask server that serves fixed twitter video embeds to desktop discord by using either the Twitter API or Youtube-DL to grab tweet video information.
Our images support multiple architectures.
Simply pulling ghcr.io/thespad/twitfix:latest should retrieve the correct image for your arch.
The architectures supported by this image are:
| Architecture | Available | Tag |
|---|---|---|
| x86-64 | ✅ | latest |
| arm64 | ✅ | latest |
| armhf | ❌ | latest |
Webui is accessible at http://SERVERIP:PORT
More info at twitfix.
Here are some example snippets to help you get started creating a container.
Compatible with docker-compose v2 schemas.
---
version: "2.1"
services:
twitfix:
image: ghcr.io/thespad/twitfix:latest
container_name: twitfix
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/London
- ACCESS_SECRET=12345
- ACCESS_TOKEN=67890
- API_KEY=adcdef
- API_SECRET=ghijkl
- APPNAME=Twitfix
- "COLOR=#43B581"
- DATABASE=mongodb://twitfix_db:27017/twitfix
- LINK_CACHE=db
- METHOD=youtube-dl
- URL=https://twitfix.example.com
volumes:
- /path/to/appdata/config:/config
ports:
- 80:80
restart: unless-stopped
docker run -d \
--name=twitfix \
-e PUID=1000 \
-e PGID=1000 \
-e TZ=Europe/London \
-e ACCESS_SECRET=12345
-e ACCESS_TOKEN=67890
-e API_KEY=adcdef
-e API_SECRET=ghijkl
-e APPNAME=Twitfix
-e "COLOR=#43B581"
-e DATABASE=mongodb://twitfix_db:27017/twitfix
-e LINK_CACHE=db
-e METHOD=youtube-dl
-e URL=https://twitfix.example.com
-p 80:80 \
-v /path/to/appdata/config:/config \
--restart unless-stopped \
ghcr.io/thespad/twitfix:latest
Container images are configured using parameters passed at runtime (such as those above). These parameters are separated by a colon and indicate <external>:<internal> respectively. For example, -p 8080:80 would expose port 80 from inside the container to be accessible from the host's IP on port 8080 outside the container.
| Parameter | Function |
|---|---|
-p 80 | Web GUI |
-e PUID=1000 | for UserID - see below for explanation |
-e PGID=1000 | for GroupID - see below for explanation |
-e TZ=Europe/London | Specify a timezone to use EG Europe/London |
-e ACCESS_SECRET=12345 | Twitter Access Secret (Required if METHOD=api) |
-e ACCESS_TOKEN=67890 | Twitter Access Token (Required if METHOD=api) |
-e API_KEY=adcdef | Twitter API Key (Required if METHOD=api) |
-e API_SECRET=ghijkl | Twitter API Secret (Required if METHOD=api) |
-e APPNAME=Twitfix | Name that shows in the Embed title |
-e "COLOR=#43B581" | Embded colour strip |
-e DATABASE=mongodb://twitfix_db:27017/twitfix | Mongodb URI (Required if LINK_CACHE=db) |
-e LINK_CACHE=db | Link caching storage, can be set to json or db |
-e METHOD=youtube-dl | Video fetch method, can be set to api (rate limited), youtube-dl (slower), or hybrid (try api first then youtube-dl) |
-e URL=https://twitfix.example.com | URL where you're hosting the service |
-v /config | Contains all relevant configuration files. |
When using volumes (-v flags) permissions issues can arise between the host OS and the container, we avoid this issue by allowing you to specify the user PUID and group PGID.
Ensure any volume directories on the host are owned by the same user you specify and any permissions issues will vanish like magic.
In this instance PUID=1000 and PGID=1000, to find yours use id user as below:
$ id username
uid=1000(dockeruser) gid=1000(dockergroup) groups=1000(dockergroup)
docker exec -it twitfix /bin/bashdocker logs -f twitfixContent type
Image
Digest
sha256:93682f0b9…
Size
78.3 MB
Last updated
about 3 years ago
docker pull thespad/twitfix