YOURLS 部署


1. 环境配置

mkdir -p /docker/yourls/html/user/languages /docker/mysql-yourls/data /docker/mysql-yourls/conf /docker/mysql-yourls/log && \
tee /docker/yourls/.env <<-'EOF'
YOURLS_COOKIEKEY=${YOURLS_COOKIEKEY}	# 访问https://api.yourls.org/services/cookiekey/1.0/生成
YOURLS_USER=${YOURLS_USER}
YOURLS_PASS=${YOURLS_PASS}
YOURLS_SITE=${YOURLS_SITE}	# 需替换为自己的域名,需搭配反代

MYSQL_ROOT_PASSWORD=<MYSQL_ROOT_PASSWORD>
MYSQL_DATABASE=<MYSQL_DATABASE>
MYSQL_USER=<MYSQL_USER>
MYSQL_PASSWORD=<MYSQL_PASSWORD>
EOF
# 中文,上传zh_CN.mo、zh_CN.po到/docker/yourls/html/user/languages(下载地址——https://github.com/coppea/yourls-zh_CN)

2. 编辑 docker-compose.yml

tee /docker/yourls/docker-compose.yml <<-'EOF'
services:
  yourls:
    image: yourls:latest
    container_name: yourls
    restart: unless-stopped
    environment:
      YOURLS_DB_HOST: mysql-yourls
      YOURLS_DB_NAME: ${MYSQL_DATABASE}
      YOURLS_DB_USER: ${MYSQL_USER}
      YOURLS_DB_PASS: ${MYSQL_PASSWORD}
      YOURLS_UNIQUE_URLS: false
      YOURLS_LANG: zh_CN
      YOURLS_COOKIEKEY: ${YOURLS_COOKIEKEY}
      YOURLS_USER: ${YOURLS_USER}
      YOURLS_PASS: ${YOURLS_PASS}
      YOURLS_SITE: ${YOURLS_SITE}
      YOURLS_HOURS_OFFSET: 8
    volumes:
      - /docker/yourls/html:/var/www/html
    depends_on:
      - mysql-yourls
    networks:
      - internal
    
  mysql-yourls:
    image: mysql:5.7
    container_name: mysql-yourls
    restart: unless-stopped
    ports:
      - "8001:3306"
    environment:
      MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
      MYSQL_DATABASE: ${MYSQL_DATABASE}
      MYSQL_USER: ${MYSQL_USER}
      MYSQL_PASSWORD: ${MYSQL_PASSWORD}
    volumes:
      - /docker/mysql-yourls/data:/var/lib/mysql
      - /docker/mysql-yourls/log:/var/log/mysql:rw
      - /docker/mysql-yourls/conf/:/etc/mysql/conf.d
    networks:
      - internal

networks:
  internal:
    external: true
    name: internal
EOF

3. 运行 docker compose

cd /docker/yourls/ && \
docker compose up -d

4. 其他

# backup
cd /docker/yourls/ && \
docker compose stop && \ 
docker compose rm -f && \
docker rmi yourls:latest && \
docker rmi mysql:5.7 && \
rm -rf /docker/yourls /docker/mysql-yourls
# 查看日志
docker compose logs

&NPM

  • Domain Names

    <域名>

  • Forward Hostname / IP

    yourls

  • Forward Port

    80


&NaviCat

  • 连接名

    YOURLS

  • 主机

    <域名>

  • 端口

    8001

  • 用户名

    <MYSQL_USER>

  • 密码

    <MYSQL_PASSWORD>