Page:
Getting started
No results
14
Getting started
Paolo Iommarini edited this page 2026-07-03 19:42:19 +00:00
Getting started
The easiest way to run piBlog is to use the published docker image and start it using a docker-compose file.
In the docker-compose file you can set platform settings using ENV variables to customize your installation.
Use cases
- A personal diary: only you can read your posts.
"PlatformMode": "SingleUser", "MembersOnlyContent": true, - A personal blog: your posts are public, but no other users can access the platform.
"PlatformMode": "SingleUser", "MembersOnlyContent": false, # You can enable anonymous comments "AnonymousCommentsEnabled": false, - A closed community: each user has their own personal blog, and only registered users can read posts.
"PlatformMode": "Community", "MembersOnlyContent": true, "RegisterEnabled": false, - An open community: each user has their own personal blog, and posts are public.
"PlatformMode": "Community", "MembersOnlyContent": true, # You can enable anonymous comments "AnonymousCommentsEnabled": false, # You can disable user registration "RegisterEnabled": true,
After you have prepared your docker-compose start piBlog with the command
docker compose up -d
and your installation should be reachable at http://localhost:8080
You can login using the username and password defined in OwnerUsername and OwnerPassword
Docker compose using SQLite database
services:
app:
container_name: 'piBlog'
restart: unless-stopped
image: paoloiommarini/piblog
mem_limit: "384M"
environment:
DatabaseType: 'SQLite'
OwnerUsername: 'admin'
OwnerPassword: 'password'
DOTNET_gcServer: 0
DOTNET_GCHeapHardLimitPercent: 60
volumes:
- piblog_data:/app/data
ports:
- "8080:8080"
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8080/health"]
interval: 60s
timeout: 5s
retries: 3
start_period: 10s
volumes:
piblog_data:
Docker compose using PostgreSQL database
services:
app:
container_name: 'piBlog'
restart: unless-stopped
image: paoloiommarini/piblog
mem_limit: "384M"
environment:
DatabaseType: 'Npgsql'
DatabaseConnectionString: "Host=db;Port=5432;Database=piblog;Username=piblog_user;Password=piblog_pass"
OwnerUsername: 'admin'
OwnerPassword: 'password'
DOTNET_gcServer: 0
DOTNET_GCHeapHardLimitPercent: 60
volumes:
- piblog_data:/app/data
ports:
- "8080:8080"
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8080/health"]
interval: 60s
timeout: 5s
retries: 3
start_period: 10s
depends_on:
db:
condition: service_started
db:
image: postgres:latest
container_name: piblog-db
environment:
POSTGRES_DB: piblog
POSTGRES_USER: piblog_user
POSTGRES_PASSWORD: piblog_pass
volumes:
- pgdata:/var/lib/postgresql/data
expose:
- "5432"
volumes:
pgdata:
piblog_data: