arnapou/simplesite

Project - Simple site system delivered as a standalone phar file.


README

pipeline coverage

Links

Demo 👉️ https://simplesite.arnapou.net/
Article 👉️ https://arnapou.net/software/2019-phar-simplesite/
Phar file 👉️ bin/simplesite.phar

Docker

You can use the provided docker image directly. Below is an example of a working docker compose file compose.yaml.

services:
  app:
    image: registry.gitlab.com/arnapou/project/simplesite:v8
    user: 1000:1000
    
    # For local testing / dev -> http://localhost
    ports: [ "80:80" ]
    environment:
      # FrankenPHP environment variables
      #  ╰─ https://github.com/dunglas/frankenphp/blob/main/caddy/frankenphp/Caddyfile
      CADDY_GLOBAL_OPTIONS: "auto_https off" # (default)
      SERVER_NAME: ":80"                     # (default)
      # SimpleSite environment variables
      SIMPLESITE_ADMIN: "admin"              # Base path of the admin GUI.
                                             #  ╰─ http://localhost/admin/
                                             # Default: "" (empty means disabled).
    
    # For HTTPS / Production -> https://my-domain.com
    # ports: [ "443:443" ]
    # environment:
    #   CADDY_GLOBAL_OPTIONS: ""
    #   SERVER_NAME: "my-domain.com"

    # If you need to bind all in one
    volumes:
      - ./:/app
    
    # If you need to bind only some folders
    # volumes:
    #   - ./local_path:/app/data       # where the data are stored for the {{ app.db }} service
    #   - ./local_path:/app/log        # the rotating log files
    #   - ./local_path:/app/pages      # the path used to define twig pages, bound to "@pages" scope
    #   - ./local_path:/app/public     # the public path for assets, bound to "@public" scope
    #   - ./local_path:/app/src        # where to write php "plugins"
    #   - ./local_path:/app/templates  # the template path for twig, bound to "@templates

Web server

You can directly use our php image if you want something working out of the box :

  • registry.gitlab.com/arnapou/docker/php:8.4-frankenphp

We recommend

If you want to use Apache, we suggest a .htaccess like this :

RewriteEngine On

DirectorySlash Off

FileETag MTime Size
Options -Indexes -MultiViews -ExecCGI +FollowSymLinks +SymLinksIfOwnerMatch

RewriteCond %{REQUEST_FILENAME} -d
RewriteRule . index.php [L,QSA]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . index.php [L,QSA]

Php versions

DateRef8.48.38.28.18.07.2
10/12/20248.x, main×
25/11/20247.x×
26/11/20236.x×
11/10/20235.x×
19/12/20224.x×
30/01/20223.x×
15/05/20212.x×
07/12/20191.x×