02794e565e
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).
24 lines
689 B
Docker
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 |