搭建短链接服务
步骤
网络推荐方案,是搭建 Shlink 短链接服务。注册 MaxMind 账户,登陆后,完成 Generate new license key 操作,获取 GEOLITE_LICENSE_KEY
内容,在账号管理界面点击注册 GeoIP/GeoLite 服务,阅读条款并同意。根据下方命令,新建挂载目录并完成 Docker Compose 配置,启动容器。运行 docker exec -it shlink shlink api-key:generate
命令,获取 SHLINK_API_KEY
内容。解析两个域名指向服务器,分别对应 shlink-web-client 和 shlink 容器。进入 web 界面,添加 Manage servers 参数。至此,属于自己的短链接服务搭建完成。
1 2 |
mkdir -p /home/docker/shlink/db chown -R 999:999 /home/docker/shlink/db |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
version: "3.8" services: db: image: mariadb:10.6 container_name: shlink-db restart: unless-stopped environment: MYSQL_ROOT_PASSWORD: ${DB_ROOT_PASSWORD} MYSQL_DATABASE: ${DB_NAME} MYSQL_USER: ${DB_USER} MYSQL_PASSWORD: ${DB_PASSWORD} volumes: - /home/docker/shlink/db:/var/lib/mysql networks: - my-net-ipv6 shlink: image: shlinkio/shlink:stable container_name: shlink restart: unless-stopped depends_on: - db environment: DEFAULT_DOMAIN: ${DEFAULT_DOMAIN} SHORT_DOMAIN_SCHEMA: ${SHORT_DOMAIN_SCHEMA} DB_DRIVER: mariadb DB_NAME: ${DB_NAME} DB_USER: ${DB_USER} DB_PASSWORD: ${DB_PASSWORD} DB_HOST: db DB_PORT: 3306 TIMEZONE: UTC REDIRECT_STATUS_CODE: 301 GEOLITE_LICENSE_KEY: your-key command: - ./docker-entrypoint.sh - shlink - start networks: - my-net-ipv6 web-client: image: shlinkio/shlink-web-client:stable container_name: shlink-web-client restart: unless-stopped depends_on: - shlink environment: SHLINK_SERVER_NAME: ${WEB_CLIENT_SERVER_NAME} SHLINK_SERVER_URL: your-url SHLINK_API_KEY: ${SHLINK_API_KEY} networks: - my-net-ipv6 networks: my-net-ipv6: external: true |
1 2 3 4 5 6 7 8 |
DB_ROOT_PASSWORD=your-passwd DB_NAME=shlink DB_USER=shlink DB_PASSWORD=your-passwd DEFAULT_DOMAIN=your-domain SHORT_DOMAIN_SCHEMA=https WEB_CLIENT_SERVER_NAME=your-name SHLINK_API_KEY=your-key</code><code> |
THE END