Last updated on May 9th, 2023 at 10:40 am
A simple Self-hosting service that generates a meme image using text and an image URL.
Code Source: GitHub
Skip to Docker Run Code / Skip to Compose & Portainer Code
Install Docker
Before we start, please ensure you have Docker installed. This can be installed through the Synology Package Center.
Create the Scheduled Task
We will now head into Control Panel > Task Scheduler > Create > Scheduled Task and click User-defined script. (see demonstration)

Configure the Scheduled Task
In the window that appears, insert the following:
In the General tab, In the Task field, enter memegen. From the User list, select root. Uncheck the Enabled option.
In the Schedule tab, Select Run on the following date (make sure It’s today’s date). Now select Do not repeat.
In the Task Settings tab, under Notification, You can choose to turn this on, otherwise skip this. Now copy-paste the following code into the Run command area. Now click OK.
docker run -d \
--name memegen \
-p 5077:8080 \
--restart=always \
zigzockt/memegen
Important: Ensure you update the code to reflect your details.
Accept the warning prompt
When the below warning appears, press OK.

Run the Scheduled Task
From the list of tasks, select memegen. From the top menu, press Run. When prompted to run, press Yes.

Create Reverse Proxy (Optional)
Head into Control Panel > Login Portal > Advanced. Click Reverse Proxy and then click Create. A dialog box will appear prompting you to edit the following settings (ensure you change the values to your own). If you do not yet have a DDNS, you can find a guide on how to do this here. Once done, press Save.
Reverse Proxy Name | memegen |
Protocol | HTTPS |
Hostname | memegen.yourhostname.me (You can change memegen to whatever you like) |
Port | 443 |
Protocol | HTTP |
Hostname | localhost or your Synology IP address |
Port | 5077 |
That’s it installed. Open your browser and go to https://memegen.yourhostname.me or by your NAS IP such as 192.168.68.128:5077.

Using Memegen
Using Memegen is very simple. Using your NAS IP or DDNS enter this into your address bar, then simply add /?top=ENTER TOP TEXT&bottom=ENTER BOTTOM TEXT&image=http://url.of/your/image.jpg to the end. Make sure you update the link to reflect your text/image URL.
For me, I’d use this http://192.168.68.128:5077/?top=Thanks&bottom=for Visiting&image=https://neellik.com/wp-content/uploads/2023/01/kuma_post_logo-1024×512.png – This will generate the following:

Docker Compose and Portainer
If you would prefer to install with Docker Compose or Portainer, use the following code. You can also view a demonstration here.
version: '3.3'
services:
memegen:
container_name: memegen
ports:
- '5077:8080'
restart: always
image: zigzockt/memegen
More Guides:
Actual AdGuard airsonic Audiobookshelf autobrr Bitcoin Calibre-Web ChatpadAI Cleanarr Composerize Crypto DailyTxT Dashy deemix Deluge Emby EmulatorJS Ethereum Euterpe FileBot FilePizza FileZilla Flame Focalboard FreshRSS Grafana Grocy Heimdall Homarr Home Assistant Homebridge Jackett Jellyfin Jellyseerr Joplin Kavita Komga LanguageTool LibreOffice Lidarr Mealie MediaGoblin Medusa Memegen Minecraft Minecraft Bedrock MQTT MusicBrainz MyMediaForAlexa Navidrome Node-RED NZBGet NZBHydra Ombi Overseerr PaperlessNGX Pashword Password Cards Petio Pi-Hole Picard Plex Portainer PostgreSQL Prowlarr PUID & PGID pwndrop Radarr Radicale Readarr ruTorrent SABnzbd SearX Seed Phrase Shiori Sonarr SpeedTest Stash Storm Tailscale TasmoAdmin Tautulli Theia Trilium TubeSync Unpackerr Uptime Kuma Vaultwarden Watchtower WebPDF Whisparr Wordle YouTubeDL
