No description
Find a file
paspo 22674000f6
All checks were successful
Container Publish / on-success-skip (push) Has been skipped
Container Publish / build-image (arm64) (push) Successful in 30s
Container Publish / build-image (amd64) (push) Successful in 46s
Container Publish / update docker manifest (push) Successful in 10s
forgejo update
2026-01-19 14:42:42 +01:00
.forgejo/workflows forgejo update 2026-01-19 14:42:42 +01:00
rootfs start SSH only if enables 2025-08-04 11:43:13 +02:00
rootfs-php74 use real IPs instead of docker ones (PHP 7.4) 2025-07-31 17:29:31 +02:00
.gitignore sftp access 2024-12-13 11:34:16 +01:00
Dockerfile volume not needed anymore 2025-07-31 10:06:26 +02:00
Dockerfile-php74 forced alpine without apk cache 2025-04-02 12:58:14 +02:00
LICENSE added license 2024-12-13 12:07:55 +01:00
README.md hourly stats 2025-08-01 14:30:44 +02:00

webserver-nginx

Small webserver with PHP support and SFTP access

usage

Use this docker-compose.yaml

services:
  web:
    image: docker.asperti.com/paspo/webserver-nginx
    ports:
      - 8888:80 # web server
      - 8890:8080 # webdav access
      - 2222:22 # sftp access
    volumes:
      - ./data:/data
      - ./extra_nginx.conf:/etc/nginx/custom.d/extra.conf # optional
    environment:
      LOG_DAYS: 14              # default 7
      WEBDAV_PORT: 8080         # default: 8080
      PHP: php84                # none (default), php82, php83, php84
      POSTSIZE: 256M            # default: 256M
      PUID: 1000                # default: 1000
      PGID: 1000                # default: 1000
      USERNAME: theuser         # default: theuser
      GROUPNAME: thegroup       # default: thegroup
      TZ: Etc/UTC               # default: Etc/UTC
      FPM_MAX_CHILDREN: 5       # default: 5
      FPM_START_SERVERS: 1      # default: 1
      FPM_MIN_SPARE_SERVERS: 1  # default: 1
      FPM_MAX_SPARE_SERVERS: 3  # default: 3
      DISABLE_WEBROOT_CHOWN: 1  # default: 0
      DISABLE_SFTP: 1           # default: 0
      DISABLE_STATS: 1          # default: 0
      DISABLE_STATS_HOURLY: 1   # default: 0
      DISABLE_WEBDAV: 1         # default: 0

The /data/www and /data/logs directories and their contents will be chowned to $PUID:$PGID and chmodded to 0755 for directories and 0644 for files at container start.

data direcvtory layout

directory content
auth htpasswd files for stats and webdav
logs nginx access logs (logrotated) and error logs
ssh host keys and authorized keys
stats html statistical report
stats.db internal statistical db
www webroot