Sign inSign up

crypt010/kopage

By crypt010

•Updated about 15 hours ago

Containerized Kopage CMS with PHP 8.2, Apache, ionCube, GD, SQLite,auto-install & persistent storage

Image
Web servers
0

5.7K

crypt010/kopage repository overview

⁠Dockerized Kopage CMS

⁠Repository:

crypt010/kopage

⁠Overview:

Containerized Kopage CMS with PHP 8.2 + Apache, ionCube Loader, GD (JPEG/PNG), and SQLite support.
Designed for easy deployment via Docker or rootless Podman, with persistent storage, a smart installer, and optional custom LAN IP / DHCP / reverse proxy with SSL.


⁠Features:

  • PHP 8.2 + Apache pre-configured
  • ionCube Loader included (required by Kopage)
  • GD library for image processing
  • SQLite support (works out-of-the-box)
  • Persistent storage: /var/www/html mapped to host
  • Smart entrypoint: automatically installs Kopage only if no files exist
  • Networking options: NAT (port mapping), static IP, or macvlan with DHCP
  • Reverse proxy support: optional HTTPS via Caddy or Traefik
  • Podman support: run rootless with quadlets (systemd integration)
  • Migration-friendly: existing Kopage sites can be mounted without being overwritten

⁠Disclaimer:

  • Not affiliated with Kopage
  • This image is community-maintained. Use at your own risk
  • Users are responsible for backups, updates, and security

⁠Usage (Docker):

docker run -d --name kopage
-p 80:80
-v /path/to/kopage-data:/var/www/html
--restart unless-stopped
crypt010/kopage:latest


⁠Networking Options:

⁠Default NAT (simple)

-p 80:80

⁠Static IP (bridge)

--network kopage-net --ip 192.168.1.50

⁠MACVLAN / DHCP

⁠container gets LAN IP like a separate device


⁠Reverse Proxy (Optional):

  • Caddy or Traefik recommended for SSL/HTTPS
  • Keeps container HTTP-only while proxy handles TLS

⁠Migration from existing Kopage:

  1. Backup old site folder (example: /var/www/html/*)
  2. Copy to persistent volume /path/to/kopage-data

⁠Podman Rootless with Quadlets:

[Unit] Description=Kopage CMS After=network-online.target Wants=network-online.target

[Container] Image=docker.io/crypt010/kopage:latest ContainerName=kopage PublishPort=::8080 Volume=/path/to/kopage-data:/var/www/html AutoUpdate=registry

[Service] Restart=always TimeoutStartSec=900

[Install] WantedBy=default.target

Enable & start:

systemctl --user daemon-reload
systemctl --user start kopage


⁠Updating Kopage:

  • Use Kopage’s web interface for updates
  • Persistent volume ensures site files remain intact
  • Rebuild container only for PHP / GD / ionCube upgrades

⁠Docker Hub Commands:

docker tag kopage:latest crypt010/kopage:latest
docker push crypt010/kopage:latest
docker pull crypt010/kopage:latest

Tag summary

Content type

Image

Digest

sha256:ac6a04e05…

Size

188.2 MB

Last updated

about 15 hours ago

docker pull crypt010/kopage