⚠️ END OF LIFE NOTICE: Pico CMS is no longer maintained. The latest stable release was v2.1.4 (August 29, 2020). For new projects, consider actively maintained alternatives like Grav CMS, Typemill, HTMLy, or Automad.
This guide uses Docker Compose to run Pico CMS in containers.
For Docker installation, see Docker.
mkdir picocms-site
cd picocms-site
mkdir -p content themes plugins config
Create docker-compose.yml:
cat <<'YAML' > docker-compose.yml
services:
web:
image: php:8.2-apache
restart: unless-stopped
ports:
- "8080:80"
volumes:
- ./content:/var/www/html/content
- ./themes:/var/www/html/themes
- ./plugins:/var/www/html/plugins
- ./config:/var/www/html/config
working_dir: /var/www/html
command: >
bash -c "
apt-get update &&
apt-get install -y git unzip &&
docker-php-ext-install mbstring &&
curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer &&
composer create-project picocms/pico:2.1.4 . --no-interaction &&
apache2-foreground
"
YAML
docker compose up -d
Pico has no admin UI. Create content by editing Markdown files:
# Create a new page
nano content/index.md
Example content (content/index.md):
---
Title: Welcome
---
Welcome to my Pico CMS site!
Open http://YOUR-SERVER:8080 to view your site.
| Mount | Purpose |
|---|---|
./content:/var/www/html/content |
Markdown content files |
./themes:/var/www/html/themes |
Custom themes |
./plugins:/var/www/html/plugins |
Custom plugins |
./config:/var/www/html/config |
Configuration files |
⚠️ Security Warning: Pico CMS is no longer maintained. No security updates are available.
For production:
Some community images exist but are not officially maintained:
services:
picocms:
image: some-community-image:pico-2.1.4
ports:
- "8080:80"
volumes:
- ./content:/var/www/html/content
💼 Professional Services: Need expert help with your Picocms Docker deployment? We offer consulting, training, and support. Contact our team →