Skip to content

Coffee-deve/Design_lab_project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

The project focuses on the creation of the multimedia server, and also on the creation of the snake game.

Snake game part:

Details about the snake game part.

Pinout for LCD 2x16 display:

VCC ---> 5 V
GND ---> GND
DATA PINS:
SCL (signal clock) ---> B3
SDA (signal data) ---> B4
image image

Pinout for buttons:

VCC ---> 5 V
GND ---> GND SIGNAL ---> digital pin B1 and B2 image

Media Server on Emulated Raspbian (macOS)

This repository demonstrates how to run a Plex Media Server inside an emulated Raspbian environment on macOS using Docker and QEMU. It includes scripts for setup, networking, and managing the Plex service.

Table of Contents

  1. Overview
  2. Project Structure
  3. Prerequisites
  4. Installation & Setup
  5. Scripts Explanation
  6. Troubleshooting

Overview

  • Goal: Emulate a Raspberry Pi 3 (Raspbian) environment on macOS and run a Plex Media Server.
  • Emulation: Utilizes QEMU for ARM to simulate Raspberry Pi hardware.
  • Docker: Encapsulates the emulated environment, so you don’t need to install QEMU or additional dependencies directly on your host.

After following this guide, you’ll have a Docker image that boots an emulated Raspbian kernel, installs Plex, and makes it accessible from your macOS host.


Project Structure

  • media_server/
    Main project folder containing all necessary files.

  • scripts/

    • media_service.sh: Manages the Media Server (start, stop, restart).
    • network_conf.sh: Configures network settings for the emulation.
    • setup.sh: Installs media server and other dependencies in the emulated environment.
  • bcm2710-rpi-3-b-plus.dtb
    Device Tree Blob for Raspberry Pi 3 B+.

  • kernel8.img
    64-bit kernel image for Raspberry Pi 3 emulation.

  • Dockerfile
    Defines the Docker build process, including QEMU setup, copying kernel files, configuring Raspbian, and installing Plex.


Prerequisites

  1. macOS (Intel or Apple Silicon) with:

    • Docker Desktop installed and running.
    • (Optional) Homebrew if you want QEMU or other tools installed natively for testing.
  2. Git (to clone the repository).

  3. Sufficient disk space for the emulated image and any media files.


Installation & Setup

  1. Clone the Repository

    git clone https://github.com/Coffee-deve/Design_lab_project.git
    cd media_server
  2. Build the Docker Image

    docker build -t media_server .
  3. Run the Docker Container

    docker run -it --rm --privileged -p 32400:32400 media_server
  4. Access Media Server


Scripts Explanation

  1. media_service.sh Purpose: Start, stop, or restart Plex inside the emulated environment.

Usage:

./media_service.sh start
./media_service.sh stop
./media_service.sh restart
  1. network_conf.sh Purpose: Configure network settings (port forwarding, bridging, etc.) for the emulated environment.

Usage:

./network_conf.sh

Adjust this script as needed to match your network requirements.

  1. setup.sh Purpose: Install Plex, dependencies, and other tools in the emulated Raspbian environment.

Usage:

./setup.sh

Typically runs during Docker build or at first container startup.

Troubleshooting

Cannot Access Plex UI

Ensure Docker is forwarding port 32400. Check if Plex is running inside the container:

docker exec -it plex_rpi ps aux | grep plex

Slow Performance

Emulation is slower than native. Increase CPU/RAM for Docker if possible. Use “Direct Play” instead of transcoding if you can.

Permission Issues

If mounting host directories, ensure the container user has proper read permissions. Use change ownership or permissions as needed.

docker exec -it plex_rpi chown -R plex:plex /path/to/media

Port Conflicts

If port 32400 is in use, change the host port (e.g., -p 8080:32400) and then access Plex at http://localhost:8080/web.

Final project:

Connections of both parts.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors