
Halo, kalau kamu merasa tulisan saya ngebantu kamu, kamu bisa ucapkan terima kasih lewat saweria.
Hello, if you find this article helpful, you can express your gratitude through saweria.
Who Needs This
People who want to track their URLs.
Those who don’t want to pay for URL shortener plus features (such as geolocation, user-agent tracking, etc.).
Why Shlink?
It’s simple.
It has a Docker image.
Shlink uses RoadRunner as the default runtime.
Their documentation is well-documented.
What You Need to Set Up Shlink
How To
- Create a
docker-compose.ymlfile:
version: "3.8"
name: shlink-stack
services:
shlink-be:
container_name: shlink-be-ctr
ports:
- 8080:8080
environment:
- DEFAULT_DOMAIN=${DEFAULT_DOMAIN}
- IS_HTTPS_ENABLED=${IS_HTTPS_ENABLED}
- GEOLITE_LICENSE_KEY=${GEOLITE_LICENSE_KEY}
- DB_DRIVER=${DB_DRIVER}
- DB_USER=${DB_USER}
- DB_PASSWORD=${DB_PASSWORD}
- DB_HOST=${DB_HOST}
- DB_NAME=${DB_NAME}
- PORT=${PORT}
- DEFAULT_REGULAR_404_REDIRECT=${DEFAULT_REGULAR_404_REDIRECT}
- DEFAULT_INVALID_SHORT_URL_REDIRECT=${DEFAULT_INVALID_SHORT_URL_REDIRECT}
- DEFAULT_BASE_URL_REDIRECT=${DEFAULT_BASE_URL_REDIRECT}
- TIMEZONE=${TIMEZONE}
image: shlinkio/shlink:latest
logging:
driver: none
env_file:
- .env
networks:
- shlink-net
shlink-fe:
depends_on:
- shlink-be
container_name: shlink-fe-ctr
ports:
- 88:8080
environment:
- SHLINK_SERVER_URL=${SHLINK_SERVER_URL}
- SHLINK_SERVER_API_KEY=${SHLINK_SERVER_API_KEY}
- SHLINK_SERVER_NAME=${SHLINK_SERVER_NAME}
image: shlinkio/shlink-web-client:latest
logging:
driver: none
env_file:
- .env
networks:
- shlink-net
networks:
shlink-net:
- Then create
.envfile, fill with
GEOLITE_LICENSE_KEY=yourGEOLITEkey
DEFAULT_DOMAIN=yourshortener-url.com
IS_HTTPS_ENABLED="true"
DB_DRIVER=mysql
DB_USER=user_db
DB_NAME=db_name
DB_PASSWORD=db_password
DB_HOST=db_host
SHLINK_SERVER_URL=https://yourshortener-url.com
SHLINK_SERVER_API_KEY=fillThisAfterCreateNewKey
SHLINK_SERVER_NAME="Your URL Shortener"
DEFAULT_REGULAR_404_REDIRECT=https://ipang.my.id
DEFAULT_INVALID_SHORT_URL_REDIRECT=https://ipang.my.id
DEFAULT_BASE_URL_REDIRECT=https://ipang.my.id
PORT=8080
TIMEZONE=Asia/Jakarta
After this, deploy “shlink-be” first using
docker-compose up -d shlink-beGenerate an API key with docker exec -it shlink-be-ctr shlink api-key:generate. Put that key in the variable SHLINK_SERVER_API_KEY= in your .env.

Generate API Key. Put That Key On .env
Deploy “shlink-fe”
docker-compose up -d shlink-fe

Your Shlink Server Name Will Listed Here

Shlink Feature

Shlink Analytics With Geolocation
Notes:
- If you don’t want to deploy Shlink web client, Shlink provides their free web client. You just need to enter your URL and API key.
