a light weight but effective blog system for amd64/arm64 machine
100K+
a light weight but effective blog system for amd64/arm64 machine
| container | description |
|---|---|
| /config | dir to save config file, ssl certificate |
| /storage | root dir for upload files |
| /theme | (optional) for custom theme |
| name | default value | description |
|---|---|---|
| PUID | 1000 | run as uid |
| PGID | 100 | run as gid |
| UMASK_SET | 000 | umask for app running user |
WEB_PORT | 8082 | http or https listen port |
| SSL | off | set to on to startup as https server and use custom certificate under /config/ssl/ |
| AUTOCERT | false | set to true to enable auto acme (this option has higher priority than the SSL option) |
| AUTOCERT_DOMAIN | localhost | set to your ACME domains if AUTOCERT=true, can be multi like foo.com,b.bar.com, can be wildcard like *.foo.com |
| AUTOCERT_DOMAIN_WHITELIST | domain name allowed, empty means allow all, can be multi like foo.com,b.bar.com | |
| AUTOCERT_DNS_PROVIDER | see available providers below | |
| AUTOCERT_KEYTYPE | EC256 | must be one of RSA2048, RSA4096, RSA8192, EC256, EC384 |
| GO_ACME_STORAGE_DIR | /config/ssl | ACME certificate cache dir |
SERVER_URL | http://localhost:8089 | just an init value for displaying, can be changed by login into admin panel |
| SESSION_SECRET | vFvCBveihT7PKQCsjn8xv8PaVinIen47 | must be 16,24,32 or 64 bytes long |
| SESSION_MAX_AGE | 86400 | session expiration seconds |
DB_SQLITE | /config/nanoblog.db | sqlite db file path |
DB_MYSQL | MySQL DNS string, format see below | only work if you set DB_SQLITE to empty |
user:password@(localhost:3306)/nanoblog?charset=utf8mb4&parseTime=True&loc=Local
alidns,azure,cloudflare,cloudxns,digitalocean,dnspod,gcloud,linodev4,namecheap,qcloud,rfc2136,vultr
dnspod:
| Environment Variable Name | description |
|---|---|
| DNSPOD_API_KEY | format is: id,token |
qcloud:
| Environment Variable Name | description |
|---|---|
| QCLOUD_SECRET_ID | The SecretId |
| QCLOUD_SECRET_KEY | The SecretKey |
alidns:
| Environment Variable Name | description |
|---|---|
| ALICLOUD_ACCESS_KEY | Access key ID |
| ALICLOUD_SECRET_KEY | Access Key secret |
for other provider please ref to: https://go-acme.github.io/lego/dns/#dns-providers
| container | description |
|---|---|
/config/nanoblog.toml | config file |
/config/nanoblog.db | database file path |
/config/ssl/ssl.crt | SSL cert file path |
/config/ssl/ssl.key | SSL key file path |
quick test run:
docker run --rm -ti --network host 80x86/nanoblog
run as prod:
IMAGE_NAME=80x86/nanoblog
WEB_PORT=8082
SERVER_URL=http://you-domain.com:8082
# you must replace the path 'path-to' to yourself's
mkdir -p /path-to/config /path-to/storage /path-to/theme
docker run -d \
-e PUID=$UID \
-e PGID=$GID \
-e WEB_PORT=$WEB_PORT \
-e SERVER_URL=$SERVER_URL \
--network host \
-v /path-to/config:/config \
-v /path-to/storage:/storage \
-v /path-to/theme:/theme \
--mount type=tmpfs,destination=/tmp \
${IMAGE_NAME}:latest
Content type
Image
Digest
Size
28.4 MB
Last updated
almost 7 years ago
docker pull 80x86/nanoblog