Files
protocol-droid/Dockerfile
T
Protocolbot 02794e565e feat: initial release of Protocol Droid v0.2.0
A tool for authoring, sharing, and curating social protocols.

Features:
- Protocol library with search, tag filtering, and sort by date/relevance
- Protocol authoring with structured fields (title, description, steps, outcome, practice, source, tags)
- Protocol forking with provenance tracking
- Collection creation with searchable protocol picker and ordering
- User accounts with roles (admin, member, viewer)
- YAML import/export for portability
- Self-hostable on LAMP/Cloudron, works in subdirectories
- Responsive design with hamburger menu on mobile
- About page

Security:
- CSRF protection via Origin/Referer validation
- Session regeneration on login/register
- Secure session cookie params (HttpOnly, SameSite, Secure)
- Visibility enforcement on private/unlisted items
- YAML object injection hardening
- Login rate limiting
- Path traversal protection
- Input validation and length clamping
- Vote value constraining

Stack: PHP 8.x + MySQL/MariaDB, vanilla JS frontend, no external dependencies.

Hippocratic License (HL3-CORE).
2026-07-06 13:18:08 -06:00

24 lines
689 B
Docker

FROM php:8.2-apache
# Install MySQL PDO extension and YAML extension
RUN docker-php-ext-install pdo pdo_mysql mysqli
# Install PECL yaml extension
RUN apt-get update && apt-get install -y libyaml-dev && \
pecl install yaml && docker-php-ext-enable yaml && \
rm -rf /var/lib/apt/lists/*
# Enable Apache rewrite module for .htaccess
RUN a2enmod rewrite
# Set document root to our app
ENV APACHE_DOCUMENT_ROOT /var/www/html
RUN sed -ri -e 's!/var/www/html!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/sites-available/000-default.conf
# Copy app files
COPY . /var/www/html/
# Ensure data directory is writable
RUN mkdir -p /var/www/html/data && chmod 777 /var/www/html/data
EXPOSE 80