我在OMV上运行的一些有趣的Docker镜像

发布于 2021-04-21  3045 次阅读


以下全是在我的那台4C/4G的OMV虚拟机上建立的,使用Docker-Compose建立的容器我会给出我的配置。

1、Portainer

这个可以在OMV的系统>OMV-extras>Docker中找到并直接安装。算是现在个人使用最广泛的图形化Docker管理工具。

2、DDNS-GO

一款面向国内的DDNS工具,支持IPv4和IPv6.我主要使用的时IPv6,为什么不用IPv4?因为我没有公网IPv4地址...

3、naiveBoom

一款可以生成“阅后即焚”链接的小工具,当要把自己重要的东西通过链接分享给别人时,可以通过这个生成一个一次性的链接。

4、LibreSpeed

一款可以让我们检测外地与家里之间网速的小工具。

5、Bitwarden

一款密码管理工具,功能比较全面,支持浏览器、Windows、Mac、Linux、iOS、Android上的客户端,不过需要受信任的HTTPS连接。

6、TTRSS

一款RSS订阅工具。

docker-compose:
version: "3"
services:
  service.rss:
    image: wangqiru/ttrss:latest
    container_name: ttrss
    ports:
      - 8181:80
    environment:
      - SELF_URL_PATH=http://omv.snowpipe.xyz:8181/ # please change to your own domain
      - DB_PASS=ttrss # use the same password defined in `database.postgres`
    volumes:
      - feed-icons:/var/www/feed-icons/
    networks:
      - public_access
      - service_only
      - database_only
    stdin_open: true
    tty: true
    restart: always

  service.mercury: # set Mercury Parser API endpoint to `service.mercury:3000` on TTRSS plugin setting page
    image: wangqiru/mercury-parser-api:latest
    container_name: ttrss-mercury
    networks:
      - public_access
      - service_only
    restart: always

  service.opencc: # set OpenCC API endpoint to `service.opencc:3000` on TTRSS plugin setting page
    image: wangqiru/opencc-api-server:latest
    container_name: ttrss-opencc
    environment:
      - NODE_ENV=production
    networks:
      - service_only
    restart: always

  database.postgres:
    image: postgres:13-alpine
    container_name: ttrss-postgres
    environment:
      - POSTGRES_PASSWORD=ttrss # feel free to change the password
    volumes:
      - /data/ttrss/postgres/data/:/var/lib/postgresql/data # persist postgres data to ~/postgres/data/ on the host
    networks:
      - database_only
    restart: always

  # utility.watchtower:
  #   container_name: watchtower
  #   image: containrrr/watchtower:latest
  #   volumes:
  #     - /var/run/docker.sock:/var/run/docker.sock
  #   environment:
  #     - WATCHTOWER_CLEANUP=true
  #     - WATCHTOWER_POLL_INTERVAL=86400
  #   restart: always

volumes:
  feed-icons:

networks:
  public_access: # Provide the access for ttrss UI
  service_only: # Provide the communication network between services only
    internal: true
  database_only: # Provide the communication between ttrss and database only
    internal: true

7、Jellyfin

我之前也用过的影音播放平台,网上的教程也很多。

docker-compose:
version: "2.1"
services:
  jellyfin:
    image: linuxserver/jellyfin
    container_name: jellyfin
    environment:
      - TZ=Asia/Shanghai
    volumes:
      - /data/jellyfin/config:/config
      - /data/jellyfin/media/tvshows:/data/tvshows
      - /data/jellyfin/media/movies:/data/movies
      - /data/jellyfin/opt/vc/lib:/opt/vc/lib
    ports:
      - 8096:8096
      - 8920:8920 #optional
      - 7359:7359/udp #optional
      - 1900:1900/udp #optional
    devices:
      - /dev/dri:/dev/dri #optional
    restart: unless-stopped

8、tinymediamanager

著名的影音资料搜刮软件,由于新的版本开始收费,因此我使用的是huaihuai0406上传的3.1版。

docker-compose:
version: "2"
services:
  tinymediamanager:
    image: huaihuai0406/tinymediamanager
    container_name: tinymediamanager
    environment:
      - TZ=Asia/Shanghai
      - DISPLAY_WIDTH=1600
      - DISPLAY_HEIGHT=900
      - ENABLE_CJK_FONT=1
    volumes:
      - /data/tinymediamanager/config:/config
      - /data/jellyfin/media:/media
    networks:
      - mynet
    ports:
      - 5800:5800
    restart: unless-stopped

networks:
  mynet:
    external: true

9、forsaken-mail

架设临时邮箱,用于收信,需要域名并提前设置好MX记录。

10、UnblockNeteaseMusic

解锁网易云音乐客户端变灰歌曲,原理就是替换成其他播放器的音源。通过在相应的客户端上设置代理使用,部分客户端还需要在设备上安装CA根证书(为music.163.com签发证书)。

docker-compose:
version: '3'

services:
  unblockneteasemusic:
    image: nondanee/unblockneteasemusic
    environment:
      NODE_ENV: production
    ports:
      - 18080:8080

11、Home Assistant

功能非常强大的物联网/智能家居管理软件,受限于条件我这里暂时无法使用,只是运行了一个容器。

12、可道云KodExplore

比较全面的私有云方案,界面美观大气,适合国人习惯。

13、Code Server

基于VS Code的开发环境,据说比较好用,虽然我不怎么写代码但也装了一个

docker-compose:
---
version: "2.1"
services:
  code-server:
    image: ghcr.io/linuxserver/code-server
    container_name: code-server
    environment:
      - TZ=Asia/Shanghai
      - PASSWORD=k2024480 #optional
      - SUDO_PASSWORD=k2024480 #optional
    volumes:
      - /data/codeserver/config:/config
      - /data/codeserver/project:/home/coder/project
    ports:
      - 8443:8443
    restart: unless-stopped

14、Wallabag

一款网页抓取/笔记工具,有多平台配套客户端。

docker-compose:
version: '3'
services:
  wallabag:
    image: wallabag/wallabag 
    container_name: wallabag 
    depends_on:
      - db
      - redis
    ports:
      - 12488:80  
    environment:
      - MYSQL_ROOT_PASSWORD=wallaroot
      - SYMFONY__ENV__DATABASE_DRIVER=pdo_mysql
      - SYMFONY__ENV__DATABASE_HOST=db
      - SYMFONY__ENV__DATABASE_PORT=3306
      - SYMFONY__ENV__DATABASE_NAME=wallabag
      - SYMFONY__ENV__DATABASE_USER=wallabag
      - SYMFONY__ENV__DATABASE_PASSWORD=wallapass
      - SYMFONY__ENV__DATABASE_CHARSET=utf8mb4
      - SYMFONY__ENV__MAILER_HOST=~
      - SYMFONY__ENV__MAILER_USER=~
      - SYMFONY__ENV__MAILER_PASSWORD=~
      - [email protected] 
      - SYMFONY__ENV__DOMAIN_NAME=http://omv.snowpipe.xyz:12488/
    volumes: 
      - /data/wallabag/images:/var/www/wallabag/web/assets/images
      - /data/wallabag/data:/var/www/wallabag/data
    restart: always
    
  db:
    image: mariadb
    container_name: wallabag_mariadb
    environment:
      - MYSQL_ROOT_PASSWORD=wallaroot
    volumes:
      - /data/wallabag/mysql:/var/lib/mysql
    restart: always
    
  redis:
    image: redis:alpine
    container_name: wallabag_redis
    restart: always

15、Admineer

一款轻量级数据库管理工具

16、Chrome-noVNC

在网页中访问网页,好像有什么不对?

17、Aria2-Pro&AriaNG

可以实现离线下载的两个镜像,其中AriaNG是WEBUI。两者之间通过Aria2 RFC相关联。美中不足的是AriaNG没法设置网页访问的用户名和密码。

aria2ng docker-compose:

version: "2"
services:

  aria2NG:
    image: iuboy/aria2ng
    container_name: aria2ng
    networks:
      - mynet
    ports:
      - 6868:8080
    restart: unless-stopped
networks:
  mynet:
    external: true

18、Calibre-Web 

网页版的Calibre,图书管理/阅读工具,不过基本配置还是依赖于Calibre。

docker-compose:
---
version: "2.1"
services:
  calibre-web:
    image: ghcr.io/linuxserver/calibre-web
    container_name: calibre-web
    environment:
      - TZ=Asia/Shanghai
      - DOCKER_MODS=linuxserver/calibre-web:calibre
    volumes:
      - /data/calibreweb/config:/config
      - /data/calibreweb/books:/books
    ports:
      - 8083:8083
    restart: unless-stopped
networks:
  mynet:
    external:
      name: mynet

19、Nextcloud

著名的开源网盘,网上的教程也是一搜一大把,只不过大都配置都比较繁琐,Docker版就要方便许多了,想想我当初曾经花了近一星期就为弄这东西。

mariadbadmin docker-compose:
---
version: "2"
services:
  mariadb:
    image: linuxserver/mariadb
    container_name: mariadb
    environment:
      - MYSQL_ROOT_PASSWORD=k2024480
      - TZ=Asia/Shanghai
    volumes:
      - /data/mariadb/config:/config
    ports:
      - 3306:3306
    networks:
      - mynet
    restart: unless-stopped
  
  adminer:
    image: adminer
    container_name: adminer
    environment:
      - ADMINER_DEFAULT_SERVER=mariadb
    ports:
      - 8080:8080
    networks:
      - mynet
    restart: unless-stopped

networks:
  mynet:
    external:
      name: mynet



nextcloud docker-compose:
---
version: "2"
services:
  nextcloud:
    image: linuxserver/nextcloud
    container_name: nextcloud
    environment:
      - TZ=Asia/Shanghai
    volumes:
      - /data/nextcloud/config:/config
      - /data/nextcloud/data:/data
    networks:
      - mynet
    ports:
      - 4433:443
    restart: unless-stopped

networks:
  mynet:
    external:
      name: mynet

20、lychee

嫌弃nextcloud的相册太慢而Chevereto又收费,这个轻便的相册管理程序就很适合我了。

docker-compose:
#-------------------------------------------
#  Docker Compose
# @RobLandry
# Repo : https://github.com/LycheeOrg/Lychee-Laravel-Docker
#-------------------------------------------

version: '3'

services:
  lychee:
    image: lycheeorg/lychee
    container_name: lychee
    ports:
      - 90:80
    volumes:
      - /data/lychee/conf:/conf
      - /data/lychee/uploads:/uploads
      - /data/lychee/sym:/sym
    environment:
      #- PUID=1000
      #- PGID=1000
      # PHP timezone e.g. PHP_TZ=America/New_York
      - PHP_TZ=UTC+8
      #- APP_NAME=Laravel
      #- APP_ENV=local
      #- APP_DEBUG=true
      #- APP_URL=http://localhost
      #- LOG_CHANNEL=stack
      - DB_CONNECTION=mysql
      - DB_HOST=mariadb
      - DB_PORT=3306
      - DB_DATABASE=lychee_db
      - DB_USERNAME=lychee
      - DB_PASSWORD=lychee
      #- DB_DROP_CLEAR_TABLES_ON_ROLLBACK=false
      #- DB_OLD_LYCHEE_PREFIX=''
      #- BROADCAST_DRIVER=log
      #- CACHE_DRIVER=file
      #- SESSION_DRIVER=file
      #- SESSION_LIFETIME=120
      #- QUEUE_DRIVER=sync
      #- SECURITY_HEADER_HSTS_ENABLE=false
      #- REDIS_HOST=127.0.0.1
      #- REDIS_PASSWORD=null
      #- REDIS_PORT=6379
      #- MAIL_DRIVER=smtp
      #- MAIL_HOST=smtp.mailtrap.io
      #- MAIL_PORT=2525
      #- MAIL_USERNAME=null
      #- MAIL_PASSWORD=null
      #- MAIL_ENCRYPTION=null
      #- PUSHER_APP_ID=''
      #- PUSHER_APP_KEY=''
      #- PUSHER_APP_SECRET=''
      #- PUSHER_APP_CLUSTER=mt1
      - STARTUP_DELAY=30
    restart: unless-stopped
networks:
  mynet:
    external:
      name: mynet

21、Heimdall

我利用它为各个Docker服务建立了一个网址导航。

22、Nginx

反代部分Docker容器并部署SSL证书。

参考:https://tvtv.fun/pc-to-nas/

最后更新于 2021-05-03