tags :
links: [[instance_docker]]

version: "3.5"
services:

  mysql:
    image: mysql:5.7.22              # 如果遇到不正确的数据库配置,或无法连接到数据库PDOException: SQLSTATE[HY000] [1045] 用户'yourls'@'yourls_service.yourls_default'的访问被拒绝(使用密码:是)   可以把5.7.22 改为 5.7
    environment:
      - MYSQL_ROOT_PASSWORD=my-secret-pw
      - MYSQL_DATABASE=yourls
      - MYSQL_USER=yourls
      - MYSQL_PASSWORD=yourls
    volumes:
      - ./mysql/db/:/var/lib/mysql
      - ./mysql/conf/:/etc/mysql/conf.d
    restart: always
    container_name: mysql
  
  yourls:
    image: yourls
    restart: always
    ports:
      - "31003:80"

#environment 在/var/www/html/config-docker.php内配置
#下方yml不配置
    environment:
      YOURLS_DB_HOST: mysql
      YOURLS_DB_USER: yourls
      YOURLS_DB_PASS: yourls
      YOURLS_DB_NAME: yourls
      YOURLS_USER: admin      # 自己起一个名字
      YOURLS_PASS: admin      # 自己换一个登陆密码
      YOURLS_SITE: https://yourwebsite  # 换成你自己的域名
      YOURLS_HOURS_OFFSET: 8


    volumes:
      - ./yourls_data/:/var/www/html   
    container_name: yourls_service
    links:
      - mysql:mysql

Docker Hub

中文语言包下载

https://github.com/ZvonimirSun/YOURLS-zh_CN/archive/refs/tags/v1.7.3.zip

zh_CN.mo zh_CN.po解压放入/var/ www/html/user/languages内

修改权限

chown -R www-data:www-data zh_CN.mo  # 修改文件拥有者和组
chown -R www-data:www-data zh_CN.po  # 修改文件拥有者和组

修改/var/ www/html/config-docker.php

  • 此文件修改完后启动一次后会自动复制并加密密码到user下的config.php,后续需要修改此文件

打开 http://yourls.org/cookie 复制粘贴cookie 修改 define( 'YOURLS_COOKIEKEY', 'pastehere')

修改db配置

/** MySQL database username */
define( 'YOURLS_DB_USER', 'yourls' );

/** MySQL database password */
define( 'YOURLS_DB_PASS', 'yourls' );

/** The name of the database for YOURLS */
define( 'YOURLS_DB_NAME', 'yourls' );

/** MySQL hostname.
 ** If using a non standard port, specify it like 'hostname:port', eg. 'localhost:9999' or '127.0.0.1:666' */
define( 'YOURLS_DB_HOST', '10.10.10.50:3306' );

/** MySQL tables prefix */
define( 'YOURLS_DB_PREFIX', 'yourls_' );

/*
 ** Site options
 */

/** YOURLS installation URL -- all lowercase and with no trailing slash.
 ** If you define it to "http://sho.rt", don't use "http://www.sho.rt" in your browser (and vice-versa) */
define( 'YOURLS_SITE', 'http://yoursite' );

/** Server timezone GMT offset */
define( 'YOURLS_HOURS_OFFSET', 8 ); 

$yourls_user_passwords = array(
	'username' => 'password',
	// 'username2' => 'password2',
	// You can have one or more 'login'=>'password' lines
	);
# 修改账号密码

修改define( 'YOURLS_LANG', 'zh_CN' );