Overview

This section outlines the steps necessary to deploy the Screenly Playground project into a production environment. The deployment involves using Docker to containerize the application, ensuring it is scalable, manageable, and isolated from the host system.

Step 1: Set Up the Docker Environment

To begin deploying the application, ensure that Docker is installed and running on the target server. Use the Dockerfile provided to create the container image for the application.

Dockerfile Breakdown

The Dockerfile encapsulates the necessary steps to set up the Python environment for the application.

FROM python:3-alpine

WORKDIR /usr/src/app

COPY requirements.txt ./
RUN pip install --no-cache-dir -r requirements.txt

COPY app.py .

CMD python app.py
  • FROM python:3-alpine: Starts from a lightweight Python 3 Alpine image.

  • WORKDIR /usr/src/app: Sets the working directory inside the container.

  • COPY requirements.txt ./: Copies the requirements.txt file into the working directory.

  • RUN pip install --no-cache-dir -r requirements.txt: Installs the necessary Python packages specified in requirements.txt.

  • COPY app.py .: Copies the main application file into the container.

  • CMD python app.py: Specifies the command to run the application when the container starts.

Step 2: Build the Docker Image

With the Dockerfile prepared, build the Docker image using the following command in the terminal:

docker build -t screenly-playground .

This command will create a Docker image tagged as screenly-playground.

Step 3: Run the Docker Container

Once the image is built, run the container using the command below:

docker run -d -p 5000:5000 screenly-playground
  • -d: Runs the container in detached mode.

  • -p 5000:5000: Maps port 5000 of the container to port 5000 on the host machine.

Step 4: Verify the Deployment

After running the container, verify that the application is running correctly by accessing it through a web browser or using curl:

curl http://localhost:5000

This should return the application home page or a success response, confirming that the deployment was successful.

Step 5: Handling Environment Variables (Optional)

If your application requires environment variables for configuration, you can pass them when running the Docker container. Use the -e flag as shown below:

docker run -d -p 5000:5000 -e MY_ENV_VAR=value screenly-playground

This sets MY_ENV_VAR inside the container to the specified value.

Step 6: Managing Container Lifecycle

To stop the running container:

docker stop <container_id>

To remove the container after stopping:

docker rm <container_id>

To view running containers, use:

docker ps

Conclusion

This guide provides a concise step-by-step approach to deploying the Screenly Playground project while highlighting key commands, file structures, and configurations necessary for a successful production deployment.


Source: Dockerfile information and deployment steps.