
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.yml
file:
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
.env
file, 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-be
-
Generate 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.