Skip to main content
Deploy Web Scrapping Hub to CasaOS for a streamlined home server experience. This guide covers installation, configuration, and management through the CasaOS interface.

What is CasaOS?

CasaOS is a simple, easy-to-use home server operating system designed around Docker. It provides a web-based interface for managing containers, storage, and applications.
Perfect for: Home media servers, Raspberry Pi deployments, NAS systems, and personal cloud setups.

Prerequisites

Before you begin, ensure you have:
  • CasaOS installed on your server (Installation Guide)
  • Docker support enabled (included by default)
  • Network access to your CasaOS instance
  • Port 1234 available (or configure an alternative)

Architecture Support

Web Scrapping Hub is optimized for multiple architectures:
  • AMD64 (x86_64) - Standard servers and PCs
  • ARM64 (aarch64) - Raspberry Pi 4/5, modern ARM devices
  • ARMv7 - Raspberry Pi 3, older ARM devices

Deployment Methods

The fastest way to deploy is using the pre-built image from Docker Hub.
1

Access CasaOS App Store

  1. Open your CasaOS web interface
  2. Navigate to App Store or Apps
  3. Click Install a customized app or Custom Install
2

Configure the application

Use the following docker-compose configuration:
docker-compose.yml
services:
  anxerstudios-streaming:
    image: zlosttk/anxerstudios-streaming:latest
    container_name: anxerstudios-streaming
    hostname: anxerstudios-streaming
    
    # Resource configuration
    cpu_shares: 90
    deploy:
      resources:
        limits:
          memory: 3369M
    
    # Environment variables
    environment:
      - PGID=1000
      - PUID=1000
      - TZ=America/Bogota
      - FLASK_ENV=production
      - FLASK_DEBUG=false
    
    # Network ports
    ports:
      - "1234:1234"
    
    # Persistent storage
    volumes:
      - /DATA/AppData/anxerstudios-streaming/app/config:/app/config
      - /DATA/AppData/anxerstudios-streaming/logs:/app/logs
    
    restart: unless-stopped
    
    # Health monitoring
    healthcheck:
      test: ["CMD-SHELL", "curl -f http://localhost:1234/api/secciones || exit 1"]
      interval: 30s
      timeout: 10s
      retries: 3
      start_period: 40s
    
    networks:
      - anxerstudios-streaming
    
    # CasaOS labels
    labels:
      - "https://github.com/UnfairAdventage/Web-Scrapping/blob/main/frontend/project/public/icono.png?raw=true"
      - "casaos.description=AnxerStudios Streaming - Plataforma de streaming de películas y series"
      - "casaos.category=Entertainment"

networks:
  anxerstudios-streaming:
    name: anxerstudios-streaming
    driver: bridge
3

Customize settings

Adjust the following settings for your environment:Environment Variables:
  • PUID and PGID: Set to your user/group ID (find with id command)
  • TZ: Your timezone (e.g., America/New_York, Europe/London)
Storage Paths:
volumes:
  - /your/path/config:/app/config
  - /your/path/logs:/app/logs
Memory Limit: Adjust based on your system (minimum 1GB recommended):
limits:
  memory: 2048M  # 2GB
4

Deploy the application

  1. Paste the configuration into CasaOS
  2. Click Install or Deploy
  3. Wait for the container to download and start
  4. The app will appear in your CasaOS dashboard

Method 2: Building from Source

For customization or development, build the image locally on your CasaOS server.
1

Connect to your CasaOS server

ssh user@casaos-server-ip
2

Clone the repository

cd /DATA/AppData  # Or your preferred location
git clone <repository-url>
cd Web-Scrapping/docker
3

Build the Docker image

docker build -t web-scrapping-hub .
Building on ARM devices (Raspberry Pi) may take 10-20 minutes due to compilation of native dependencies.
4

Create docker-compose.yml

Create a simplified compose file:
docker-compose.yml
services:
  web-scrapping-hub:
    image: web-scrapping-hub
    container_name: web-scrapping-hub
    ports:
      - "1234:1234"
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=America/New_York
    volumes:
      - ./config:/app/config
      - ./logs:/app/logs
    restart: unless-stopped
5

Deploy via CasaOS

  1. Open CasaOS web interface
  2. Go to App Store > Custom Install
  3. Upload your docker-compose.yml
  4. Click Install

CasaOS-Specific Configuration

Application Labels

The docker-compose includes CasaOS-specific labels for better integration:
labels:
  - "casaos.description=AnxerStudios Streaming - Movie and series streaming platform"
  - "casaos.category=Entertainment"

Extended Configuration (x-casaos)

x-casaos:
  author: ZLostTK
  category: Entertainment
  icon: https://icon.casaos.io/main/all/anxerstudios-streaming.png
  index: /
  port_map: "1234"
  scheme: http
  title:
    custom: "AnxerStudios Streaming"
    en_us: "AnxerStudios Streaming"
  description:
    en_us: "Plataforma de streaming para películas, series y anime con interfaz React y backend Flask"
This provides:
  • Custom app icon in CasaOS dashboard
  • Proper categorization (Entertainment)
  • Direct launch from dashboard
  • Metadata for app store listing

Accessing Your Application

Local Network Access

Once deployed, access the application from any device on your network:
http://<CASAOS_IP>:1234
Find your CasaOS IP:
ip addr show | grep "inet "

Example URLs

  • Home page: http://192.168.1.100:1234/page/1
  • Search: http://192.168.1.100:1234/page/1?search=action
  • Player: http://192.168.1.100:1234/ver/pelicula/movie-name

Access from Mobile/TV

The frontend automatically detects your server IP. Simply navigate to http://<CASAOS_IP>:1234 on any device connected to your network.

Managing the Application in CasaOS

Through CasaOS Dashboard

  1. Start/Stop: Click the app tile to view controls
  2. Logs: Click Logs to view application output
  3. Terminal: Access container shell for debugging
  4. Settings: Modify environment variables and volumes
  5. Uninstall: Remove the application and optionally delete data

Command Line Management

# View running containers
docker ps

# View logs
docker logs -f anxerstudios-streaming

# Restart container
docker restart anxerstudios-streaming

# Update container
docker-compose pull
docker-compose up -d

Resource Management

Memory Configuration

The default configuration allocates 3.3GB of memory. Adjust based on your system: For Raspberry Pi 4 (4GB):
deploy:
  resources:
    limits:
      memory: 1536M  # 1.5GB
For Raspberry Pi 4 (8GB) or better:
deploy:
  resources:
    limits:
      memory: 2048M  # 2GB

CPU Shares

cpu_shares: 90  # Lower priority (default: 1024)
Adjust CPU priority:
  • 1024: Normal priority
  • 512: Lower priority (good for background services)
  • 2048: Higher priority

Storage and Persistence

Default Volume Paths

volumes:
  - /DATA/AppData/anxerstudios-streaming/app/config:/app/config
  - /DATA/AppData/anxerstudios-streaming/logs:/app/logs

Creating Volume Directories

sudo mkdir -p /DATA/AppData/anxerstudios-streaming/app/config
sudo mkdir -p /DATA/AppData/anxerstudios-streaming/logs
sudo chown -R 1000:1000 /DATA/AppData/anxerstudios-streaming

Updating the Application

1

Via CasaOS Dashboard

  1. Open the app settings
  2. Click Update if available
  3. Wait for the update to complete
  4. Container will restart automatically
2

Via Command Line

cd /path/to/docker-compose
docker-compose pull
docker-compose down
docker-compose up -d
3

Verify the update

Check the application version in the interface or logs:
docker logs anxerstudios-streaming | grep "Version"
Current version: 1.4.8

Health Monitoring

The application includes automatic health checks:
healthcheck:
  test: ["CMD-SHELL", "curl -f http://localhost:1234/api/secciones || exit 1"]
  interval: 30s
  timeout: 10s
  retries: 3
  start_period: 40s
What this does:
  • Checks /api/secciones endpoint every 30 seconds
  • Marks container unhealthy after 3 failed attempts
  • Allows 40 seconds for initial startup
  • CasaOS will show health status in dashboard

Troubleshooting

  1. Check firewall on CasaOS server:
sudo ufw status
sudo ufw allow 1234/tcp
  1. Verify container is running:
docker ps | grep streaming
  1. Check port binding:
docker port anxerstudios-streaming
  1. Test locally first:
curl http://localhost:1234
Check logs for errors:
docker logs anxerstudios-streaming
Common issues:
  • Port 1234 already in use (change in docker-compose.yml)
  • Insufficient memory (reduce limit or upgrade RAM)
  • Permission issues with volumes (check ownership)
Optimize for ARM devices:
  1. Reduce memory limit:
limits:
  memory: 1024M
  1. Lower CPU priority:
cpu_shares: 512
  1. Consider overclocking your Raspberry Pi (Pi 4 only)
  1. Check if Flask is running:
docker exec anxerstudios-streaming curl http://localhost:1234/api/secciones
  1. Increase start_period for slower devices:
healthcheck:
  start_period: 60s  # Increase from 40s

Advanced Configuration

Custom Port

Change the external port (1234) if needed:
ports:
  - "8080:1234"  # Access via http://<IP>:8080

Reverse Proxy (Nginx/Traefik)

For HTTPS and custom domains:
labels:
  - "traefik.enable=true"
  - "traefik.http.routers.streaming.rule=Host(`streaming.local`)"
  - "traefik.http.services.streaming.loadbalancer.server.port=1234"

Custom Network

Integrate with existing CasaOS networks:
networks:
  default:
    external:
      name: casaos-network

Resources and Support

CasaOS Documentation

Official CasaOS setup and configuration guides

Docker Documentation

General Docker deployment information

Local Setup

Development environment setup guide

Architecture

System architecture and design

Next Steps

Now that your application is running on CasaOS:
  1. Configure content sources in the application settings
  2. Set up automatic updates using Watchtower or similar
  3. Configure backups for your config and logs directories
  4. Explore the API for integration with other services

Build docs developers (and LLMs) love