Skip to content
This repository has been archived by the owner on Dec 1, 2023. It is now read-only.

[QA] raspberrypi-homeserver v3.0 release #34

Closed
veerendra2 opened this issue Nov 20, 2022 · 6 comments · Fixed by #35 or #38
Closed

[QA] raspberrypi-homeserver v3.0 release #34

veerendra2 opened this issue Nov 20, 2022 · 6 comments · Fixed by #35 or #38
Assignees
Labels
QA Quality and Assurence

Comments

@veerendra2
Copy link
Owner

  • Deployments
  • Application functionality
@veerendra2 veerendra2 added the QA Quality and Assurence label Nov 20, 2022
@veerendra2 veerendra2 self-assigned this Nov 20, 2022
@veerendra2
Copy link
Owner Author

veerendra2 commented Nov 20, 2022

🔦 Nextcloud

  • Cant upload files
    • https://github.com/nextcloud/server/issues/16575
  • Cant login via mobile app

👉 Above problems persists even after fresh installation of Ubuntu

  • FIX: Have to set client_max_body_size 1G; in nginx reverse proxy config

@veerendra2
Copy link
Owner Author

veerendra2 commented Nov 21, 2022

🔦 Jellyfin

  • Some videos files are not playing properly. Getting stuck
    --device=/dev/video10:/dev/video10
    --device=/dev/video11:/dev/video11 
    --device=/dev/video12:/dev/video12
    
    image
  • https://github.com/jellyfin/jellyfin/issues/3667
    • This might be due to ./config/system.xml:/config/config/system.xml mount in docker-compose.yml in jellyfin. The workaround is, docker-compose up -d without ./config/system.xml:/config/config/system.xml and let the initialize the DB in docker volume and add ./config/system.xml:/config/config/system.xml volume entry and restart.
  • Test docker secrets (Will be added later version)

@veerendra2
Copy link
Owner Author

veerendra2 commented Nov 21, 2022

🔦 Mounting Disks

  • After disk mount, all files are deleted
    root at atom in /media/disk1
    $ tre .
       1 [drw-r--r-- root     4.0K]  .
       2 ├── [drwxr-xr-x 165536   4.0K]  books
       3 ├── [drwxr-xr-x 165536   4.0K]  movies
       4 ├── [drwxr-xr-x 165536   4.0K]  music
       5 └── [drwxr-xr-x 165536   4.0K]  tvshows
       6
       7 4 directories, 0 files
    
    • The disks are not mounted. Need to fix ansible to mount disks
    • Should be fixed, the disks are not mounted back, because boot: no in ansible. Not moved the disk mount automated after reboot

@veerendra2
Copy link
Owner Author

veerendra2 commented Nov 22, 2022

🔍 Test

  • Tested playbook. Fixed above issues. Able to use all services
Click Here for Output
$ cd ~/projects/raspberrypi-homeserver
$ time ansible-playbook main.yml
[WARNING]: Skipping unexpected key (localhost) in group (all), only "vars", "children" and "hosts" are valid

PLAY [Raspberry Pi Homeserver] ****************************************************************************************************************

TASK [Gathering Facts] ************************************************************************************************************************
ok: [atom]

TASK [Run update] *****************************************************************************************************************************
changed: [atom]

TASK [Install necessary packages] ********************************************************************************************                 *****************
changed: [atom]

TASK [Install snap packages] *************************************************************************************************                 *****************
changed: [atom]

TASK [Install pypi packages] *************************************************************************************************                 *****************
changed: [atom]

TASK [Download scripts] ***********************************************************************************************************************
changed: [atom] => (item={'key': 'dotfiles', 'value': 'https://raw.githubusercontent.com/veerendra2/dotfiles/master/install.sh'})
changed: [atom] => (item={'key': 'docker', 'value': 'https://get.docker.com/'})

TASK [Run scripts] ****************************************************************************************************************************
changed: [atom] => (item={'key': 'dotfiles', 'value': 'https://raw.githubusercontent.com/veerendra2/dotfiles/master/install.sh'})
changed: [atom] => (item={'key': 'docker', 'value': 'https://get.docker.com/'})

TASK [Start docker daemon] ********************************************************************************************************************
ok: [atom]

TASK [Add user in docker group] ***************************************************************************************************************
changed: [atom]

TASK [Update userns-remap config] *************************************************************************************************************
fatal: [atom]: FAILED! => changed=true
  cmd: |-
    cp /etc/docker/daemon.json /etc/docker/daemon.json.backup
    jq '. += { "userns-remap" : "default" }' < /etc/docker/daemon.json > /tmp/daemon.json
    mv /tmp/daemon.json /etc/docker/daemon.json
  delta: '0:00:00.020137'
  end: '2022-11-22 21:42:15.649268'
  msg: non-zero return code
  rc: 1
  start: '2022-11-22 21:42:15.629131'
  stderr: |-
    cp: cannot stat '/etc/docker/daemon.json': No such file or directory
    /bin/sh: 2: cannot open /etc/docker/daemon.json: No such file
    mv: cannot stat '/tmp/daemon.json': No such file or directory
  stderr_lines: <omitted>
  stdout: ''
  stdout_lines: <omitted>

TASK [Create /etc/docker/daemon.json and configure userns-remap] ******************************************************************************
changed: [atom]

TASK [Restart docker daemon] ******************************************************************************************************************
changed: [atom]

TASK [Create docker networks] *****************************************************************************************************************
changed: [atom] => (item=front-tier)
changed: [atom] => (item=back-tier)

TASK [Reboot Pi after upgrade] ****************************************************************************************************************
changed: [atom]

TASK [Create mount directories] ***************************************************************************************************************
changed: [atom] => (item={'key': 'usb-ext-hdd1', 'value': '/media/disk1'})
changed: [atom] => (item={'key': 'usb-ext-hdd2', 'value': '/media/disk2'})

TASK [Configure disk mounts in /etc/fstab] ****************************************************************************************************
changed: [atom] => (item={'key': 'usb-ext-hdd1', 'value': '/media/disk1'})
changed: [atom] => (item={'key': 'usb-ext-hdd2', 'value': '/media/disk2'})

TASK [Create temporary bettercap build directory] *********************************************************************************************
changed: [atom]

TASK [Build bettercap] ************************************************************************************************************************
changed: [atom]

TASK [Install bettercap] **********************************************************************************************************************
changed: [atom]

TASK [Display bettercap version] **************************************************************************************************************
ok: [atom] =>
  msg: bettercap v2.32.0 (built for linux arm64 with go1.18.1)

TASK [Install bettercap caplets] **************************************************************************************************************
changed: [atom]

TASK [set_fact] *******************************************************************************************************************************
ok: [atom]

TASK [Create project directory | monitoring] **************************************************************************************************
changed: [atom]

TASK [Synchronize monitoring directory | monitoring] ******************************************************************************************
changed: [atom]

TASK [Run docker-compose up | monitoring] *****************************************************************************************************
changed: [atom]

TASK [set_fact] *******************************************************************************************************************************
ok: [atom]

TASK [Disable stub resolver in systemd-resolved config] ***************************************************************************************
changed: [atom]

TASK [Create backup /etc/resolv.conf] *********************************************************************************************************
changed: [atom]

TASK [Remove /etc/resolv.conf] ****************************************************************************************************************
changed: [atom]

TASK [Create link /etc/resolv.conf] ***********************************************************************************************************
changed: [atom]

TASK [Restart systemd-resolved] ***************************************************************************************************************
changed: [atom]

TASK [Create project directory | pihole] ******************************************************************************************************
changed: [atom]

TASK [Synchronize project directory | pihole] *************************************************************************************************
changed: [atom]

TASK [Run docker-compose up | pihole] *********************************************************************************************************
changed: [atom]

TASK [set_fact] *******************************************************************************************************************************
ok: [atom]

TASK [Create project directory | portainer] ***************************************************************************************************
changed: [atom]

TASK [Synchronize directory | portainer] ******************************************************************************************************
changed: [atom]

TASK [Run docker-compose up | portainer] ******************************************************************************************************
changed: [atom]

TASK [set_fact] *******************************************************************************************************************************
ok: [atom]

TASK [Create project directory | homer] *******************************************************************************************************
changed: [atom]

TASK [Synchronize homer directory | homer] ****************************************************************************************************
changed: [atom]

TASK [Run docker-compose up | homer] **********************************************************************************************************
changed: [atom]

TASK [set_fact] *******************************************************************************************************************************
ok: [atom]

TASK [Create project directory | jellyfin] ****************************************************************************************************
changed: [atom]

TASK [Synchronize directory | jellyfin] *******************************************************************************************************
changed: [atom]

TASK [Run docker-compose up | jellyfin] *******************************************************************************************************
changed: [atom]

TASK [set_fact] *******************************************************************************************************************************
ok: [atom]

TASK [Create project directory | nextcloud] ***************************************************************************************************
changed: [atom]

TASK [Synchronize directory | nextcloud] ******************************************************************************************************
changed: [atom]

TASK [Run docker-compose up | nextcloud] ******************************************************************************************************
changed: [atom]

TASK [set_fact] *******************************************************************************************************************************
ok: [atom]

TASK [Create project directory | filebrowser] *************************************************************************************************
changed: [atom]

TASK [Synchronize directory | filebrowser] ****************************************************************************************************
changed: [atom]

TASK [Run docker-compose up | filebrowser] ****************************************************************************************************
changed: [atom]

TASK [set_fact] *******************************************************************************************************************************
ok: [atom]

TASK [Create project directory | nginx] *******************************************************************************************************
changed: [atom]

TASK [Synchronize directory | nginx] **********************************************************************************************************
changed: [atom]

TASK [Fetching ssl keys status | nginx] *******************************************************************************************************
ok: [atom] => (item=/opt/apps/nginx/ssl/server.key)
ok: [atom] => (item=/opt/apps/nginx/ssl/server.pem)

TASK [Generating self-signed certificates if required | nginx] ********************************************************************************
changed: [atom]

TASK [Make server.key readable for other users] ***********************************************************************************************
changed: [atom]

TASK [Run docker-compose up | nginx] **********************************************************************************************************
changed: [atom]

TASK [set_fact] *******************************************************************************************************************************
ok: [atom]

TASK [Append custom rules in /etc/ufw/after.rules] ********************************************************************************************
changed: [atom]

TASK [Set DEFAULT_FORWARD_POLICY=DROP in /etc/default/ufw] ************************************************************************************
ok: [atom]

TASK [Allow selected tcp ports] ***************************************************************************************************************
changed: [atom] => (item=80)
changed: [atom] => (item=443)
changed: [atom] => (item=22)
changed: [atom] => (item=53)
changed: [atom] => (item=7359)
changed: [atom] => (item=1900)

TASK [Allow selected udp ports] ***************************************************************************************************************
changed: [atom] => (item=53)
changed: [atom] => (item=67)

TASK [Enable ufw] *****************************************************************************************************************************
changed: [atom]

TASK [Run autoremove] *************************************************************************************************************************
changed: [atom]

PLAY RECAP ************************************************************************************************************************************
atom                       : ok=67   changed=53   unreachable=0    failed=0    skipped=0    rescued=1    ignored=0


real    32m24.731s
user    2m29.195s
sys     0m25.645s

@veerendra2 veerendra2 linked a pull request Nov 22, 2022 that will close this issue
@veerendra2 veerendra2 reopened this Nov 24, 2022
@veerendra2
Copy link
Owner Author

🔦 Monitoring

  • Grafana can display some images
      logger=avatar t=2022-11-24T19:40:28.027904615Z level=error msg="Failed to read user_profile.png" path=/usr/share/grafana/public/img/user_profile.png
      logger=infra.usagestats.collector t=2022-11-24T19:40:28.35725968Z level=info msg="registering usage stat providers" usageStatsProvidersLen=2
      logger=provisioning.plugins t=2022-11-24T19:40:28.489461113Z level=error msg="Failed to read plugin provisioning files from directory" path=/etc/grafana/provisioning/plugins error="open /etc/grafana/provisioning/plugins: no such file or directory"
      logger=provisioning.notifiers t=2022-11-24T19:40:28.48966532Z level=error msg="Can't read alert notification provisioning files from directory" path=/etc/grafana/provisioning/notifiers error="open /etc/grafana/provisioning/notifiers: no such file or directory"
      logger=provisioning.alerting t=2022-11-24T19:40:28.489826965Z level=error msg="can't read alerting provisioning files from directory" path=/etc/grafana/provisioning/alerting error="open /etc/grafana/provisioning/alerting: no such file or directory"
    
    • FIXED: This is due to mount volume locations. Changed mount volumes in docker-compose
      volumes:
        - grafana_data:/var/lib/grafana
        - ./grafana/provisioning/dashboards:/etc/grafana/provisioning/dashboards
        - ./grafana/provisioning/datasources:/etc/grafana/provisioning/datasources
      
  • Prometheus target is failing
    • FIXED: This is due to prometheus sub-path I configured before. The new scrape endpoint should be http://localhost:9090/prometheus/metrics
  • Configured docker secrets for grafana. Working fine
  • Fixed blackbox exporter grafana dashboard datasource vaules

@veerendra2
Copy link
Owner Author

veerendra2 commented Nov 24, 2022

🔦 Pihole

@veerendra2 veerendra2 linked a pull request Nov 27, 2022 that will close this issue
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
QA Quality and Assurence
Projects
No open projects
Status: Done
1 participant