A custom CodiMD image build with Alpine Linux.
To optimize the application and reduce the image size some packages were removed, for that reason features related with these packages will not work.
- pg
- passport-bitbucket-oauth2
- passport-dropbox-oauth2
- passport-facebook
- passport-github
- passport-gitlab2
- passport-google-oauth20
- passport-twitter
- passport-ldapauth
- passport-oauth2
- passport-saml
- passport-next/passport-openid
- @aws-sdk/client-s3-node
- azure-storage
- sqlite3
- minio
- mattermost
- aws-sdk
This image follows the Semantic Versioning pattern.
- MAJOR version - Changes on Base Image version (1.0.0 to 2.0.0)
- MINOR version - Changes on CodiMD version (1.6.0 to 1.6.1)
- PATCH version - Package updates and other non breaking changes on the image
- DRAFT version - Unstable build for review (Optional)
Version | 1.0 | 1.1 | 2.0 |
---|---|---|---|
Base Image | 1.x.x | 1.x.x | 2.x.x |
CodiMD | 1.6.0 | 1.6.1 | 1.6.0 |
When Base Image gets upgraded the major version is incremented, when codimd gets upgraded the minor version is incremented.
Tag | Description |
---|---|
latest | Latest version |
1.0.0 | Specific patch version |
1.0 | Specific minor version |
1 | Specific major version |
1.0.0-arch |
Specific patch version to that arch |
1.0-arch |
Specific minor version to that arch |
1-arch |
Specific major version to that arch |
test | Branch version - DO NOT USE |
The version tags are the same as the repository versioning tags but without the v
. The test
version is only for build purposes, it should not be pulled.
The arch
can be one of the supported architectures described below.
Architecture | Tag |
---|---|
x86-64 | amd64 |
arm64 | arm64v8 |
armhf | arm32v7 |
Name | Description |
---|---|
PUID | Set the UserID - Details |
PGID | Set the GroupID - Details |
TZ | Set the system timezone - Options |
SESSION_KEY | Set the HTTP session key |
DATABASE_HOST | Set the database hostname or ip address where the application will connect |
DATABASE_NAME | Set the database name that will be used by the application |
DATABASE_USER | Set the username for the database connection |
DATABASE_PASS | Set the password for the database username |
DOMAIN_NAME | Set the application domain name in case of reverse proxy |
LOG_LEVEL | Set the log level info , warn , error (default: info ) |
ADD_PORT_URL | Set the port on the url, required if the port is not 80 or 443 |
ALLOW_REGISTER | Set the option to register new users true or false (default: true ) |
ALLOW_LOGIN | Set the option to allow user login true or false (default: true ) |
ALLOW_PDF_EXPORT | Set the option to allow PDF export of notes true or false (default: false ) |
ALLOW_ANONYMOUS | Set the option to allow anonymous access true or false (default: true ) |
ALLOW_GRAVATAR | Set the option to use gravatar to fetch the user avatar true or false |
It exposes a single volume at /config
where it keeps the configuration and other files related with the application.
Also a single port is exposed at 3000 to allow external HTTP request.
docker run \
-e PUID=1000 \
-e PGID=1000 \
-e DATABASE_HOST=mariadb_codimd \
-e DATABASE_NAME=codimddb \
-e DATABASE_USER=codimduser \
-e DATABASE_PASS=codimdpass \
-e DOMAIN_NAME=localhost \
-e ADD_PORT_URL=true \
-p 3000:3000 \
-v $PWD:/config \
fabiodcorreia/codimd
Or use docker-compose
, an example is provided on docker-compose.yml