201707
, slim
, latest
201704
201702
201701
201612
201605
Alfresco is a leading Enterprise Content Management system which provides document management, collaboration, web content services and records and knowledge management.
This image aims to help you run the latest version of the Alfresco Community Edition in a Docker container.
- Added Kubernetes example (Hostpath & CephFS)
- Implement support of Reverse-proxy via environment variable with CSRF support
- Database connection autoconf when using
--link
(supported aliases mysql, postgres) - Markdown Manual support using
manual manager
add-on - Markdown Document support using
md-preview
add-on - Fix OpenOffice startup script
Run the alfresco image:
docker run --name='alfresco' -it --rm -p 8080:8080 fjudith/alfresco
NOTE: Please allow a few minutes for the application to start, especially if populating the database for the first time. If you want to make sure that everything went fine, watch the log:
docker exec -it alfresco /bin/bash
tail -f /alfresco/tomcat/logs/catalina.out
Go to http://localhost:8080/share
or point to the IP of your docker host. On
Mac or Windows, replace localhost
with the IP address of your Docker host which you can get using
docker-machine ip default
The default username and password are:
- username: admin
- password: admin
If you use this image in production, you'll probably want to store files and database separately in an external location. Use the CONTENT_STORE environment variable to set the content store to a bind-mounted volume or a network share.
If DB_KIND
is postgresql
and the DB_HOST
environment variable is not set (or localhost
),
then the internal PostgreSQL server will be started and used.
By setting DB_KIND
to mysql
, you can use an external MySQL server, e.g. one running in a Docker container:
docker run --name 'mysql' -d -p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=secret \
-e MYSQL_DATABASE=alfresco \
-e MYSQL_USER=alfresco \
-e MYSQL_PASSWORD=secret \
mysql \
--character-set-server=utf8 \
--collation-server=utf8_general_ci \
--max_connections=1024
Configure the Alfresco container to use this MySQL server as database and a bind-mounted volume as content store:
docker run --name='alfresco' -d -p 8080:8080 \
-v /mnt/alfresco_content_store:/mnt/content_store \
-e CONTENT_STORE=/mnt/content_store \
-e DB_KIND=mysql \
-e DB_HOST=mysql \
-e DB_PASSWORD=secret \
--link mysql:mysql \
fjudith/alfresco
Below is the complete list of currently available parameters that can be set using environment variables.
To get email links working or when reverse-proxy address configured
- ALFRESCO_HOSTNAME: hostname/fqdn of the Alfresco server; default =
localhost
- ALFRESCO_PROTOCOL: protocol of the Alfresco server; default =
http
- ALFRESCO_PORT: listen port of the Alfresco server; default =
8080
- SHARE_HOSTNAME: hostname/fqdn of the Share server; default =
localhost
- SHARE_PROTOCOL: protocol of the Share server; default =
http
- SHARE_PORT: listen port of the Share server; default =
8080
If SSL offloading is enable on the reverse proxy, "Mandatory" variable set needs to changed accordingly.
- REVERSE_PROXY_URL: url of the reverse-proxy; default = empty
- DB_KIND: postgresql or mysql; default =
postgresql
- DB_USERNAME: username to use when connecting to the database; default =
alfresco
- DB_PASSWORD: password to use when connecting to the database; default =
admin
- DB_NAME: name of the database to connect to; default =
alfresco
- DB_HOST: host of the database server; default =
localhost
- DB_CONN_PARAMS: database connection parameters; for MySQL, default =
?useSSL=false
, otherwise empty
- CIFS_ENABLED: whether or not to enable CIFS; default =
true
- CIFS_SERVER_NAME: hostname of the CIFS server; default =
localhost
- CIFS_DOMAIN: domain of the CIFS server; default =
WORKGROUP
- NFS_ENABLED: whether or not to enable NFS; default =
false
- LDAP_ENABLED: whether or not to enable LDAP; default =
false
- LDAP_KIND: ldap (e.g. for OpenLDAP) or ldap-ad (Active Directory); default =
ldap
- LDAP_AUTH_USERNAMEFORMAT: default =
uid=%s,cn=users,cn=accounts,dc=example,dc=com
- LDAP_URL: URL of LDAP server; default =
ldap://ldap.example.com:389
- LDAP_DEFAULT_ADMINS: comma separated list of admin names in ldap; default =
admin
- LDAP_SECURITY_PRINCIPAL: default =
uid=admin,cn=users,cn=accounts,dc=example,dc=com
- LDAP_SECURITY_CREDENTIALS: default =
password
- LDAP_GROUP_SEARCHBASE: default =
cn=groups,cn=accounts,dc=example,dc=com
- LDAP_USER_SEARCHBASE: default =
cn=users,cn=accounts,dc=example,dc=com
- CONTENT_STORE: location of content store; default =
${dir.root}
(/alfresco/alf_data) - AMP_DIR_ALFRESCO: directory containing AMP files (modules) for alfresco.war (bind mount as volume)
- AMP_DIR_SHARE: directory containing AMP files (modules) for share.war (bind mount as volume)
- MAIL_HOST: hostname/fqdn of the SMTP server; default =
localhost
- MAIL_PORT: tcp listen port of the SMTP server; default =
25
- MAIL_PROTOCOL: smtp protocol; default =
smtp
- MAIL_ENCODING: email test encoding =
UTF-8
- MAIL_FROM_DEFAULT_ENABLED: enable email notification using default ip address; default =
false
- MAIL_FROM_DEFAULT: sender email address; default =
alfresco@alfresco.org
- MAIL_SMTP_USERNAME: user to connect the SMTP server; default = empty
- MAIL_SMTP_PASSWORD: password to connect the SMTP server; default = empty
- MAIL_SMTP_AUTH: enable smtp authentification; default =
false
- MAIL_SMTP_STARTTLS: enable STARTTLS on smtp protocol (explicit ssl); default =
false
- MAIL_SMTPS_AUTH: enable smtps authentification; default =
false
- MAIL_SMTPS_STARTTLS_ENABLE: enable STARTTLS on smtps protocol (implicit ssl); default =
false
- MAIL_SMTP_TIMEOUT: email notification timeout (milliseconds); default =
30000
- MAIL_SMTP_DEBUG: enable smtp notification debugging; default =
false
- MAIL_TESTMESSAGE_SEND: enable smtp notification debugging; default =
false
- MAIL_TESTMESSAGE_TO: enable smtp notification debugging; default = empty
- MAIL_TESTMESSAGE_SUBJECT: subject of the test message; default =
Alfresco - Service - SMTP client online
- MAIL_TESTMESSAGE_TEXT: body of the test message; default =
Alfresco SMTP client ready and working
- NOTIFICATION_EMAIL_SITEINVITE: enable email notification to user on site invite; default =
false
- FTP_PORT: port of the FTP server; default =
21
- CIFS_ENABLED: enable smb/cifs file sharing =
true
- CIFS_SERVER_NAME: hostname of the cifs server =
localhost
- CIFS_DOMAIN: workgroup domain of the cifs server =
WORKGROUP
- SMART_FOLDERS_ENABLED: enable Smart Folders
false
The source code is available at https://github.com/fjudith/alfresco.
Make sure your Docker host has more than 2 GB RAM available. Docker Hub uses 2 GB for automated builds which is not enough, the Alfresco installer will complain and fail. The Docker Toolbox VM also uses 2 GB by default, use VirtualBox to change it to at least 4GB.
git clone https://github.com/fjudith/alfresco.git
cd docker-alfresco
docker build --tag="$(echo $USERNAME | awk '{print tolower($0)}')/alfresco" .