群晖Docker安装一个清新文艺的微社区PaoPao

介绍

  • PaoPao 是一个 Go 写的轻量级社区。采用 Gin+Vue 实现的微社区,界面清爽拥有话题、发布短内容、评论等功能。

体验地址

安装教程

  1. 群晖套件中心安装Git Server套件

  2. 打开群晖的SSH功能,使用终端软件进行连接,并切换到root状态下。

  3. 进入群晖的docker文件夹(你想将容器数据存储到哪就进哪个文件夹)

    cd /volume1/docker
  4. 拉取项目文件

    git clone https://github.com/rocboss/paopao-ce.git
  5. 进入项目文件目录

    cd paopao-ce
  6. 查看docker-compose.yaml文件,这一步先看,了解容器项目模板文件。
    退出可以按Esc键,退出输入 :q

    vi docker-compose.yaml
  7. 从配置文件中可以看出默认映射的文件夹缺少三个,需要手动创建用以保存容器数据。
    创建custom文件夹及子文件夹mysql-data、meili_data、paopao-ce(名字你可以自定义,知道哪个文件夹对应哪个就行。)

    mkdir -p custom/{mysql-data,meili_data,paopao-ce}
  8. 重新编辑docker-compose.yaml文件
    按字母 i 键进入编辑模式,修改下面的配置文件,按Esc键退出编辑模式,输入:wq退出并保存。
    将缺少的文件夹路径修改上去。

    version: '3.1'
    
    services:
      db:
        image: mysql:8.0
        restart: always
        environment:
          MYSQL_DATABASE: paopao
          MYSQL_USER: paopao
          MYSQL_PASSWORD: paopao
          MYSQL_RANDOM_ROOT_PASSWORD: yes
        volumes:
          - ./scripts/paopao-mysql.sql:/docker-entrypoint-initdb.d/paopao.sql
          - /volume1/docker/paopao-ce/custom/mysql-data:/var/lib/mysql    #这里需要更改文件夹路径
        ports:
          - 3306:3306
        networks:
          - paopao-network
    
      # minio:
      #   image: bitnami/minio:latest
      #   restart: always
      #   environment:
      #     MINIO_ROOT_USER: minio-root-user
      #     MINIO_ROOT_PASSWORD: minio-root-password
      #     MINIO_DEFAULT_BUCKETS: paopao:public
      #   ports:
      #     - 9000:9000
      #     - 9001:9001
      #   volumes:
      #     - ./custom/data/minio/data:/data
      #   networks:
      #     - paopao-network
    
      # redis:
      #   image: redis:7.2.1-alpine
      #   restart: always
      #   ports:
      #     - 6379:6379
      #   networks:
      #     - paopao-network
    
      redis:
        image: redis/redis-stack:7.2.0-v2
        restart: always
        ports:
          - 6379:6379
          - 8001:8001
        environment:
          REDISEARCH_ARGS: "MAXSEARCHRESULTS 5"
        networks:
          - paopao-network
      
      # zinc:
      #   image: bitbus/zincsearch:latest
      #   user: zincsearch
      #   restart: always
      #   ports:
      #     - 4080:4080
      #   volumes:
      #     - ./custom/data/zinc/data:/data
      #   environment:
      #     ZINC_FIRST_ADMIN_USER: admin
      #     ZINC_FIRST_ADMIN_PASSWORD: admin
      #     DATA_PATH: /data
      #   networks:
      #     - paopao-network
    
      meili:
        image: getmeili/meilisearch:v1.4
        restart: always
        ports:
          - 7700:7700
        volumes:
          - /volume1/docker/paopao-ce/custom/meili_data:/meili_data    #这里需要更改文件夹路径
        environment:
          - MEILI_MASTER_KEY=paopao-meilisearch
        networks:
          - paopao-network
    
      # meilisearch-ui:
      #   image: riccoxie/meilisearch-ui:latest
      #   restart: always
      #   ports:
      #     - 24900:24900
      #   networks:
      #     - paopao-network
      
      # openobserve:
      #   image: public.ecr.aws/zinclabs/openobserve:latest
      #   restart: always
      #   ports:
      #     - 5080:5080
      #   volumes:
      #     - ./custom/data/openobserve/data:/data
      #   environment:
      #     ZO_DATA_DIR: /data
      #     ZO_ROOT_USER_EMAIL: root@paopao.info
      #     ZO_ROOT_USER_PASSWORD: paopao-ce
      #   networks:
      #     - paopao-network
    
      # pyroscope:
      #   image: pyroscope/pyroscope:latest
      #   restart: always
      #   ports:
      #     - 4040:4040
      #   command:
      #     - 'server'
      #   networks:
      #     - paopao-network
    
      # phpmyadmin:
      #   image: phpmyadmin:5.2
      #   depends_on:
      #     - db
      #   ports:
      #     - 8080:80
      #   environment:
      #     - PMA_HOST=db
      #     - PMA_USER=paopao
      #     - PMA_PASSWORD=paopao
      #   networks:
      #     - paopao-network
    
      backend:
        image: bitbus/paopao-ce:0.5
        restart: always
        depends_on:
          - db
          - redis
          - meili
        # modify below to reflect your custom configure
        volumes:
          - ./config.yaml.sample:/app/paopao-ce/config.yaml
          - /volume1/docker/paopao-ce/custom/paopao-ce:/app/paopao-ce/custom    #这里需要更改文件夹路径
        ports:
          - 8008:8008    #第一个8008端口是容器外部访问端口,可以自己更改。
        networks:
          - paopao-network
    
    networks:
      paopao-network:
          driver: bridge
    
  9. 编辑config.yaml.sample文件
    将本地文件OSS存储配置这一端内的127.0.0.1换成你群晖的IP。
    (如果不修改会导致上传的图片无法显示。)

    vi config.yaml.sample

    按字母 i 键进入编辑模式,修改下面的配置文件,按Esc键退出编辑模式,输入:wq退出并保存。


  10. 执行命令,启动docker-compose文件,拉取镜像并创建容器。

    docker-compose up -d
  11. 查看正在运行的容器

    docker-compose ps

访问PaoPao

  1. 打开浏览器,以群晖的IP+设置的端口进行访问。
    以本机为例:http://172.16.19.6:8008

  2. 设置好之后点击注册

  3. 登录成功

  4. 随便发一个测试一下

  5. 发帖方式类似于微博和推特,和Misskey 是同类应用,只是 PaoPao 并不是去中心化的。

  6. 其他的就很简单,可以自己探索。

  7. 更加丰富的功能开启需要查看项目文档,根据作者描述开启。

项目地址

功德+1(狗子).gif

👇👇👇