跳过正文
Featured image for 自建服务一览及搭建配置文件
  1. 吾生有涯,而知无涯/

自建服务一览及搭建配置文件

·299 字·2 分钟 草稿
目录

推荐的一些自建服务及配置文件
#


1. Alist
#

简介:官网为https://alist.nn.ci/,Alist 是一个支持多种存储的目录文件列表程序,支持本地存储、对象存储、网盘等,可以用于离线下载和文件管理。

services:
  alist:
    image: xhofe/alist:latest
    container_name: alist
    volumes:
      - $PWD/data:/opt/alist/data
    ports:
      - "5244:5244"
    environment:
      - PUID=1000
      - PGID=1000
    restart: unless-stopped

2. Aria2
#

简介: Aria2是一个轻量级的多协议命令行下载工具,支持 HTTP、FTP、BitTorrent 等协议,常用于离线下载。


services:
  aria2:
    image: p3terx/aria2-pro:latest
    container_name: aria2
    volumes:
      - $PWD/config:/config
      - $PWD/downloads:/downloads
    ports:
      - "6800:6800"
    environment:
      - RPC_SECRET=your_secret_key
    restart: unless-stopped

3. Caddy
#

简介:Caddy 是一个现代化的 Web 服务器,支持自动 HTTPS、反向代理等功能,配置简单且性能优秀。


services:
  caddy:
    image: caddy:latest
    container_name: caddy
    volumes:
      - $PWD/Caddyfile:/etc/caddy/Caddyfile
      - $PWD/data:/data
      - $PWD/config:/config
    ports:
      - "80:80"
      - "443:443"
    restart: unless-stopped

4. Vaultwarden
#

简介:Vaultwarden 是 Bitwarden 密码管理器的轻量级实现,兼容 Bitwarden 客户端,适合自建密码管理服务。


services:
  vaultwarden:
    image: vaultwarden/server:latest
    container_name: vaultwarden
    volumes:
      - $PWD/data:/data
    ports:
      - "8080:80"
    environment:
      - ADMIN_TOKEN=your_admin_token
    restart: unless-stopped

5. 青龙脚本
#

简介:青龙脚本是一个支持定时任务的脚本管理平台,常用于京东签到、自动化脚本等。


services:
  qinglong:
    image: whyour/qinglong:latest
    container_name: qinglong
    volumes:
      - $PWD/config:/ql/config
      - $PWD/scripts:/ql/scripts
      - $PWD/log:/ql/log
    ports:
      - "5700:5700"
    environment:
      - ENABLE_HANGUP=true
      - ENABLE_WEB_PANEL=true
    restart: unless-stopped

6. Nextcloud
#

简介:Nextcloud是一个自建云存储和协作平台,支持文件存储、日历、联系人、笔记等功能。


services:
  nextcloud:
    image: nextcloud:latest
    container_name: nextcloud
    volumes:
      - $PWD/data:/var/www/html
    ports:
      - "8080:80"
    environment:
      - MYSQL_HOST=db
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud
      - MYSQL_PASSWORD=your_password
    depends_on:
      - db
    restart: unless-stopped

  db:
    image: mariadb:latest
    container_name: nextcloud_db
    volumes:
      - $PWD/db:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=your_root_password
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud
      - MYSQL_PASSWORD=your_password
    restart: unless-stopped

7.Adminer
#

简介: Adminer 是一个类似于PHPMyAdmin,主要用于数据库的管理,支持各种类型的数据库,如MySQL、PostSQL、Sqlite 等等。

services:
  # mariadb:
  #   image: mariadb:lts
  #   container_name: mariadb-lts
  #   restart: always
  #   ports:
  #     - "3306:3306" # 将容器的 3306 端口映射到宿主机
  #   environment:
  #     MYSQL_ROOT_PASSWORD: password # 设置 root 用户密码
  #     MYSQL_DATABASE: fastapi      # (可选)自动创建的数据库
  #     MYSQL_USER: fast                   # (可选)创建的普通用户
  #     MYSQL_PASSWORD: password           # (可选)普通用户的密码
  #   volumes:
  #     - ./data:/var/lib/mysql                 # 持久化数据到宿主机的 ./data 目录
  #     # - ./my.cnf:/etc/mysql/my.cnf:ro         # (可选)挂载自定义配置文件
  adminer:
    # image: shyim/adminerevo
    image: adminer
    container_name: adminer
    restart: always
    ports:
      - "8080:8080" # 将容器的 8080 端口映射到宿主机
    # 以下内容仅仅适用SQLite等不设密码的数据库
    volumes:
      - $PWD/one-api.db:/db/one-api.db
      - $PWD/login-password-less.php:/var/www/html/plugins-enabled/login-password-less.php

当前 Adminer 不支持 sqlite 等不加密的数据库连接,因此需要修改相应的php-plugins。官网给出了三种方法,在这里提供个人认为最简单的方法,即 增加login-password-less.php,实现默认admin密码登录连接。

<?php
require_once('plugins/login-password-less.php');

/** Set allowed password
 * @param string result of password_hash
 */
return new AdminerLoginPasswordLess(
 $password_hash = password_hash("admin", PASSWORD_DEFAULT)
);
服务器自建 - 这篇文章属于一个选集。
§ 1: 本文

相关文章