This is the second post regarding basic configuration of Raspberry Pi 2.

    Timezone change

    By default, Raspberry Pi 2 will use UTC time. Command tzselect will give you continent and country selection to pick.

    pi@raspberrypi ~ $ date
    Tue Oct  6 13:48:38 UTC 2015
    pi@raspberrypi ~ $ tzselect
    Please identify a location so that time zone rules can be set correctly.
    Please select a continent or ocean.
     1) Africa
     2) Americas
     3) Antarctica
     4) Arctic Ocean
     5) Asia
     6) Atlantic Ocean
     7) Australia
     8) Europe
     9) Indian Ocean
    10) Pacific Ocean
    11) none – I want to specify the time zone using the Posix TZ format

    pi@raspberrypi ~ $ tzconfig
    WARNING: the tzconfig command is deprecated, please use:
     dpkg-reconfigure tzdata
    pi@raspberrypi ~ $ dpkg-reconfigure tzdata
    /usr/sbin/dpkg-reconfigure must be run as root
    pi@raspberrypi ~ $ sudo dpkg-reconfigure tzdata

    Current default time zone: ‘America/Toronto’
    Local time is now:      Tue Oct  6 10:55:18 EDT 2015.
    Universal Time is now:  Tue Oct  6 14:55:18 UTC 2015.

    pi@raspberrypi ~ $ date
    Tue Oct  6 10:55:28 EDT 2015

    Access the Raspberry Pi Desktop

    XRDP service will allow you to use remote desktop to access Raspberry Pi GUI through VNC service.

    pi@raspberrypi ~ $ sudo apt-get install xrdp
    Reading package lists… Done
    Building dependency tree    
    Reading state information… Done
    The following extra packages will be installed:
      tightvncserver xfonts-base
    Suggested packages:
    The following NEW packages will be installed:
      tightvncserver xfonts-base xrdp
    0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded.
    Need to get 7,219 kB of archives.
    After this operation, 11.5 MB of additional disk space will be used.
    Do you want to continue [Y/n]? y
    Get:1 wheezy/main tightvncserver armhf 1.3.9-6.4 [786 kB]
    Get:2 wheezy/main xfonts-base all 1:1.0.3 [6,181 kB]
    Get:3 wheezy/main xrdp armhf 0.5.0-2 [252 kB]
    Fetched 7,219 kB in 14s (493 kB/s)                                                    
    Selecting previously unselected package tightvncserver.
    (Reading database … 76938 files and directories currently installed.)
    Unpacking tightvncserver (from …/tightvncserver_1.3.9-6.4_armhf.deb) …
    Selecting previously unselected package xfonts-base.
    Unpacking xfonts-base (from …/xfonts-base_1%3a1.0.3_all.deb) …
    Selecting previously unselected package xrdp.
    Unpacking xrdp (from …/xrdp_0.5.0-2_armhf.deb) …
    Processing triggers for man-db …
    Processing triggers for fontconfig …
    Setting up tightvncserver (1.3.9-6.4) …
    update-alternatives: using /usr/bin/tightvncserver to provide /usr/bin/vncserver (vncserver) in auto mode
    update-alternatives: using /usr/bin/Xtightvnc to provide /usr/bin/Xvnc (Xvnc) in auto mode
    update-alternatives: using /usr/bin/tightvncpasswd to provide /usr/bin/vncpasswd (vncpasswd) in auto mode
    Setting up xfonts-base (1:1.0.3) …
    Setting up xrdp (0.5.0-2) …
    [….] Generating xrdp RSA keys……
    Generating 512 bit rsa key…

    ssl_gen_key_xrdp1 ok

    saving to /etc/xrdp/rsakeys.ini

    done (done).
    [….] Starting Remote Desktop Protocol server : xrdp sesman.
    pi@raspberrypi ~ $

    List System Information

    pi@raspberrypi ~ $ uname -a
    Linux raspberrypi 3.18.7-v7+ #755 SMP PREEMPT Thu Feb 12 17:20:48 GMT 2015 armv7l GNU/Linux
    HypriotOS/armv7: pirate@black-pearl in ~
    $ ls /etc/*release
    HypriotOS/armv7: pirate@black-pearl in ~
    $ cat /etc/os-release
    PRETTY_NAME="Raspbian GNU/Linux 10 (buster)"
    NAME="Raspbian GNU/Linux"
    VERSION="10 (buster)"
    HypriotOS/armv7: pirate@black-pearl in ~

    Add Cron Job

    Add a cron job to halt Raspberry Pi at 23:00 everyday.

    pi@raspberrypi ~ $ crontab -e

      GNU nano 2.2.6           File: /tmp/crontab.obWc51/crontab                          

    # Edit this file to introduce tasks to be run by cron.
    # Each task to run has to be defined through a single line
    # indicating with different fields when the task will be run
    # and what command to run for the task
    # To define the time you can provide concrete values for
    # minute (m), hour (h), day of month (dom), month (mon),
    # and day of week (dow) or use ‘*’ in these fields (for ‘any’).#
    # Notice that tasks will be started based on the cron’s system
    # daemon’s notion of time and timezones.
    # Output of the crontab jobs (including errors) is sent through
    # email to the user the crontab file belongs to (unless redirected).
    # For example, you can run a backup of all your user accounts
    # at 5 a.m every week with:
    # 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
    # For more information see the manual pages of crontab(5) and cron(8)
    # m h  dom mon dow   command
    0 23 * * * sudo halt

                                       [ Wrote 24 lines ]

    crontab: installing new crontab

    Install Portainer

    Assume you have installed HypriotOS from
    Docker and Docker-Compose has been installed. The default credentials for the image are user pirate with password hypriot.

    You always can change it from raspi-config menu.

    Check docker version and docker-compose version.
    HypriotOS/armv7: root@black-pearl in ~
    # docker version
    Client: Docker Engine - Community
     Version:           19.03.12
     API version:       1.40
     Go version:        go1.13.10
     Git commit:        48a6621
     Built:             Mon Jun 22 15:53:41 2020
     OS/Arch:           linux/arm
     Experimental:      false
    Server: Docker Engine - Community
      Version:          19.03.12
      API version:      1.40 (minimum version 1.12)
      Go version:       go1.13.10
      Git commit:       48a6621
      Built:            Mon Jun 22 15:47:34 2020
      OS/Arch:          linux/arm
      Experimental:     false
      Version:          1.2.13
      GitCommit:        7ad184331fa3e55e52b890ea95e65ba581ae3429
      Version:          1.0.0-rc10
      GitCommit:        dc9208a3303feef5b3839f4323d9beb36df0a9dd
      Version:          0.18.0
      GitCommit:        fec3683
    HypriotOS/armv7: root@black-pearl in ~
    # docker-compose version
    docker-compose version 1.26.1, build 634eb50
    docker-py version: 4.2.2
    CPython version: 3.7.3
    OpenSSL version: OpenSSL 1.1.1d  10 Sep 2019
    HypriotOS/armv7: root@black-pearl in ~
    Installing Portainer
    HypriotOS/armv7: root@black-pearl in ~
    # docker volume create portainer_data
    HypriotOS/armv7: root@black-pearl in ~
    # docker run -d -p 9000:9000 --name portainer --restart always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest
    Unable to find image 'portainer/portainer-ce:latest' locally
    latest: Pulling from portainer/portainer-ce
    651a8e6e1630: Pull complete
    56e38df73332: Pull complete
    c559aeebeb38: Pull complete
    Digest: sha256:79edf1302c9b4fdb06bc23321cc551e9118c29e6d668e12e23d4e58d993ab830
    Status: Downloaded newer image for portainer/portainer-ce:latest
    HypriotOS/armv7: root@black-pearl in ~

    Install Hypriot OS on Raspberry Pi

    An OS with build-In Docker support in Raspbian release
    Default Credentials:  user pirate with password hypriot.
    Flashing tool: Etcher for Windows (x86|x64) (Portable)  (

    Install Pi-hole

    1. Copy docker-compose.yml.example to docker-compose.yml and update as needed. See example below: Docker-compose example:
    nano docker-compose.yml

    version: "3"
    # More info at and
        container_name: pihole
        image: pihole/pihole:latest
          - "53:53/tcp"
          - "53:53/udp"
          - "67:67/udp"
          - "80:80/tcp"
          TZ: 'America/Toronto'
          WEBPASSWORD: 'Change-it-to-your-own'
        # We'll use host networking simply because it is way easier to setup.
        network_mode: host
        # Volumes store your data between container upgrades
          - './etc-pihole/:/etc/pihole/'
          - './etc-dnsmasq.d/:/etc/dnsmasq.d/'
        # Recommended but not required (DHCP needs NET_ADMIN)
          - NET_ADMIN
        restart: unless-stopped

    1. Run docker-compose up --detach to build and start pi-hole


    from Blogger

    By Jon

    Leave a Reply

    Ads Blocker Image Powered by Code Help Pro

    Ads Blocker Detected!!!

    We have detected that you are using extensions to block ads. Please support us by disabling these ads blocker.

    %d bloggers like this: