├── .github
├── scripts
│ ├── check.yml
│ ├── gen.py
│ └── templates
│ │ ├── README.md.j2
│ │ ├── apache_container.j2
│ │ ├── docker-entrypoint.sh
│ │ └── fpm_container.j2
└── workflows
│ └── main.yml
├── README.md
├── apache
├── 2.20.1
│ ├── Dockerfile
│ └── docker-entrypoint.sh
├── 2.20
│ ├── Dockerfile
│ └── docker-entrypoint.sh
├── 2.21.1
│ ├── Dockerfile
│ └── docker-entrypoint.sh
├── 2.21.2
│ ├── Dockerfile
│ └── docker-entrypoint.sh
├── 2.21.3
│ ├── Dockerfile
│ └── docker-entrypoint.sh
├── 2.22
│ ├── Dockerfile
│ └── docker-entrypoint.sh
├── 2.23.1
│ ├── Dockerfile
│ └── docker-entrypoint.sh
├── 2.25.2
│ ├── Dockerfile
│ └── docker-entrypoint.sh
├── 2.25.3
│ ├── Dockerfile
│ └── docker-entrypoint.sh
└── 2.25
│ ├── Dockerfile
│ └── docker-entrypoint.sh
├── docker-compose.yml
├── fpm
├── 2.20.1
│ ├── Dockerfile
│ └── docker-entrypoint.sh
├── 2.20
│ ├── Dockerfile
│ └── docker-entrypoint.sh
├── 2.21.1
│ ├── Dockerfile
│ └── docker-entrypoint.sh
├── 2.21.2
│ ├── Dockerfile
│ └── docker-entrypoint.sh
├── 2.21.3
│ ├── Dockerfile
│ └── docker-entrypoint.sh
├── 2.22
│ ├── Dockerfile
│ └── docker-entrypoint.sh
├── 2.23.1
│ ├── Dockerfile
│ └── docker-entrypoint.sh
├── 2.25.2
│ ├── Dockerfile
│ └── docker-entrypoint.sh
├── 2.25.3
│ ├── Dockerfile
│ └── docker-entrypoint.sh
├── 2.25
│ ├── Dockerfile
│ └── docker-entrypoint.sh
└── fpm.conf
└── varnish
└── backends.vcl
/.github/scripts/check.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - name: check dotclear version
3 | hosts: localhost
4 | gather_facts: no
5 | tasks:
6 | - set_fact:
7 | # versions_xml: "{{ lookup('file', 'versions.xml') }}"
8 | versions_xml: "{{ lookup('url', 'https://download.dotclear.org/versions.xml', split_lines=False) }}"
9 | github_path: "{{ lookup('env', 'GITHUB_WORKSPACE') }}"
10 | repo_path: "{{ github_path | default(lookup('env', 'PWD')) }}"
11 |
12 | - xml:
13 | xmlstring: "{{ versions_xml }}"
14 | xpath: "/versions/subject/release[@name='stable']"
15 | content: "attribute"
16 | register: versions
17 |
18 | - debug:
19 | msg:
20 | - "{{ versions.matches.0.release.name }}"
21 | - "{{ versions.matches.0.release.version }}"
22 | - "{{ versions.matches.0.release.checksum }}"
23 |
24 | - name: set github env variables
25 | when: lookup('env', 'GITHUB_ENV')
26 | lineinfile:
27 | path: "{{ lookup('env', 'GITHUB_ENV') }}"
28 | line: "{{ item.var }}={{ item.value }}"
29 | create: yes
30 | loop:
31 | - var: release_version
32 | value: "{{ versions.matches.0.release.version }}"
33 | - var: release_info
34 | value: "{{ versions.matches.0.release.info }}"
35 |
36 | - name: check if version exist
37 | stat:
38 | path: "{{ (repo_path, 'apache', versions.matches.0.release.version, 'Dockerfile') | path_join }}"
39 | register: existing_dockerfile
40 |
41 | - block:
42 | - debug:
43 | msg: "New version : {{ versions.matches.0.release.version }}"
44 |
45 | - name: get all Dockerfile
46 | find:
47 | paths:
48 | - "{{ (repo_path, 'apache') | path_join }}"
49 | - "{{ (repo_path, 'fpm') | path_join }}"
50 | recurse: True
51 | patterns: Dockerfile
52 | register: all_dockerfiles
53 |
54 | - name: Move previous versions to the attic
55 | lineinfile:
56 | regexp: '^ENV DOTCLEAR_DOWNLOAD_URL'
57 | line: 'ENV DOTCLEAR_DOWNLOAD_URL http://download.dotclear.org/attic/dotclear-${DOTCLEAR_VERSION}.zip'
58 | path: "{{ item.path }}"
59 | loop: "{{ all_dockerfiles.files }}"
60 | loop_control:
61 | label: "{{ item.path }}"
62 |
63 | - name: Create a directory if it does not exist
64 | file:
65 | path: "{{ (repo_path, 'apache', version) | path_join }}"
66 | state: directory
67 | mode: '0755'
68 |
69 | - name: Dockerfile
70 | template:
71 | src: apache_container.j2
72 | dest: "{{ (repo_path, 'apache', version, 'Dockerfile') | path_join }}"
73 |
74 | - name: entrypoint
75 | template:
76 | src: docker-entrypoint.sh
77 | dest: "{{ (repo_path, 'apache', version, 'docker-entrypoint.sh') | path_join }}"
78 | mode: '0755'
79 |
80 | - name: Create a directory if it does not exist
81 | file:
82 | path: "{{ (repo_path, 'fpm', version) | path_join }}"
83 | state: directory
84 | mode: '0755'
85 |
86 | - name: Dockerfile
87 | template:
88 | src: fpm_container.j2
89 | dest: "{{ (repo_path, 'fpm', version, 'Dockerfile') | path_join }}"
90 |
91 | - name: entrypoint
92 | template:
93 | src: docker-entrypoint.sh
94 | dest: "{{ (repo_path, 'fpm', version, 'docker-entrypoint.sh') | path_join }}"
95 | mode: '0755'
96 |
97 | - name: list all tags
98 | script:
99 | cmd: gen.py
100 | chdir: "{{ repo_path }}"
101 | register: gen_out
102 |
103 | - set_fact:
104 | tag_list: "{{ gen_out.stdout | from_json }}"
105 |
106 | - name: regen README.md
107 | template:
108 | src: README.md.j2
109 | dest: "{{ (repo_path, 'README.md') | path_join }}"
110 | mode: '0644'
111 |
112 | when: not existing_dockerfile.stat.exists
113 | vars:
114 | version: "{{ versions.matches.0.release.version }}"
115 | md5: "{{ versions.matches.0.release.checksum }}"
116 |
--------------------------------------------------------------------------------
/.github/scripts/gen.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python
2 | import glob
3 | import json
4 | import os
5 | from packaging.version import Version
6 | from argparse import ArgumentParser
7 | from pprint import pprint
8 |
9 | parser = ArgumentParser()
10 | parser.add_argument("--set-output", default=False, dest='set_output', action='store_true', help="Set Github actions output")
11 | parser.add_argument("--prime", default=False, dest='prime', action='store_true', help="use only base image, for caching")
12 | parser.add_argument("--no-prime", default=False, dest='noprime', action='store_true', help="ignore base image")
13 | opts = parser.parse_args()
14 |
15 | dockerfiles = glob.glob("*/*/Dockerfile")
16 | l = []
17 | known_variant = []
18 | for df in dockerfiles:
19 | variant,version,_ = df.split('/')
20 | l.append({
21 | 'version': version,
22 | 'variant': variant,
23 | 'file': df,
24 | })
25 |
26 | l.sort(key=lambda f: Version(f['version']))
27 | latest = l[-1]['version']
28 | #print("latest is %s" % (latest,))
29 | if opts.set_output:
30 | strategy = {
31 | "fail-fast": False,
32 | "matrix": {
33 | "include": [],
34 | }}
35 | else:
36 | strategy = []
37 | for im in l:
38 | tags = []
39 | if im['variant'] == "apache":
40 | tags.append(im['version'])
41 | if im['version'] == latest:
42 | tags.append("latest")
43 | tags.append("apache")
44 | else:
45 | tags.append("%s-%s" % (im['version'], im['variant']))
46 | if im['version'] == latest:
47 | tags.append(im['variant'])
48 |
49 | if opts.set_output:
50 | if im['variant'] not in known_variant:
51 | known_variant.append(im['variant'])
52 | if opts.noprime:
53 | continue
54 | elif opts.prime:
55 | continue
56 | strategy['matrix']['include'].append(
57 | {
58 | "name": "%s-%s" % (im['version'], im['variant']),
59 | "os": "ubuntu-latest",
60 | "cache": "%s-cache" % (im['variant'],),
61 | "tags": ",".join(map(lambda x: "darknao/dotclear:%s" % (x,), tags)),
62 | "context": "%s/%s" % (im['variant'], im['version']),
63 | "dockerfile": im['file'],
64 | })
65 | else:
66 | strategy.append(
67 | {
68 | "name": "%s-%s" % (im['version'], im['variant']),
69 | "tags": tags,
70 | "dockerfile": im['file'],
71 | })
72 |
73 | #pprint(strategy)
74 | if opts.set_output:
75 | with open(os.getenv("GITHUB_OUTPUT"), 'a') as f:
76 | f.write("strategy=%s" % (json.dumps(strategy),))
77 | else:
78 | print(json.dumps(strategy))
79 |
--------------------------------------------------------------------------------
/.github/scripts/templates/README.md.j2:
--------------------------------------------------------------------------------
1 | # Supported tags and respective `Dockerfile` links #
2 | {% for image in tag_list|reverse %}
3 | - [{{ image.tags|map('regex_replace', '(.+)', '`\\1`')|join(', ') }} (*{{ image.dockerfile }}*)](https://github.com/darknao/docker-dotclear/blob/master/{{ image.dockerfile }})
4 | {% endfor %}
5 |
6 | # What is Dotclear? #
7 | Dotclear is an open source blog publishing application distributed under the GNU GPLv2.
8 |
9 | It's proposed aim is to develop a software that fully respects web standards based on open source solutions, with multilingual interface and publishing capabilities. It is written in PHP.
10 |
11 | http://dotclear.org
12 |
13 | 
14 |
15 | # How to use this image #
16 | docker run --name blog --link db_container:db -p 80:80 -d darknao/dotclear
17 |
18 | You will need a database container using mysql or postgresql, with an already created database/user.
19 |
20 | Dotclear data are stored in a volume on **/var/www/html**.
21 |
22 | On the first run, you'll get a configuration wizard to set your database settings and create your config.php.
23 |
24 | # FPM variant #
25 | You can use [this configuration file](https://github.com/darknao/docker-dotclear/blob/master/fpm/fpm.conf) with nginx, for example.
26 |
27 | Start the fpm container:
28 |
29 | docker run --link mysqldb -d --name blog_fpm darknao/dotclear:fpm
30 | Start nginx with a link to the fpm container (notice the **fpm** alias, it'll be used in the **fpm.conf**):
31 |
32 | docker run -d -p 80:80 \
33 | --link blog_fpm:fpm \
34 | --name blog_nginx \
35 | -v $(pwd)/fpm.conf:/etc/nginx/conf.d/default.conf:ro \
36 | --volumes-from blog_fpm nginx
37 |
38 | # Dotclear upgrade #
39 | Upgrade *should* happen automagically if you run an up to date image on an existing volume:
40 |
41 | docker run --volumes-from old_blog --link database -p 80:80 -d darknao/dotclear:latest
42 |
43 |
44 |
--------------------------------------------------------------------------------
/.github/scripts/templates/apache_container.j2:
--------------------------------------------------------------------------------
1 | FROM php:8-apache
2 |
3 | RUN set -x; \
4 | apt-get update \
5 | && apt-get install -y --no-install-recommends \
6 | postgresql-server-dev-all \
7 | libfreetype6-dev \
8 | libjpeg62-turbo-dev \
9 | libpng-dev \
10 | libonig-dev \
11 | rsync \
12 | unzip \
13 | && rm -r /var/lib/apt/lists/*
14 |
15 | RUN docker-php-ext-install mbstring pgsql mysqli \
16 | && docker-php-ext-configure gd \
17 | --with-freetype \
18 | --with-jpeg \
19 | && docker-php-ext-install gd
20 |
21 | RUN a2enmod rewrite
22 |
23 | RUN mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini"
24 |
25 | VOLUME /var/www/html
26 | EXPOSE 80
27 |
28 | ENV DOTCLEAR_VERSION {{ version }}
29 | ENV DOTCLEAR_DOWNLOAD_URL http://download.dotclear.org/latest/dotclear-${DOTCLEAR_VERSION}.zip
30 | ENV DOTCLEAR_DOWNLOAD_MD5 {{ md5 }}
31 |
32 | RUN mkdir -p /usr/src/dotclear \
33 | && curl -fsSL -o dotclear.zip "$DOTCLEAR_DOWNLOAD_URL" \
34 | && echo "$DOTCLEAR_DOWNLOAD_MD5 dotclear.zip" | md5sum -c - \
35 | && unzip -d /usr/src dotclear.zip \
36 | && rm dotclear.zip \
37 | && chown -R www-data:www-data /usr/src/dotclear \
38 | && chmod -R 755 /usr/src/dotclear/public /usr/src/dotclear/cache \
39 | && rm -f /var/www/html/*
40 |
41 |
42 | ADD docker-entrypoint.sh /entrypoint.sh
43 | ENTRYPOINT ["/entrypoint.sh"]
44 | CMD ["apache2-foreground"]
45 |
--------------------------------------------------------------------------------
/.github/scripts/templates/docker-entrypoint.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | set -e
4 |
5 | if ! [ -e index.php -a -e inc/prepend.php ]; then
6 | # Initial Installation
7 | echo >&2 "Dotclear not found in $(pwd) - copying now..."
8 | if [ "$(ls -A)" ]; then
9 | echo >&2 "WARNING: $(pwd) is not empty - press Ctrl+C now if this is an error!"
10 | ( set -x; ls -A; sleep 10 )
11 | fi
12 | tar cf - --one-file-system -C /usr/src/dotclear . | tar xf -
13 | # Install default htaccess for query_string rewriting
14 | if [ ! -e .htaccess ]; then
15 | cat > .htaccess <<-'EOF'
16 |
17 | RewriteEngine On
18 | RewriteCond %{REQUEST_FILENAME} !-f
19 | RewriteCond %{REQUEST_FILENAME} !-d
20 | RewriteRule (.*) index.php?$1
21 |
22 | EOF
23 | chown www-data:www-data .htaccess
24 | fi
25 | echo >&2 "Complete! Dotclear has been successfully copied to $(pwd)"
26 | else
27 | # Existing install, do we need an upgrade?
28 | DOTCLEAR_CURRENT_VERSION=$(sed -n "s/^\s*define('DC_VERSION',\s*'\(.*\)');/\1/p" inc/prepend.php)
29 | if [ "$DOTCLEAR_CURRENT_VERSION" != "$DOTCLEAR_VERSION" ]; then
30 | echo >&2 "Upgrading Dotclear from ${DOTCLEAR_CURRENT_VERSION} to ${DOTCLEAR_VERSION}"
31 | tar cf - --one-file-system -C /usr/src/dotclear . | tar xf -
32 | if [ -e inc/config.php ]; then
33 | # use mysqli driver instead of mysql (if used)
34 | sed -i "s|^\s*define('DC_DBDRIVER',\s*'mysql');|define('DC_DBDRIVER','mysqli');|" inc/config.php
35 | fi
36 | echo >&2 "Complete! Dotclear has been successfully upgraded to ${DOTCLEAR_VERSION}"
37 | fi
38 | fi
39 |
40 | # fix permissions
41 | chown -R www-data:www-data /var/www/html
42 | [ -e /var/www/html/config.php ] && chmod 600 /var/www/html/config.php
43 |
44 | exec "$@"
45 |
--------------------------------------------------------------------------------
/.github/scripts/templates/fpm_container.j2:
--------------------------------------------------------------------------------
1 | FROM php:8-fpm
2 |
3 | RUN set -x; \
4 | apt-get update \
5 | && apt-get install -y --no-install-recommends \
6 | postgresql-server-dev-all \
7 | libfreetype6-dev \
8 | libjpeg62-turbo-dev \
9 | libpng-dev \
10 | libonig-dev \
11 | rsync \
12 | unzip \
13 | && rm -r /var/lib/apt/lists/*
14 |
15 | RUN docker-php-ext-install mbstring pgsql mysqli \
16 | && docker-php-ext-configure gd \
17 | --with-freetype \
18 | --with-jpeg \
19 | && docker-php-ext-install gd
20 |
21 | RUN mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini"
22 |
23 | VOLUME /var/www/html
24 | EXPOSE 80
25 |
26 | ENV DOTCLEAR_VERSION {{ version }}
27 | ENV DOTCLEAR_DOWNLOAD_URL http://download.dotclear.org/latest/dotclear-${DOTCLEAR_VERSION}.zip
28 | ENV DOTCLEAR_DOWNLOAD_MD5 {{ md5 }}
29 |
30 | RUN mkdir -p /usr/src/dotclear \
31 | && curl -fsSL -o dotclear.zip "$DOTCLEAR_DOWNLOAD_URL" \
32 | && echo "$DOTCLEAR_DOWNLOAD_MD5 dotclear.zip" | md5sum -c - \
33 | && unzip -d /usr/src dotclear.zip \
34 | && rm dotclear.zip \
35 | && chown -R www-data:www-data /usr/src/dotclear \
36 | && chmod -R 755 /usr/src/dotclear/public /usr/src/dotclear/cache \
37 | && rm -f /var/www/html/*
38 |
39 | ADD docker-entrypoint.sh /entrypoint.sh
40 | ENTRYPOINT ["/entrypoint.sh"]
41 | CMD ["php-fpm"]
42 |
43 |
--------------------------------------------------------------------------------
/.github/workflows/main.yml:
--------------------------------------------------------------------------------
1 | name: CI
2 | on:
3 | push:
4 | schedule:
5 | - cron: '0 0 * * 1'
6 | workflow_dispatch:
7 |
8 | jobs:
9 | detect_release:
10 | if: ${{ github.event_name == 'schedule' || github.event_name == 'workflow_dispatch' }}
11 | name: detect new release
12 | runs-on: ubuntu-latest
13 | steps:
14 | - uses: actions/checkout@v3.3.0
15 | - name: Set up Python 3
16 | uses: actions/setup-python@v1
17 | with:
18 | python-version: "3.x"
19 | - name: pip install
20 | run: pip install ansible lxml
21 | - name: run playbook
22 | id: playbook
23 | run: ansible-playbook .github/scripts/check.yml
24 | - name: Create Pull Request
25 | id: cpr
26 | uses: peter-evans/create-pull-request@v3
27 | with:
28 | commit-message: Dotclear ${{ env.release_version }}
29 | committer: GitHub
30 | author: ${{ github.actor }} <${{ github.actor }}@users.noreply.github.com>
31 | signoff: false
32 | branch: v${{ env.release_version }}
33 | delete-branch: true
34 | title: 'Dotclear version v${{ env.release_version }}'
35 | body: |
36 | New version available!
37 | Release info: ${{ env.release_info }}
38 | labels: |
39 | automated pr
40 | assignees: darknao
41 | reviewers: darknao
42 |
43 | - name: Check outputs
44 | run: |
45 | echo "Pull Request Number - ${{ steps.cpr.outputs.pull-request-number }}"
46 | echo "Pull Request URL - ${{ steps.cpr.outputs.pull-request-url }}"
47 |
48 | gen:
49 | name: Generate build jobs
50 | runs-on: ubuntu-latest
51 | outputs:
52 | strategy_cache: ${{ steps.gencache.outputs.strategy }}
53 | strategy_all: ${{ steps.genall.outputs.strategy }}
54 | steps:
55 | - uses: actions/checkout@v3.3.0
56 | - id: gencache
57 | name: Get images list
58 | run: python .github/scripts/gen.py --set-output --prime
59 | - id: genall
60 | name: Get images list
61 | run: python .github/scripts/gen.py --set-output --no-prime
62 |
63 | build_cache:
64 | needs: gen
65 | strategy: ${{ fromJson(needs.gen.outputs.strategy_cache) }}
66 | name: ${{ matrix.name }}
67 | runs-on: ${{ matrix.os }}
68 | steps:
69 | - name: Checkout
70 | uses: actions/checkout@v3.3.0
71 |
72 | - name: Set up QEMU
73 | uses: docker/setup-qemu-action@v2
74 |
75 | - name: Set up Docker Buildx
76 | uses: docker/setup-buildx-action@v2
77 |
78 | - name: Login to DockerHub
79 | uses: docker/login-action@v2
80 | with:
81 | username: ${{ secrets.DOCKERHUB_USERNAME }}
82 | password: ${{ secrets.DOCKERHUB_TOKEN }}
83 |
84 | - name: Build and push
85 | uses: docker/build-push-action@v4
86 | with:
87 | context: ${{ matrix.context }}
88 | file: ${{ matrix.dockerfile }}
89 | platforms: linux/amd64,linux/arm/v7
90 | push: ${{ github.ref == 'refs/heads/master' }}
91 | tags: ${{ matrix.tags }}
92 | cache-to: type=registry,ref=darknao/dotclear:${{ matrix.cache }},mode=max
93 | cache-from: type=registry,ref=darknao/dotclear:${{ matrix.cache }}
94 |
95 | build_all:
96 | needs: [gen, build_cache]
97 | strategy: ${{ fromJson(needs.gen.outputs.strategy_all) }}
98 | name: ${{ matrix.name }}
99 | runs-on: ${{ matrix.os }}
100 | steps:
101 | - name: Checkout
102 | uses: actions/checkout@v3.3.0
103 |
104 | - name: Set up QEMU
105 | uses: docker/setup-qemu-action@v2
106 |
107 | - name: Set up Docker Buildx
108 | uses: docker/setup-buildx-action@v2
109 |
110 | - name: Login to DockerHub
111 | uses: docker/login-action@v2
112 | with:
113 | username: ${{ secrets.DOCKERHUB_USERNAME }}
114 | password: ${{ secrets.DOCKERHUB_TOKEN }}
115 |
116 | - name: Build and push
117 | uses: docker/build-push-action@v4
118 | with:
119 | context: ${{ matrix.context }}
120 | file: ${{ matrix.dockerfile }}
121 | platforms: linux/amd64,linux/arm/v7
122 | push: ${{ github.ref == 'refs/heads/master' }}
123 | tags: ${{ matrix.tags }}
124 | cache-from: type=registry,ref=darknao/dotclear:${{ matrix.cache }}
125 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Supported tags and respective `Dockerfile` links #
2 | - [`2.25.3-fpm`, `fpm` (*fpm/2.25.3/Dockerfile*)](https://github.com/darknao/docker-dotclear/blob/master/fpm/2.25.3/Dockerfile)
3 | - [`2.25.3`, `latest`, `apache` (*apache/2.25.3/Dockerfile*)](https://github.com/darknao/docker-dotclear/blob/master/apache/2.25.3/Dockerfile)
4 | - [`2.25.2-fpm` (*fpm/2.25.2/Dockerfile*)](https://github.com/darknao/docker-dotclear/blob/master/fpm/2.25.2/Dockerfile)
5 | - [`2.25.2` (*apache/2.25.2/Dockerfile*)](https://github.com/darknao/docker-dotclear/blob/master/apache/2.25.2/Dockerfile)
6 | - [`2.25-fpm` (*fpm/2.25/Dockerfile*)](https://github.com/darknao/docker-dotclear/blob/master/fpm/2.25/Dockerfile)
7 | - [`2.25` (*apache/2.25/Dockerfile*)](https://github.com/darknao/docker-dotclear/blob/master/apache/2.25/Dockerfile)
8 | - [`2.23.1-fpm` (*fpm/2.23.1/Dockerfile*)](https://github.com/darknao/docker-dotclear/blob/master/fpm/2.23.1/Dockerfile)
9 | - [`2.23.1` (*apache/2.23.1/Dockerfile*)](https://github.com/darknao/docker-dotclear/blob/master/apache/2.23.1/Dockerfile)
10 | - [`2.22-fpm` (*fpm/2.22/Dockerfile*)](https://github.com/darknao/docker-dotclear/blob/master/fpm/2.22/Dockerfile)
11 | - [`2.22` (*apache/2.22/Dockerfile*)](https://github.com/darknao/docker-dotclear/blob/master/apache/2.22/Dockerfile)
12 | - [`2.21.3-fpm` (*fpm/2.21.3/Dockerfile*)](https://github.com/darknao/docker-dotclear/blob/master/fpm/2.21.3/Dockerfile)
13 | - [`2.21.3` (*apache/2.21.3/Dockerfile*)](https://github.com/darknao/docker-dotclear/blob/master/apache/2.21.3/Dockerfile)
14 | - [`2.21.2-fpm` (*fpm/2.21.2/Dockerfile*)](https://github.com/darknao/docker-dotclear/blob/master/fpm/2.21.2/Dockerfile)
15 | - [`2.21.2` (*apache/2.21.2/Dockerfile*)](https://github.com/darknao/docker-dotclear/blob/master/apache/2.21.2/Dockerfile)
16 | - [`2.21.1-fpm` (*fpm/2.21.1/Dockerfile*)](https://github.com/darknao/docker-dotclear/blob/master/fpm/2.21.1/Dockerfile)
17 | - [`2.21.1` (*apache/2.21.1/Dockerfile*)](https://github.com/darknao/docker-dotclear/blob/master/apache/2.21.1/Dockerfile)
18 | - [`2.20.1-fpm` (*fpm/2.20.1/Dockerfile*)](https://github.com/darknao/docker-dotclear/blob/master/fpm/2.20.1/Dockerfile)
19 | - [`2.20.1` (*apache/2.20.1/Dockerfile*)](https://github.com/darknao/docker-dotclear/blob/master/apache/2.20.1/Dockerfile)
20 | - [`2.20-fpm` (*fpm/2.20/Dockerfile*)](https://github.com/darknao/docker-dotclear/blob/master/fpm/2.20/Dockerfile)
21 | - [`2.20` (*apache/2.20/Dockerfile*)](https://github.com/darknao/docker-dotclear/blob/master/apache/2.20/Dockerfile)
22 |
23 | # What is Dotclear? #
24 | Dotclear is an open source blog publishing application distributed under the GNU GPLv2.
25 |
26 | It's proposed aim is to develop a software that fully respects web standards based on open source solutions, with multilingual interface and publishing capabilities. It is written in PHP.
27 |
28 | http://dotclear.org
29 |
30 | 
31 |
32 | # How to use this image #
33 | docker run --name blog --link db_container:db -p 80:80 -d darknao/dotclear
34 |
35 | You will need a database container using mysql or postgresql, with an already created database/user.
36 |
37 | Dotclear data are stored in a volume on **/var/www/html**.
38 |
39 | On the first run, you'll get a configuration wizard to set your database settings and create your config.php.
40 |
41 | # FPM variant #
42 | You can use [this configuration file](https://github.com/darknao/docker-dotclear/blob/master/fpm/fpm.conf) with nginx, for example.
43 |
44 | Start the fpm container:
45 |
46 | docker run --link mysqldb -d --name blog_fpm darknao/dotclear:fpm
47 | Start nginx with a link to the fpm container (notice the **fpm** alias, it'll be used in the **fpm.conf**):
48 |
49 | docker run -d -p 80:80 \
50 | --link blog_fpm:fpm \
51 | --name blog_nginx \
52 | -v $(pwd)/fpm.conf:/etc/nginx/conf.d/default.conf:ro \
53 | --volumes-from blog_fpm nginx
54 |
55 | # Dotclear upgrade #
56 | Upgrade *should* happen automagically if you run an up to date image on an existing volume:
57 |
58 | docker run --volumes-from old_blog --link database -p 80:80 -d darknao/dotclear:latest
59 |
60 |
61 |
--------------------------------------------------------------------------------
/apache/2.20.1/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM php:7-apache
2 |
3 | RUN set -x; \
4 | apt-get update \
5 | && apt-get install -y --no-install-recommends \
6 | postgresql-server-dev-all \
7 | libfreetype6-dev \
8 | libjpeg62-turbo-dev \
9 | libpng-dev \
10 | libonig-dev \
11 | rsync \
12 | unzip \
13 | && rm -r /var/lib/apt/lists/*
14 |
15 | RUN docker-php-ext-install mbstring pgsql mysqli \
16 | && docker-php-ext-configure gd \
17 | --with-freetype \
18 | --with-jpeg \
19 | && docker-php-ext-install gd
20 |
21 | RUN a2enmod rewrite
22 |
23 | RUN mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini"
24 |
25 | VOLUME /var/www/html
26 | EXPOSE 80
27 |
28 | ENV DOTCLEAR_VERSION 2.20.1
29 | ENV DOTCLEAR_DOWNLOAD_URL http://download.dotclear.org/attic/dotclear-${DOTCLEAR_VERSION}.zip
30 | ENV DOTCLEAR_DOWNLOAD_MD5 c61c47cec7fd58f3e00ce5074b3405f6
31 |
32 | RUN mkdir -p /usr/src/dotclear \
33 | && curl -fsSL -o dotclear.zip "$DOTCLEAR_DOWNLOAD_URL" \
34 | && echo "$DOTCLEAR_DOWNLOAD_MD5 dotclear.zip" | md5sum -c - \
35 | && unzip -d /usr/src dotclear.zip \
36 | && rm dotclear.zip \
37 | && chown -R www-data:www-data /usr/src/dotclear \
38 | && chmod -R 755 /usr/src/dotclear/public /usr/src/dotclear/cache \
39 | && rm -f /var/www/html/*
40 |
41 |
42 | ADD docker-entrypoint.sh /entrypoint.sh
43 | ENTRYPOINT ["/entrypoint.sh"]
44 | CMD ["apache2-foreground"]
45 |
--------------------------------------------------------------------------------
/apache/2.20.1/docker-entrypoint.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | set -e
4 |
5 | if ! [ -e index.php -a -e inc/prepend.php ]; then
6 | # Initial Installation
7 | echo >&2 "Dotclear not found in $(pwd) - copying now..."
8 | if [ "$(ls -A)" ]; then
9 | echo >&2 "WARNING: $(pwd) is not empty - press Ctrl+C now if this is an error!"
10 | ( set -x; ls -A; sleep 10 )
11 | fi
12 | tar cf - --one-file-system -C /usr/src/dotclear . | tar xf -
13 | # Install default htaccess for query_string rewriting
14 | if [ ! -e .htaccess ]; then
15 | cat > .htaccess <<-'EOF'
16 |
17 | RewriteEngine On
18 | RewriteCond %{REQUEST_FILENAME} !-f
19 | RewriteCond %{REQUEST_FILENAME} !-d
20 | RewriteRule (.*) index.php?$1
21 |
22 | EOF
23 | chown www-data:www-data .htaccess
24 | fi
25 | echo >&2 "Complete! Dotclear has been successfully copied to $(pwd)"
26 | else
27 | # Existing install, do we need an upgrade?
28 | DOTCLEAR_CURRENT_VERSION=$(sed -n "s/^\s*define('DC_VERSION',\s*'\(.*\)');/\1/p" inc/prepend.php)
29 | if [ "$DOTCLEAR_CURRENT_VERSION" != "$DOTCLEAR_VERSION" ]; then
30 | echo >&2 "Upgrading Dotclear from ${DOTCLEAR_CURRENT_VERSION} to ${DOTCLEAR_VERSION}"
31 | tar cf - --one-file-system -C /usr/src/dotclear . | tar xf -
32 | if [ -e inc/config.php ]; then
33 | # use mysqli driver instead of mysql (if used)
34 | sed -i "s|^\s*define('DC_DBDRIVER',\s*'mysql');|define('DC_DBDRIVER','mysqli');|" inc/config.php
35 | fi
36 | echo >&2 "Complete! Dotclear has been successfully upgraded to ${DOTCLEAR_VERSION}"
37 | fi
38 | fi
39 |
40 | # fix permissions
41 | chown -R www-data:www-data /var/www/html
42 | [ -e /var/www/html/config.php ] && chmod 600 /var/www/html/config.php
43 |
44 | exec "$@"
45 |
--------------------------------------------------------------------------------
/apache/2.20/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM php:7-apache
2 |
3 | RUN set -x; \
4 | apt-get update \
5 | && apt-get install -y --no-install-recommends \
6 | postgresql-server-dev-all \
7 | libfreetype6-dev \
8 | libjpeg62-turbo-dev \
9 | libpng-dev \
10 | libonig-dev \
11 | rsync \
12 | unzip \
13 | && rm -r /var/lib/apt/lists/*
14 |
15 | RUN docker-php-ext-install mbstring pgsql mysqli \
16 | && docker-php-ext-configure gd \
17 | --with-freetype \
18 | --with-jpeg \
19 | && docker-php-ext-install gd
20 |
21 | RUN a2enmod rewrite
22 |
23 | RUN mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini"
24 |
25 | VOLUME /var/www/html
26 | EXPOSE 80
27 |
28 | ENV DOTCLEAR_VERSION 2.20
29 | ENV DOTCLEAR_DOWNLOAD_URL http://download.dotclear.org/attic/dotclear-${DOTCLEAR_VERSION}.zip
30 | ENV DOTCLEAR_DOWNLOAD_MD5 7ae6c57fe7913d11e9eef11d840a0b1e
31 |
32 | RUN mkdir -p /usr/src/dotclear \
33 | && curl -fsSL -o dotclear.zip "$DOTCLEAR_DOWNLOAD_URL" \
34 | && echo "$DOTCLEAR_DOWNLOAD_MD5 dotclear.zip" | md5sum -c - \
35 | && unzip -d /usr/src dotclear.zip \
36 | && rm dotclear.zip \
37 | && chown -R www-data:www-data /usr/src/dotclear \
38 | && chmod -R 755 /usr/src/dotclear/public /usr/src/dotclear/cache \
39 | && rm -f /var/www/html/*
40 |
41 |
42 | ADD docker-entrypoint.sh /entrypoint.sh
43 | ENTRYPOINT ["/entrypoint.sh"]
44 | CMD ["apache2-foreground"]
45 |
--------------------------------------------------------------------------------
/apache/2.20/docker-entrypoint.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | set -e
4 |
5 | if ! [ -e index.php -a -e inc/prepend.php ]; then
6 | # Initial Installation
7 | echo >&2 "Dotclear not found in $(pwd) - copying now..."
8 | if [ "$(ls -A)" ]; then
9 | echo >&2 "WARNING: $(pwd) is not empty - press Ctrl+C now if this is an error!"
10 | ( set -x; ls -A; sleep 10 )
11 | fi
12 | tar cf - --one-file-system -C /usr/src/dotclear . | tar xf -
13 | # Install default htaccess for query_string rewriting
14 | if [ ! -e .htaccess ]; then
15 | cat > .htaccess <<-'EOF'
16 |
17 | RewriteEngine On
18 | RewriteCond %{REQUEST_FILENAME} !-f
19 | RewriteCond %{REQUEST_FILENAME} !-d
20 | RewriteRule (.*) index.php?$1
21 |
22 | EOF
23 | chown www-data:www-data .htaccess
24 | fi
25 | echo >&2 "Complete! Dotclear has been successfully copied to $(pwd)"
26 | else
27 | # Existing install, do we need an upgrade?
28 | DOTCLEAR_CURRENT_VERSION=$(sed -n "s/^\s*define('DC_VERSION',\s*'\(.*\)');/\1/p" inc/prepend.php)
29 | if [ "$DOTCLEAR_CURRENT_VERSION" != "$DOTCLEAR_VERSION" ]; then
30 | echo >&2 "Upgrading Dotclear from ${DOTCLEAR_CURRENT_VERSION} to ${DOTCLEAR_VERSION}"
31 | tar cf - --one-file-system -C /usr/src/dotclear . | tar xf -
32 | if [ -e inc/config.php ]; then
33 | # use mysqli driver instead of mysql (if used)
34 | sed -i "s|^\s*define('DC_DBDRIVER',\s*'mysql');|define('DC_DBDRIVER','mysqli');|" inc/config.php
35 | fi
36 | echo >&2 "Complete! Dotclear has been successfully upgraded to ${DOTCLEAR_VERSION}"
37 | fi
38 | fi
39 |
40 | # fix permissions
41 | chown -R www-data:www-data /var/www/html
42 | [ -e /var/www/html/config.php ] && chmod 600 /var/www/html/config.php
43 |
44 | exec "$@"
45 |
--------------------------------------------------------------------------------
/apache/2.21.1/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM php:7-apache
2 |
3 | RUN set -x; \
4 | apt-get update \
5 | && apt-get install -y --no-install-recommends \
6 | postgresql-server-dev-all \
7 | libfreetype6-dev \
8 | libjpeg62-turbo-dev \
9 | libpng-dev \
10 | libonig-dev \
11 | rsync \
12 | unzip \
13 | && rm -r /var/lib/apt/lists/*
14 |
15 | RUN docker-php-ext-install mbstring pgsql mysqli \
16 | && docker-php-ext-configure gd \
17 | --with-freetype \
18 | --with-jpeg \
19 | && docker-php-ext-install gd
20 |
21 | RUN a2enmod rewrite
22 |
23 | RUN mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini"
24 |
25 | VOLUME /var/www/html
26 | EXPOSE 80
27 |
28 | ENV DOTCLEAR_VERSION 2.21.1
29 | ENV DOTCLEAR_DOWNLOAD_URL http://download.dotclear.org/attic/dotclear-${DOTCLEAR_VERSION}.zip
30 | ENV DOTCLEAR_DOWNLOAD_MD5 b91976c39cf54949ed27d92be588c3b4
31 |
32 | RUN mkdir -p /usr/src/dotclear \
33 | && curl -fsSL -o dotclear.zip "$DOTCLEAR_DOWNLOAD_URL" \
34 | && echo "$DOTCLEAR_DOWNLOAD_MD5 dotclear.zip" | md5sum -c - \
35 | && unzip -d /usr/src dotclear.zip \
36 | && rm dotclear.zip \
37 | && chown -R www-data:www-data /usr/src/dotclear \
38 | && chmod -R 755 /usr/src/dotclear/public /usr/src/dotclear/cache \
39 | && rm -f /var/www/html/*
40 |
41 |
42 | ADD docker-entrypoint.sh /entrypoint.sh
43 | ENTRYPOINT ["/entrypoint.sh"]
44 | CMD ["apache2-foreground"]
45 |
--------------------------------------------------------------------------------
/apache/2.21.1/docker-entrypoint.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | set -e
4 |
5 | if ! [ -e index.php -a -e inc/prepend.php ]; then
6 | # Initial Installation
7 | echo >&2 "Dotclear not found in $(pwd) - copying now..."
8 | if [ "$(ls -A)" ]; then
9 | echo >&2 "WARNING: $(pwd) is not empty - press Ctrl+C now if this is an error!"
10 | ( set -x; ls -A; sleep 10 )
11 | fi
12 | tar cf - --one-file-system -C /usr/src/dotclear . | tar xf -
13 | # Install default htaccess for query_string rewriting
14 | if [ ! -e .htaccess ]; then
15 | cat > .htaccess <<-'EOF'
16 |
17 | RewriteEngine On
18 | RewriteCond %{REQUEST_FILENAME} !-f
19 | RewriteCond %{REQUEST_FILENAME} !-d
20 | RewriteRule (.*) index.php?$1
21 |
22 | EOF
23 | chown www-data:www-data .htaccess
24 | fi
25 | echo >&2 "Complete! Dotclear has been successfully copied to $(pwd)"
26 | else
27 | # Existing install, do we need an upgrade?
28 | DOTCLEAR_CURRENT_VERSION=$(sed -n "s/^\s*define('DC_VERSION',\s*'\(.*\)');/\1/p" inc/prepend.php)
29 | if [ "$DOTCLEAR_CURRENT_VERSION" != "$DOTCLEAR_VERSION" ]; then
30 | echo >&2 "Upgrading Dotclear from ${DOTCLEAR_CURRENT_VERSION} to ${DOTCLEAR_VERSION}"
31 | tar cf - --one-file-system -C /usr/src/dotclear . | tar xf -
32 | if [ -e inc/config.php ]; then
33 | # use mysqli driver instead of mysql (if used)
34 | sed -i "s|^\s*define('DC_DBDRIVER',\s*'mysql');|define('DC_DBDRIVER','mysqli');|" inc/config.php
35 | fi
36 | echo >&2 "Complete! Dotclear has been successfully upgraded to ${DOTCLEAR_VERSION}"
37 | fi
38 | fi
39 |
40 | # fix permissions
41 | chown -R www-data:www-data /var/www/html
42 | [ -e /var/www/html/config.php ] && chmod 600 /var/www/html/config.php
43 |
44 | exec "$@"
45 |
--------------------------------------------------------------------------------
/apache/2.21.2/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM php:7-apache
2 |
3 | RUN set -x; \
4 | apt-get update \
5 | && apt-get install -y --no-install-recommends \
6 | postgresql-server-dev-all \
7 | libfreetype6-dev \
8 | libjpeg62-turbo-dev \
9 | libpng-dev \
10 | libonig-dev \
11 | rsync \
12 | unzip \
13 | && rm -r /var/lib/apt/lists/*
14 |
15 | RUN docker-php-ext-install mbstring pgsql mysqli \
16 | && docker-php-ext-configure gd \
17 | --with-freetype \
18 | --with-jpeg \
19 | && docker-php-ext-install gd
20 |
21 | RUN a2enmod rewrite
22 |
23 | RUN mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini"
24 |
25 | VOLUME /var/www/html
26 | EXPOSE 80
27 |
28 | ENV DOTCLEAR_VERSION 2.21.2
29 | ENV DOTCLEAR_DOWNLOAD_URL http://download.dotclear.org/attic/dotclear-${DOTCLEAR_VERSION}.zip
30 | ENV DOTCLEAR_DOWNLOAD_MD5 42d34ac954e96f7a44ebd897a1baebf4
31 |
32 | RUN mkdir -p /usr/src/dotclear \
33 | && curl -fsSL -o dotclear.zip "$DOTCLEAR_DOWNLOAD_URL" \
34 | && echo "$DOTCLEAR_DOWNLOAD_MD5 dotclear.zip" | md5sum -c - \
35 | && unzip -d /usr/src dotclear.zip \
36 | && rm dotclear.zip \
37 | && chown -R www-data:www-data /usr/src/dotclear \
38 | && chmod -R 755 /usr/src/dotclear/public /usr/src/dotclear/cache \
39 | && rm -f /var/www/html/*
40 |
41 |
42 | ADD docker-entrypoint.sh /entrypoint.sh
43 | ENTRYPOINT ["/entrypoint.sh"]
44 | CMD ["apache2-foreground"]
45 |
--------------------------------------------------------------------------------
/apache/2.21.2/docker-entrypoint.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | set -e
4 |
5 | if ! [ -e index.php -a -e inc/prepend.php ]; then
6 | # Initial Installation
7 | echo >&2 "Dotclear not found in $(pwd) - copying now..."
8 | if [ "$(ls -A)" ]; then
9 | echo >&2 "WARNING: $(pwd) is not empty - press Ctrl+C now if this is an error!"
10 | ( set -x; ls -A; sleep 10 )
11 | fi
12 | tar cf - --one-file-system -C /usr/src/dotclear . | tar xf -
13 | # Install default htaccess for query_string rewriting
14 | if [ ! -e .htaccess ]; then
15 | cat > .htaccess <<-'EOF'
16 |
17 | RewriteEngine On
18 | RewriteCond %{REQUEST_FILENAME} !-f
19 | RewriteCond %{REQUEST_FILENAME} !-d
20 | RewriteRule (.*) index.php?$1
21 |
22 | EOF
23 | chown www-data:www-data .htaccess
24 | fi
25 | echo >&2 "Complete! Dotclear has been successfully copied to $(pwd)"
26 | else
27 | # Existing install, do we need an upgrade?
28 | DOTCLEAR_CURRENT_VERSION=$(sed -n "s/^\s*define('DC_VERSION',\s*'\(.*\)');/\1/p" inc/prepend.php)
29 | if [ "$DOTCLEAR_CURRENT_VERSION" != "$DOTCLEAR_VERSION" ]; then
30 | echo >&2 "Upgrading Dotclear from ${DOTCLEAR_CURRENT_VERSION} to ${DOTCLEAR_VERSION}"
31 | tar cf - --one-file-system -C /usr/src/dotclear . | tar xf -
32 | if [ -e inc/config.php ]; then
33 | # use mysqli driver instead of mysql (if used)
34 | sed -i "s|^\s*define('DC_DBDRIVER',\s*'mysql');|define('DC_DBDRIVER','mysqli');|" inc/config.php
35 | fi
36 | echo >&2 "Complete! Dotclear has been successfully upgraded to ${DOTCLEAR_VERSION}"
37 | fi
38 | fi
39 |
40 | # fix permissions
41 | chown -R www-data:www-data /var/www/html
42 | [ -e /var/www/html/config.php ] && chmod 600 /var/www/html/config.php
43 |
44 | exec "$@"
45 |
--------------------------------------------------------------------------------
/apache/2.21.3/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM php:7-apache
2 |
3 | RUN set -x; \
4 | apt-get update \
5 | && apt-get install -y --no-install-recommends \
6 | postgresql-server-dev-all \
7 | libfreetype6-dev \
8 | libjpeg62-turbo-dev \
9 | libpng-dev \
10 | libonig-dev \
11 | rsync \
12 | unzip \
13 | && rm -r /var/lib/apt/lists/*
14 |
15 | RUN docker-php-ext-install mbstring pgsql mysqli \
16 | && docker-php-ext-configure gd \
17 | --with-freetype \
18 | --with-jpeg \
19 | && docker-php-ext-install gd
20 |
21 | RUN a2enmod rewrite
22 |
23 | RUN mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini"
24 |
25 | VOLUME /var/www/html
26 | EXPOSE 80
27 |
28 | ENV DOTCLEAR_VERSION 2.21.3
29 | ENV DOTCLEAR_DOWNLOAD_URL http://download.dotclear.org/attic/dotclear-${DOTCLEAR_VERSION}.zip
30 | ENV DOTCLEAR_DOWNLOAD_MD5 011e7c48361499e6177609ffec6e586f
31 |
32 | RUN mkdir -p /usr/src/dotclear \
33 | && curl -fsSL -o dotclear.zip "$DOTCLEAR_DOWNLOAD_URL" \
34 | && echo "$DOTCLEAR_DOWNLOAD_MD5 dotclear.zip" | md5sum -c - \
35 | && unzip -d /usr/src dotclear.zip \
36 | && rm dotclear.zip \
37 | && chown -R www-data:www-data /usr/src/dotclear \
38 | && chmod -R 755 /usr/src/dotclear/public /usr/src/dotclear/cache \
39 | && rm -f /var/www/html/*
40 |
41 |
42 | ADD docker-entrypoint.sh /entrypoint.sh
43 | ENTRYPOINT ["/entrypoint.sh"]
44 | CMD ["apache2-foreground"]
45 |
--------------------------------------------------------------------------------
/apache/2.21.3/docker-entrypoint.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | set -e
4 |
5 | if ! [ -e index.php -a -e inc/prepend.php ]; then
6 | # Initial Installation
7 | echo >&2 "Dotclear not found in $(pwd) - copying now..."
8 | if [ "$(ls -A)" ]; then
9 | echo >&2 "WARNING: $(pwd) is not empty - press Ctrl+C now if this is an error!"
10 | ( set -x; ls -A; sleep 10 )
11 | fi
12 | tar cf - --one-file-system -C /usr/src/dotclear . | tar xf -
13 | # Install default htaccess for query_string rewriting
14 | if [ ! -e .htaccess ]; then
15 | cat > .htaccess <<-'EOF'
16 |
17 | RewriteEngine On
18 | RewriteCond %{REQUEST_FILENAME} !-f
19 | RewriteCond %{REQUEST_FILENAME} !-d
20 | RewriteRule (.*) index.php?$1
21 |
22 | EOF
23 | chown www-data:www-data .htaccess
24 | fi
25 | echo >&2 "Complete! Dotclear has been successfully copied to $(pwd)"
26 | else
27 | # Existing install, do we need an upgrade?
28 | DOTCLEAR_CURRENT_VERSION=$(sed -n "s/^\s*define('DC_VERSION',\s*'\(.*\)');/\1/p" inc/prepend.php)
29 | if [ "$DOTCLEAR_CURRENT_VERSION" != "$DOTCLEAR_VERSION" ]; then
30 | echo >&2 "Upgrading Dotclear from ${DOTCLEAR_CURRENT_VERSION} to ${DOTCLEAR_VERSION}"
31 | tar cf - --one-file-system -C /usr/src/dotclear . | tar xf -
32 | if [ -e inc/config.php ]; then
33 | # use mysqli driver instead of mysql (if used)
34 | sed -i "s|^\s*define('DC_DBDRIVER',\s*'mysql');|define('DC_DBDRIVER','mysqli');|" inc/config.php
35 | fi
36 | echo >&2 "Complete! Dotclear has been successfully upgraded to ${DOTCLEAR_VERSION}"
37 | fi
38 | fi
39 |
40 | # fix permissions
41 | chown -R www-data:www-data /var/www/html
42 | [ -e /var/www/html/config.php ] && chmod 600 /var/www/html/config.php
43 |
44 | exec "$@"
45 |
--------------------------------------------------------------------------------
/apache/2.22/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM php:7-apache
2 |
3 | RUN set -x; \
4 | apt-get update \
5 | && apt-get install -y --no-install-recommends \
6 | postgresql-server-dev-all \
7 | libfreetype6-dev \
8 | libjpeg62-turbo-dev \
9 | libpng-dev \
10 | libonig-dev \
11 | rsync \
12 | unzip \
13 | && rm -r /var/lib/apt/lists/*
14 |
15 | RUN docker-php-ext-install mbstring pgsql mysqli \
16 | && docker-php-ext-configure gd \
17 | --with-freetype \
18 | --with-jpeg \
19 | && docker-php-ext-install gd
20 |
21 | RUN a2enmod rewrite
22 |
23 | RUN mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini"
24 |
25 | VOLUME /var/www/html
26 | EXPOSE 80
27 |
28 | ENV DOTCLEAR_VERSION 2.22
29 | ENV DOTCLEAR_DOWNLOAD_URL http://download.dotclear.org/attic/dotclear-${DOTCLEAR_VERSION}.zip
30 | ENV DOTCLEAR_DOWNLOAD_MD5 445dfbab5e8a86abc33916acf1ebb97b
31 |
32 | RUN mkdir -p /usr/src/dotclear \
33 | && curl -fsSL -o dotclear.zip "$DOTCLEAR_DOWNLOAD_URL" \
34 | && echo "$DOTCLEAR_DOWNLOAD_MD5 dotclear.zip" | md5sum -c - \
35 | && unzip -d /usr/src dotclear.zip \
36 | && rm dotclear.zip \
37 | && chown -R www-data:www-data /usr/src/dotclear \
38 | && chmod -R 755 /usr/src/dotclear/public /usr/src/dotclear/cache \
39 | && rm -f /var/www/html/*
40 |
41 |
42 | ADD docker-entrypoint.sh /entrypoint.sh
43 | ENTRYPOINT ["/entrypoint.sh"]
44 | CMD ["apache2-foreground"]
45 |
--------------------------------------------------------------------------------
/apache/2.22/docker-entrypoint.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | set -e
4 |
5 | if ! [ -e index.php -a -e inc/prepend.php ]; then
6 | # Initial Installation
7 | echo >&2 "Dotclear not found in $(pwd) - copying now..."
8 | if [ "$(ls -A)" ]; then
9 | echo >&2 "WARNING: $(pwd) is not empty - press Ctrl+C now if this is an error!"
10 | ( set -x; ls -A; sleep 10 )
11 | fi
12 | tar cf - --one-file-system -C /usr/src/dotclear . | tar xf -
13 | # Install default htaccess for query_string rewriting
14 | if [ ! -e .htaccess ]; then
15 | cat > .htaccess <<-'EOF'
16 |
17 | RewriteEngine On
18 | RewriteCond %{REQUEST_FILENAME} !-f
19 | RewriteCond %{REQUEST_FILENAME} !-d
20 | RewriteRule (.*) index.php?$1
21 |
22 | EOF
23 | chown www-data:www-data .htaccess
24 | fi
25 | echo >&2 "Complete! Dotclear has been successfully copied to $(pwd)"
26 | else
27 | # Existing install, do we need an upgrade?
28 | DOTCLEAR_CURRENT_VERSION=$(sed -n "s/^\s*define('DC_VERSION',\s*'\(.*\)');/\1/p" inc/prepend.php)
29 | if [ "$DOTCLEAR_CURRENT_VERSION" != "$DOTCLEAR_VERSION" ]; then
30 | echo >&2 "Upgrading Dotclear from ${DOTCLEAR_CURRENT_VERSION} to ${DOTCLEAR_VERSION}"
31 | tar cf - --one-file-system -C /usr/src/dotclear . | tar xf -
32 | if [ -e inc/config.php ]; then
33 | # use mysqli driver instead of mysql (if used)
34 | sed -i "s|^\s*define('DC_DBDRIVER',\s*'mysql');|define('DC_DBDRIVER','mysqli');|" inc/config.php
35 | fi
36 | echo >&2 "Complete! Dotclear has been successfully upgraded to ${DOTCLEAR_VERSION}"
37 | fi
38 | fi
39 |
40 | # fix permissions
41 | chown -R www-data:www-data /var/www/html
42 | [ -e /var/www/html/config.php ] && chmod 600 /var/www/html/config.php
43 |
44 | exec "$@"
45 |
--------------------------------------------------------------------------------
/apache/2.23.1/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM php:8-apache
2 |
3 | RUN set -x; \
4 | apt-get update \
5 | && apt-get install -y --no-install-recommends \
6 | postgresql-server-dev-all \
7 | libfreetype6-dev \
8 | libjpeg62-turbo-dev \
9 | libpng-dev \
10 | libonig-dev \
11 | rsync \
12 | unzip \
13 | && rm -r /var/lib/apt/lists/*
14 |
15 | RUN docker-php-ext-install mbstring pgsql mysqli \
16 | && docker-php-ext-configure gd \
17 | --with-freetype \
18 | --with-jpeg \
19 | && docker-php-ext-install gd
20 |
21 | RUN a2enmod rewrite
22 |
23 | RUN mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini"
24 |
25 | VOLUME /var/www/html
26 | EXPOSE 80
27 |
28 | ENV DOTCLEAR_VERSION 2.23.1
29 | ENV DOTCLEAR_DOWNLOAD_URL http://download.dotclear.org/attic/dotclear-${DOTCLEAR_VERSION}.zip
30 | ENV DOTCLEAR_DOWNLOAD_MD5 add0cf89d8545b1f09bc3c65ee9a7a8a
31 |
32 | RUN mkdir -p /usr/src/dotclear \
33 | && curl -fsSL -o dotclear.zip "$DOTCLEAR_DOWNLOAD_URL" \
34 | && echo "$DOTCLEAR_DOWNLOAD_MD5 dotclear.zip" | md5sum -c - \
35 | && unzip -d /usr/src dotclear.zip \
36 | && rm dotclear.zip \
37 | && chown -R www-data:www-data /usr/src/dotclear \
38 | && chmod -R 755 /usr/src/dotclear/public /usr/src/dotclear/cache \
39 | && rm -f /var/www/html/*
40 |
41 |
42 | ADD docker-entrypoint.sh /entrypoint.sh
43 | ENTRYPOINT ["/entrypoint.sh"]
44 | CMD ["apache2-foreground"]
45 |
--------------------------------------------------------------------------------
/apache/2.23.1/docker-entrypoint.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | set -e
4 |
5 | if ! [ -e index.php -a -e inc/prepend.php ]; then
6 | # Initial Installation
7 | echo >&2 "Dotclear not found in $(pwd) - copying now..."
8 | if [ "$(ls -A)" ]; then
9 | echo >&2 "WARNING: $(pwd) is not empty - press Ctrl+C now if this is an error!"
10 | ( set -x; ls -A; sleep 10 )
11 | fi
12 | tar cf - --one-file-system -C /usr/src/dotclear . | tar xf -
13 | # Install default htaccess for query_string rewriting
14 | if [ ! -e .htaccess ]; then
15 | cat > .htaccess <<-'EOF'
16 |
17 | RewriteEngine On
18 | RewriteCond %{REQUEST_FILENAME} !-f
19 | RewriteCond %{REQUEST_FILENAME} !-d
20 | RewriteRule (.*) index.php?$1
21 |
22 | EOF
23 | chown www-data:www-data .htaccess
24 | fi
25 | echo >&2 "Complete! Dotclear has been successfully copied to $(pwd)"
26 | else
27 | # Existing install, do we need an upgrade?
28 | DOTCLEAR_CURRENT_VERSION=$(sed -n "s/^\s*define('DC_VERSION',\s*'\(.*\)');/\1/p" inc/prepend.php)
29 | if [ "$DOTCLEAR_CURRENT_VERSION" != "$DOTCLEAR_VERSION" ]; then
30 | echo >&2 "Upgrading Dotclear from ${DOTCLEAR_CURRENT_VERSION} to ${DOTCLEAR_VERSION}"
31 | tar cf - --one-file-system -C /usr/src/dotclear . | tar xf -
32 | if [ -e inc/config.php ]; then
33 | # use mysqli driver instead of mysql (if used)
34 | sed -i "s|^\s*define('DC_DBDRIVER',\s*'mysql');|define('DC_DBDRIVER','mysqli');|" inc/config.php
35 | fi
36 | echo >&2 "Complete! Dotclear has been successfully upgraded to ${DOTCLEAR_VERSION}"
37 | fi
38 | fi
39 |
40 | # fix permissions
41 | chown -R www-data:www-data /var/www/html
42 | [ -e /var/www/html/config.php ] && chmod 600 /var/www/html/config.php
43 |
44 | exec "$@"
45 |
--------------------------------------------------------------------------------
/apache/2.25.2/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM php:8-apache
2 |
3 | RUN set -x; \
4 | apt-get update \
5 | && apt-get install -y --no-install-recommends \
6 | postgresql-server-dev-all \
7 | libfreetype6-dev \
8 | libjpeg62-turbo-dev \
9 | libpng-dev \
10 | libonig-dev \
11 | rsync \
12 | unzip \
13 | && rm -r /var/lib/apt/lists/*
14 |
15 | RUN docker-php-ext-install mbstring pgsql mysqli \
16 | && docker-php-ext-configure gd \
17 | --with-freetype \
18 | --with-jpeg \
19 | && docker-php-ext-install gd
20 |
21 | RUN a2enmod rewrite
22 |
23 | RUN mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini"
24 |
25 | VOLUME /var/www/html
26 | EXPOSE 80
27 |
28 | ENV DOTCLEAR_VERSION 2.25.2
29 | ENV DOTCLEAR_DOWNLOAD_URL http://download.dotclear.org/attic/dotclear-${DOTCLEAR_VERSION}.zip
30 | ENV DOTCLEAR_DOWNLOAD_MD5 247d04629f2603879cb7f228a06c0396
31 |
32 | RUN mkdir -p /usr/src/dotclear \
33 | && curl -fsSL -o dotclear.zip "$DOTCLEAR_DOWNLOAD_URL" \
34 | && echo "$DOTCLEAR_DOWNLOAD_MD5 dotclear.zip" | md5sum -c - \
35 | && unzip -d /usr/src dotclear.zip \
36 | && rm dotclear.zip \
37 | && chown -R www-data:www-data /usr/src/dotclear \
38 | && chmod -R 755 /usr/src/dotclear/public /usr/src/dotclear/cache \
39 | && rm -f /var/www/html/*
40 |
41 |
42 | ADD docker-entrypoint.sh /entrypoint.sh
43 | ENTRYPOINT ["/entrypoint.sh"]
44 | CMD ["apache2-foreground"]
45 |
--------------------------------------------------------------------------------
/apache/2.25.2/docker-entrypoint.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | set -e
4 |
5 | if ! [ -e index.php -a -e inc/prepend.php ]; then
6 | # Initial Installation
7 | echo >&2 "Dotclear not found in $(pwd) - copying now..."
8 | if [ "$(ls -A)" ]; then
9 | echo >&2 "WARNING: $(pwd) is not empty - press Ctrl+C now if this is an error!"
10 | ( set -x; ls -A; sleep 10 )
11 | fi
12 | tar cf - --one-file-system -C /usr/src/dotclear . | tar xf -
13 | # Install default htaccess for query_string rewriting
14 | if [ ! -e .htaccess ]; then
15 | cat > .htaccess <<-'EOF'
16 |
17 | RewriteEngine On
18 | RewriteCond %{REQUEST_FILENAME} !-f
19 | RewriteCond %{REQUEST_FILENAME} !-d
20 | RewriteRule (.*) index.php?$1
21 |
22 | EOF
23 | chown www-data:www-data .htaccess
24 | fi
25 | echo >&2 "Complete! Dotclear has been successfully copied to $(pwd)"
26 | else
27 | # Existing install, do we need an upgrade?
28 | DOTCLEAR_CURRENT_VERSION=$(sed -n "s/^\s*define('DC_VERSION',\s*'\(.*\)');/\1/p" inc/prepend.php)
29 | if [ "$DOTCLEAR_CURRENT_VERSION" != "$DOTCLEAR_VERSION" ]; then
30 | echo >&2 "Upgrading Dotclear from ${DOTCLEAR_CURRENT_VERSION} to ${DOTCLEAR_VERSION}"
31 | tar cf - --one-file-system -C /usr/src/dotclear . | tar xf -
32 | if [ -e inc/config.php ]; then
33 | # use mysqli driver instead of mysql (if used)
34 | sed -i "s|^\s*define('DC_DBDRIVER',\s*'mysql');|define('DC_DBDRIVER','mysqli');|" inc/config.php
35 | fi
36 | echo >&2 "Complete! Dotclear has been successfully upgraded to ${DOTCLEAR_VERSION}"
37 | fi
38 | fi
39 |
40 | # fix permissions
41 | chown -R www-data:www-data /var/www/html
42 | [ -e /var/www/html/config.php ] && chmod 600 /var/www/html/config.php
43 |
44 | exec "$@"
45 |
--------------------------------------------------------------------------------
/apache/2.25.3/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM php:8-apache
2 |
3 | RUN set -x; \
4 | apt-get update \
5 | && apt-get install -y --no-install-recommends \
6 | postgresql-server-dev-all \
7 | libfreetype6-dev \
8 | libjpeg62-turbo-dev \
9 | libpng-dev \
10 | libonig-dev \
11 | rsync \
12 | unzip \
13 | && rm -r /var/lib/apt/lists/*
14 |
15 | RUN docker-php-ext-install mbstring pgsql mysqli \
16 | && docker-php-ext-configure gd \
17 | --with-freetype \
18 | --with-jpeg \
19 | && docker-php-ext-install gd
20 |
21 | RUN a2enmod rewrite
22 |
23 | RUN mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini"
24 |
25 | VOLUME /var/www/html
26 | EXPOSE 80
27 |
28 | ENV DOTCLEAR_VERSION 2.25.3
29 | ENV DOTCLEAR_DOWNLOAD_URL http://download.dotclear.org/latest/dotclear-${DOTCLEAR_VERSION}.zip
30 | ENV DOTCLEAR_DOWNLOAD_MD5 4251e05df5884c53aa8e3b378a453e4d
31 |
32 | RUN mkdir -p /usr/src/dotclear \
33 | && curl -fsSL -o dotclear.zip "$DOTCLEAR_DOWNLOAD_URL" \
34 | && echo "$DOTCLEAR_DOWNLOAD_MD5 dotclear.zip" | md5sum -c - \
35 | && unzip -d /usr/src dotclear.zip \
36 | && rm dotclear.zip \
37 | && chown -R www-data:www-data /usr/src/dotclear \
38 | && chmod -R 755 /usr/src/dotclear/public /usr/src/dotclear/cache \
39 | && rm -f /var/www/html/*
40 |
41 |
42 | ADD docker-entrypoint.sh /entrypoint.sh
43 | ENTRYPOINT ["/entrypoint.sh"]
44 | CMD ["apache2-foreground"]
45 |
--------------------------------------------------------------------------------
/apache/2.25.3/docker-entrypoint.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | set -e
4 |
5 | if ! [ -e index.php -a -e inc/prepend.php ]; then
6 | # Initial Installation
7 | echo >&2 "Dotclear not found in $(pwd) - copying now..."
8 | if [ "$(ls -A)" ]; then
9 | echo >&2 "WARNING: $(pwd) is not empty - press Ctrl+C now if this is an error!"
10 | ( set -x; ls -A; sleep 10 )
11 | fi
12 | tar cf - --one-file-system -C /usr/src/dotclear . | tar xf -
13 | # Install default htaccess for query_string rewriting
14 | if [ ! -e .htaccess ]; then
15 | cat > .htaccess <<-'EOF'
16 |
17 | RewriteEngine On
18 | RewriteCond %{REQUEST_FILENAME} !-f
19 | RewriteCond %{REQUEST_FILENAME} !-d
20 | RewriteRule (.*) index.php?$1
21 |
22 | EOF
23 | chown www-data:www-data .htaccess
24 | fi
25 | echo >&2 "Complete! Dotclear has been successfully copied to $(pwd)"
26 | else
27 | # Existing install, do we need an upgrade?
28 | DOTCLEAR_CURRENT_VERSION=$(sed -n "s/^\s*define('DC_VERSION',\s*'\(.*\)');/\1/p" inc/prepend.php)
29 | if [ "$DOTCLEAR_CURRENT_VERSION" != "$DOTCLEAR_VERSION" ]; then
30 | echo >&2 "Upgrading Dotclear from ${DOTCLEAR_CURRENT_VERSION} to ${DOTCLEAR_VERSION}"
31 | tar cf - --one-file-system -C /usr/src/dotclear . | tar xf -
32 | if [ -e inc/config.php ]; then
33 | # use mysqli driver instead of mysql (if used)
34 | sed -i "s|^\s*define('DC_DBDRIVER',\s*'mysql');|define('DC_DBDRIVER','mysqli');|" inc/config.php
35 | fi
36 | echo >&2 "Complete! Dotclear has been successfully upgraded to ${DOTCLEAR_VERSION}"
37 | fi
38 | fi
39 |
40 | # fix permissions
41 | chown -R www-data:www-data /var/www/html
42 | [ -e /var/www/html/config.php ] && chmod 600 /var/www/html/config.php
43 |
44 | exec "$@"
45 |
--------------------------------------------------------------------------------
/apache/2.25/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM php:8-apache
2 |
3 | RUN set -x; \
4 | apt-get update \
5 | && apt-get install -y --no-install-recommends \
6 | postgresql-server-dev-all \
7 | libfreetype6-dev \
8 | libjpeg62-turbo-dev \
9 | libpng-dev \
10 | libonig-dev \
11 | rsync \
12 | unzip \
13 | && rm -r /var/lib/apt/lists/*
14 |
15 | RUN docker-php-ext-install mbstring pgsql mysqli \
16 | && docker-php-ext-configure gd \
17 | --with-freetype \
18 | --with-jpeg \
19 | && docker-php-ext-install gd
20 |
21 | RUN a2enmod rewrite
22 |
23 | RUN mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini"
24 |
25 | VOLUME /var/www/html
26 | EXPOSE 80
27 |
28 | ENV DOTCLEAR_VERSION 2.25
29 | ENV DOTCLEAR_DOWNLOAD_URL http://download.dotclear.org/attic/dotclear-${DOTCLEAR_VERSION}.zip
30 | ENV DOTCLEAR_DOWNLOAD_MD5 419549fc487e7712c59c9a2a4eff258c
31 |
32 | RUN mkdir -p /usr/src/dotclear \
33 | && curl -fsSL -o dotclear.zip "$DOTCLEAR_DOWNLOAD_URL" \
34 | && echo "$DOTCLEAR_DOWNLOAD_MD5 dotclear.zip" | md5sum -c - \
35 | && unzip -d /usr/src dotclear.zip \
36 | && rm dotclear.zip \
37 | && chown -R www-data:www-data /usr/src/dotclear \
38 | && chmod -R 755 /usr/src/dotclear/public /usr/src/dotclear/cache \
39 | && rm -f /var/www/html/*
40 |
41 |
42 | ADD docker-entrypoint.sh /entrypoint.sh
43 | ENTRYPOINT ["/entrypoint.sh"]
44 | CMD ["apache2-foreground"]
45 |
--------------------------------------------------------------------------------
/apache/2.25/docker-entrypoint.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | set -e
4 |
5 | if ! [ -e index.php -a -e inc/prepend.php ]; then
6 | # Initial Installation
7 | echo >&2 "Dotclear not found in $(pwd) - copying now..."
8 | if [ "$(ls -A)" ]; then
9 | echo >&2 "WARNING: $(pwd) is not empty - press Ctrl+C now if this is an error!"
10 | ( set -x; ls -A; sleep 10 )
11 | fi
12 | tar cf - --one-file-system -C /usr/src/dotclear . | tar xf -
13 | # Install default htaccess for query_string rewriting
14 | if [ ! -e .htaccess ]; then
15 | cat > .htaccess <<-'EOF'
16 |
17 | RewriteEngine On
18 | RewriteCond %{REQUEST_FILENAME} !-f
19 | RewriteCond %{REQUEST_FILENAME} !-d
20 | RewriteRule (.*) index.php?$1
21 |
22 | EOF
23 | chown www-data:www-data .htaccess
24 | fi
25 | echo >&2 "Complete! Dotclear has been successfully copied to $(pwd)"
26 | else
27 | # Existing install, do we need an upgrade?
28 | DOTCLEAR_CURRENT_VERSION=$(sed -n "s/^\s*define('DC_VERSION',\s*'\(.*\)');/\1/p" inc/prepend.php)
29 | if [ "$DOTCLEAR_CURRENT_VERSION" != "$DOTCLEAR_VERSION" ]; then
30 | echo >&2 "Upgrading Dotclear from ${DOTCLEAR_CURRENT_VERSION} to ${DOTCLEAR_VERSION}"
31 | tar cf - --one-file-system -C /usr/src/dotclear . | tar xf -
32 | if [ -e inc/config.php ]; then
33 | # use mysqli driver instead of mysql (if used)
34 | sed -i "s|^\s*define('DC_DBDRIVER',\s*'mysql');|define('DC_DBDRIVER','mysqli');|" inc/config.php
35 | fi
36 | echo >&2 "Complete! Dotclear has been successfully upgraded to ${DOTCLEAR_VERSION}"
37 | fi
38 | fi
39 |
40 | # fix permissions
41 | chown -R www-data:www-data /var/www/html
42 | [ -e /var/www/html/config.php ] && chmod 600 /var/www/html/config.php
43 |
44 | exec "$@"
45 |
--------------------------------------------------------------------------------
/docker-compose.yml:
--------------------------------------------------------------------------------
1 | nginx:
2 | image: nginx
3 | links:
4 | - dotclear:fpm
5 | volumes:
6 | - ./fpm/fpm.conf:/etc/nginx/conf.d/default.conf:Z
7 | volumes_from:
8 | - blog_data
9 | restart: always
10 |
11 | mysql:
12 | image: mysql
13 | volumes_from:
14 | - mysql_data
15 | restart: always
16 |
17 | dotclear:
18 | image: darknao/dotclear:fpm
19 | links:
20 | - mysql:mysqldb
21 | volumes_from:
22 | - blog_data
23 | restart: always
24 |
25 | varnish:
26 | image: eeacms/varnish
27 | links:
28 | - nginx
29 | volumes:
30 | - ./varnish:/etc/varnish/conf.d:Z
31 | ports:
32 | - "8106:80"
33 | restart: always
34 |
--------------------------------------------------------------------------------
/fpm/2.20.1/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM php:7-fpm
2 |
3 | RUN set -x; \
4 | apt-get update \
5 | && apt-get install -y --no-install-recommends \
6 | postgresql-server-dev-all \
7 | libfreetype6-dev \
8 | libjpeg62-turbo-dev \
9 | libpng-dev \
10 | libonig-dev \
11 | rsync \
12 | unzip \
13 | && rm -r /var/lib/apt/lists/*
14 |
15 | RUN docker-php-ext-install mbstring pgsql mysqli \
16 | && docker-php-ext-configure gd \
17 | --with-freetype \
18 | --with-jpeg \
19 | && docker-php-ext-install gd
20 |
21 | RUN mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini"
22 |
23 | VOLUME /var/www/html
24 | EXPOSE 80
25 |
26 | ENV DOTCLEAR_VERSION 2.20.1
27 | ENV DOTCLEAR_DOWNLOAD_URL http://download.dotclear.org/attic/dotclear-${DOTCLEAR_VERSION}.zip
28 | ENV DOTCLEAR_DOWNLOAD_MD5 c61c47cec7fd58f3e00ce5074b3405f6
29 |
30 | RUN mkdir -p /usr/src/dotclear \
31 | && curl -fsSL -o dotclear.zip "$DOTCLEAR_DOWNLOAD_URL" \
32 | && echo "$DOTCLEAR_DOWNLOAD_MD5 dotclear.zip" | md5sum -c - \
33 | && unzip -d /usr/src dotclear.zip \
34 | && rm dotclear.zip \
35 | && chown -R www-data:www-data /usr/src/dotclear \
36 | && chmod -R 755 /usr/src/dotclear/public /usr/src/dotclear/cache \
37 | && rm -f /var/www/html/*
38 |
39 | ADD docker-entrypoint.sh /entrypoint.sh
40 | ENTRYPOINT ["/entrypoint.sh"]
41 | CMD ["php-fpm"]
42 |
43 |
--------------------------------------------------------------------------------
/fpm/2.20.1/docker-entrypoint.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | set -e
4 |
5 | if ! [ -e index.php -a -e inc/prepend.php ]; then
6 | # Initial Installation
7 | echo >&2 "Dotclear not found in $(pwd) - copying now..."
8 | if [ "$(ls -A)" ]; then
9 | echo >&2 "WARNING: $(pwd) is not empty - press Ctrl+C now if this is an error!"
10 | ( set -x; ls -A; sleep 10 )
11 | fi
12 | tar cf - --one-file-system -C /usr/src/dotclear . | tar xf -
13 | # Install default htaccess for query_string rewriting
14 | if [ ! -e .htaccess ]; then
15 | cat > .htaccess <<-'EOF'
16 |
17 | RewriteEngine On
18 | RewriteCond %{REQUEST_FILENAME} !-f
19 | RewriteCond %{REQUEST_FILENAME} !-d
20 | RewriteRule (.*) index.php?$1
21 |
22 | EOF
23 | chown www-data:www-data .htaccess
24 | fi
25 | echo >&2 "Complete! Dotclear has been successfully copied to $(pwd)"
26 | else
27 | # Existing install, do we need an upgrade?
28 | DOTCLEAR_CURRENT_VERSION=$(sed -n "s/^\s*define('DC_VERSION',\s*'\(.*\)');/\1/p" inc/prepend.php)
29 | if [ "$DOTCLEAR_CURRENT_VERSION" != "$DOTCLEAR_VERSION" ]; then
30 | echo >&2 "Upgrading Dotclear from ${DOTCLEAR_CURRENT_VERSION} to ${DOTCLEAR_VERSION}"
31 | tar cf - --one-file-system -C /usr/src/dotclear . | tar xf -
32 | if [ -e inc/config.php ]; then
33 | # use mysqli driver instead of mysql (if used)
34 | sed -i "s|^\s*define('DC_DBDRIVER',\s*'mysql');|define('DC_DBDRIVER','mysqli');|" inc/config.php
35 | fi
36 | echo >&2 "Complete! Dotclear has been successfully upgraded to ${DOTCLEAR_VERSION}"
37 | fi
38 | fi
39 |
40 | # fix permissions
41 | chown -R www-data:www-data /var/www/html
42 | [ -e /var/www/html/config.php ] && chmod 600 /var/www/html/config.php
43 |
44 | exec "$@"
45 |
--------------------------------------------------------------------------------
/fpm/2.20/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM php:7-fpm
2 |
3 | RUN set -x; \
4 | apt-get update \
5 | && apt-get install -y --no-install-recommends \
6 | postgresql-server-dev-all \
7 | libfreetype6-dev \
8 | libjpeg62-turbo-dev \
9 | libpng-dev \
10 | libonig-dev \
11 | rsync \
12 | unzip \
13 | && rm -r /var/lib/apt/lists/*
14 |
15 | RUN docker-php-ext-install mbstring pgsql mysqli \
16 | && docker-php-ext-configure gd \
17 | --with-freetype \
18 | --with-jpeg \
19 | && docker-php-ext-install gd
20 |
21 | RUN mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini"
22 |
23 | VOLUME /var/www/html
24 | EXPOSE 80
25 |
26 | ENV DOTCLEAR_VERSION 2.20
27 | ENV DOTCLEAR_DOWNLOAD_URL http://download.dotclear.org/attic/dotclear-${DOTCLEAR_VERSION}.zip
28 | ENV DOTCLEAR_DOWNLOAD_MD5 7ae6c57fe7913d11e9eef11d840a0b1e
29 |
30 | RUN mkdir -p /usr/src/dotclear \
31 | && curl -fsSL -o dotclear.zip "$DOTCLEAR_DOWNLOAD_URL" \
32 | && echo "$DOTCLEAR_DOWNLOAD_MD5 dotclear.zip" | md5sum -c - \
33 | && unzip -d /usr/src dotclear.zip \
34 | && rm dotclear.zip \
35 | && chown -R www-data:www-data /usr/src/dotclear \
36 | && chmod -R 755 /usr/src/dotclear/public /usr/src/dotclear/cache \
37 | && rm -f /var/www/html/*
38 |
39 | ADD docker-entrypoint.sh /entrypoint.sh
40 | ENTRYPOINT ["/entrypoint.sh"]
41 | CMD ["php-fpm"]
42 |
43 |
--------------------------------------------------------------------------------
/fpm/2.20/docker-entrypoint.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | set -e
4 |
5 | if ! [ -e index.php -a -e inc/prepend.php ]; then
6 | # Initial Installation
7 | echo >&2 "Dotclear not found in $(pwd) - copying now..."
8 | if [ "$(ls -A)" ]; then
9 | echo >&2 "WARNING: $(pwd) is not empty - press Ctrl+C now if this is an error!"
10 | ( set -x; ls -A; sleep 10 )
11 | fi
12 | tar cf - --one-file-system -C /usr/src/dotclear . | tar xf -
13 | # Install default htaccess for query_string rewriting
14 | if [ ! -e .htaccess ]; then
15 | cat > .htaccess <<-'EOF'
16 |
17 | RewriteEngine On
18 | RewriteCond %{REQUEST_FILENAME} !-f
19 | RewriteCond %{REQUEST_FILENAME} !-d
20 | RewriteRule (.*) index.php?$1
21 |
22 | EOF
23 | chown www-data:www-data .htaccess
24 | fi
25 | echo >&2 "Complete! Dotclear has been successfully copied to $(pwd)"
26 | else
27 | # Existing install, do we need an upgrade?
28 | DOTCLEAR_CURRENT_VERSION=$(sed -n "s/^\s*define('DC_VERSION',\s*'\(.*\)');/\1/p" inc/prepend.php)
29 | if [ "$DOTCLEAR_CURRENT_VERSION" != "$DOTCLEAR_VERSION" ]; then
30 | echo >&2 "Upgrading Dotclear from ${DOTCLEAR_CURRENT_VERSION} to ${DOTCLEAR_VERSION}"
31 | tar cf - --one-file-system -C /usr/src/dotclear . | tar xf -
32 | if [ -e inc/config.php ]; then
33 | # use mysqli driver instead of mysql (if used)
34 | sed -i "s|^\s*define('DC_DBDRIVER',\s*'mysql');|define('DC_DBDRIVER','mysqli');|" inc/config.php
35 | fi
36 | echo >&2 "Complete! Dotclear has been successfully upgraded to ${DOTCLEAR_VERSION}"
37 | fi
38 | fi
39 |
40 | # fix permissions
41 | chown -R www-data:www-data /var/www/html
42 | [ -e /var/www/html/config.php ] && chmod 600 /var/www/html/config.php
43 |
44 | exec "$@"
45 |
--------------------------------------------------------------------------------
/fpm/2.21.1/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM php:7-fpm
2 |
3 | RUN set -x; \
4 | apt-get update \
5 | && apt-get install -y --no-install-recommends \
6 | postgresql-server-dev-all \
7 | libfreetype6-dev \
8 | libjpeg62-turbo-dev \
9 | libpng-dev \
10 | libonig-dev \
11 | rsync \
12 | unzip \
13 | && rm -r /var/lib/apt/lists/*
14 |
15 | RUN docker-php-ext-install mbstring pgsql mysqli \
16 | && docker-php-ext-configure gd \
17 | --with-freetype \
18 | --with-jpeg \
19 | && docker-php-ext-install gd
20 |
21 | RUN mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini"
22 |
23 | VOLUME /var/www/html
24 | EXPOSE 80
25 |
26 | ENV DOTCLEAR_VERSION 2.21.1
27 | ENV DOTCLEAR_DOWNLOAD_URL http://download.dotclear.org/attic/dotclear-${DOTCLEAR_VERSION}.zip
28 | ENV DOTCLEAR_DOWNLOAD_MD5 b91976c39cf54949ed27d92be588c3b4
29 |
30 | RUN mkdir -p /usr/src/dotclear \
31 | && curl -fsSL -o dotclear.zip "$DOTCLEAR_DOWNLOAD_URL" \
32 | && echo "$DOTCLEAR_DOWNLOAD_MD5 dotclear.zip" | md5sum -c - \
33 | && unzip -d /usr/src dotclear.zip \
34 | && rm dotclear.zip \
35 | && chown -R www-data:www-data /usr/src/dotclear \
36 | && chmod -R 755 /usr/src/dotclear/public /usr/src/dotclear/cache \
37 | && rm -f /var/www/html/*
38 |
39 | ADD docker-entrypoint.sh /entrypoint.sh
40 | ENTRYPOINT ["/entrypoint.sh"]
41 | CMD ["php-fpm"]
42 |
43 |
--------------------------------------------------------------------------------
/fpm/2.21.1/docker-entrypoint.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | set -e
4 |
5 | if ! [ -e index.php -a -e inc/prepend.php ]; then
6 | # Initial Installation
7 | echo >&2 "Dotclear not found in $(pwd) - copying now..."
8 | if [ "$(ls -A)" ]; then
9 | echo >&2 "WARNING: $(pwd) is not empty - press Ctrl+C now if this is an error!"
10 | ( set -x; ls -A; sleep 10 )
11 | fi
12 | tar cf - --one-file-system -C /usr/src/dotclear . | tar xf -
13 | # Install default htaccess for query_string rewriting
14 | if [ ! -e .htaccess ]; then
15 | cat > .htaccess <<-'EOF'
16 |
17 | RewriteEngine On
18 | RewriteCond %{REQUEST_FILENAME} !-f
19 | RewriteCond %{REQUEST_FILENAME} !-d
20 | RewriteRule (.*) index.php?$1
21 |
22 | EOF
23 | chown www-data:www-data .htaccess
24 | fi
25 | echo >&2 "Complete! Dotclear has been successfully copied to $(pwd)"
26 | else
27 | # Existing install, do we need an upgrade?
28 | DOTCLEAR_CURRENT_VERSION=$(sed -n "s/^\s*define('DC_VERSION',\s*'\(.*\)');/\1/p" inc/prepend.php)
29 | if [ "$DOTCLEAR_CURRENT_VERSION" != "$DOTCLEAR_VERSION" ]; then
30 | echo >&2 "Upgrading Dotclear from ${DOTCLEAR_CURRENT_VERSION} to ${DOTCLEAR_VERSION}"
31 | tar cf - --one-file-system -C /usr/src/dotclear . | tar xf -
32 | if [ -e inc/config.php ]; then
33 | # use mysqli driver instead of mysql (if used)
34 | sed -i "s|^\s*define('DC_DBDRIVER',\s*'mysql');|define('DC_DBDRIVER','mysqli');|" inc/config.php
35 | fi
36 | echo >&2 "Complete! Dotclear has been successfully upgraded to ${DOTCLEAR_VERSION}"
37 | fi
38 | fi
39 |
40 | # fix permissions
41 | chown -R www-data:www-data /var/www/html
42 | [ -e /var/www/html/config.php ] && chmod 600 /var/www/html/config.php
43 |
44 | exec "$@"
45 |
--------------------------------------------------------------------------------
/fpm/2.21.2/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM php:7-fpm
2 |
3 | RUN set -x; \
4 | apt-get update \
5 | && apt-get install -y --no-install-recommends \
6 | postgresql-server-dev-all \
7 | libfreetype6-dev \
8 | libjpeg62-turbo-dev \
9 | libpng-dev \
10 | libonig-dev \
11 | rsync \
12 | unzip \
13 | && rm -r /var/lib/apt/lists/*
14 |
15 | RUN docker-php-ext-install mbstring pgsql mysqli \
16 | && docker-php-ext-configure gd \
17 | --with-freetype \
18 | --with-jpeg \
19 | && docker-php-ext-install gd
20 |
21 | RUN mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini"
22 |
23 | VOLUME /var/www/html
24 | EXPOSE 80
25 |
26 | ENV DOTCLEAR_VERSION 2.21.2
27 | ENV DOTCLEAR_DOWNLOAD_URL http://download.dotclear.org/attic/dotclear-${DOTCLEAR_VERSION}.zip
28 | ENV DOTCLEAR_DOWNLOAD_MD5 42d34ac954e96f7a44ebd897a1baebf4
29 |
30 | RUN mkdir -p /usr/src/dotclear \
31 | && curl -fsSL -o dotclear.zip "$DOTCLEAR_DOWNLOAD_URL" \
32 | && echo "$DOTCLEAR_DOWNLOAD_MD5 dotclear.zip" | md5sum -c - \
33 | && unzip -d /usr/src dotclear.zip \
34 | && rm dotclear.zip \
35 | && chown -R www-data:www-data /usr/src/dotclear \
36 | && chmod -R 755 /usr/src/dotclear/public /usr/src/dotclear/cache \
37 | && rm -f /var/www/html/*
38 |
39 | ADD docker-entrypoint.sh /entrypoint.sh
40 | ENTRYPOINT ["/entrypoint.sh"]
41 | CMD ["php-fpm"]
42 |
43 |
--------------------------------------------------------------------------------
/fpm/2.21.2/docker-entrypoint.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | set -e
4 |
5 | if ! [ -e index.php -a -e inc/prepend.php ]; then
6 | # Initial Installation
7 | echo >&2 "Dotclear not found in $(pwd) - copying now..."
8 | if [ "$(ls -A)" ]; then
9 | echo >&2 "WARNING: $(pwd) is not empty - press Ctrl+C now if this is an error!"
10 | ( set -x; ls -A; sleep 10 )
11 | fi
12 | tar cf - --one-file-system -C /usr/src/dotclear . | tar xf -
13 | # Install default htaccess for query_string rewriting
14 | if [ ! -e .htaccess ]; then
15 | cat > .htaccess <<-'EOF'
16 |
17 | RewriteEngine On
18 | RewriteCond %{REQUEST_FILENAME} !-f
19 | RewriteCond %{REQUEST_FILENAME} !-d
20 | RewriteRule (.*) index.php?$1
21 |
22 | EOF
23 | chown www-data:www-data .htaccess
24 | fi
25 | echo >&2 "Complete! Dotclear has been successfully copied to $(pwd)"
26 | else
27 | # Existing install, do we need an upgrade?
28 | DOTCLEAR_CURRENT_VERSION=$(sed -n "s/^\s*define('DC_VERSION',\s*'\(.*\)');/\1/p" inc/prepend.php)
29 | if [ "$DOTCLEAR_CURRENT_VERSION" != "$DOTCLEAR_VERSION" ]; then
30 | echo >&2 "Upgrading Dotclear from ${DOTCLEAR_CURRENT_VERSION} to ${DOTCLEAR_VERSION}"
31 | tar cf - --one-file-system -C /usr/src/dotclear . | tar xf -
32 | if [ -e inc/config.php ]; then
33 | # use mysqli driver instead of mysql (if used)
34 | sed -i "s|^\s*define('DC_DBDRIVER',\s*'mysql');|define('DC_DBDRIVER','mysqli');|" inc/config.php
35 | fi
36 | echo >&2 "Complete! Dotclear has been successfully upgraded to ${DOTCLEAR_VERSION}"
37 | fi
38 | fi
39 |
40 | # fix permissions
41 | chown -R www-data:www-data /var/www/html
42 | [ -e /var/www/html/config.php ] && chmod 600 /var/www/html/config.php
43 |
44 | exec "$@"
45 |
--------------------------------------------------------------------------------
/fpm/2.21.3/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM php:7-fpm
2 |
3 | RUN set -x; \
4 | apt-get update \
5 | && apt-get install -y --no-install-recommends \
6 | postgresql-server-dev-all \
7 | libfreetype6-dev \
8 | libjpeg62-turbo-dev \
9 | libpng-dev \
10 | libonig-dev \
11 | rsync \
12 | unzip \
13 | && rm -r /var/lib/apt/lists/*
14 |
15 | RUN docker-php-ext-install mbstring pgsql mysqli \
16 | && docker-php-ext-configure gd \
17 | --with-freetype \
18 | --with-jpeg \
19 | && docker-php-ext-install gd
20 |
21 | RUN mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini"
22 |
23 | VOLUME /var/www/html
24 | EXPOSE 80
25 |
26 | ENV DOTCLEAR_VERSION 2.21.3
27 | ENV DOTCLEAR_DOWNLOAD_URL http://download.dotclear.org/attic/dotclear-${DOTCLEAR_VERSION}.zip
28 | ENV DOTCLEAR_DOWNLOAD_MD5 011e7c48361499e6177609ffec6e586f
29 |
30 | RUN mkdir -p /usr/src/dotclear \
31 | && curl -fsSL -o dotclear.zip "$DOTCLEAR_DOWNLOAD_URL" \
32 | && echo "$DOTCLEAR_DOWNLOAD_MD5 dotclear.zip" | md5sum -c - \
33 | && unzip -d /usr/src dotclear.zip \
34 | && rm dotclear.zip \
35 | && chown -R www-data:www-data /usr/src/dotclear \
36 | && chmod -R 755 /usr/src/dotclear/public /usr/src/dotclear/cache \
37 | && rm -f /var/www/html/*
38 |
39 | ADD docker-entrypoint.sh /entrypoint.sh
40 | ENTRYPOINT ["/entrypoint.sh"]
41 | CMD ["php-fpm"]
42 |
43 |
--------------------------------------------------------------------------------
/fpm/2.21.3/docker-entrypoint.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | set -e
4 |
5 | if ! [ -e index.php -a -e inc/prepend.php ]; then
6 | # Initial Installation
7 | echo >&2 "Dotclear not found in $(pwd) - copying now..."
8 | if [ "$(ls -A)" ]; then
9 | echo >&2 "WARNING: $(pwd) is not empty - press Ctrl+C now if this is an error!"
10 | ( set -x; ls -A; sleep 10 )
11 | fi
12 | tar cf - --one-file-system -C /usr/src/dotclear . | tar xf -
13 | # Install default htaccess for query_string rewriting
14 | if [ ! -e .htaccess ]; then
15 | cat > .htaccess <<-'EOF'
16 |
17 | RewriteEngine On
18 | RewriteCond %{REQUEST_FILENAME} !-f
19 | RewriteCond %{REQUEST_FILENAME} !-d
20 | RewriteRule (.*) index.php?$1
21 |
22 | EOF
23 | chown www-data:www-data .htaccess
24 | fi
25 | echo >&2 "Complete! Dotclear has been successfully copied to $(pwd)"
26 | else
27 | # Existing install, do we need an upgrade?
28 | DOTCLEAR_CURRENT_VERSION=$(sed -n "s/^\s*define('DC_VERSION',\s*'\(.*\)');/\1/p" inc/prepend.php)
29 | if [ "$DOTCLEAR_CURRENT_VERSION" != "$DOTCLEAR_VERSION" ]; then
30 | echo >&2 "Upgrading Dotclear from ${DOTCLEAR_CURRENT_VERSION} to ${DOTCLEAR_VERSION}"
31 | tar cf - --one-file-system -C /usr/src/dotclear . | tar xf -
32 | if [ -e inc/config.php ]; then
33 | # use mysqli driver instead of mysql (if used)
34 | sed -i "s|^\s*define('DC_DBDRIVER',\s*'mysql');|define('DC_DBDRIVER','mysqli');|" inc/config.php
35 | fi
36 | echo >&2 "Complete! Dotclear has been successfully upgraded to ${DOTCLEAR_VERSION}"
37 | fi
38 | fi
39 |
40 | # fix permissions
41 | chown -R www-data:www-data /var/www/html
42 | [ -e /var/www/html/config.php ] && chmod 600 /var/www/html/config.php
43 |
44 | exec "$@"
45 |
--------------------------------------------------------------------------------
/fpm/2.22/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM php:7-fpm
2 |
3 | RUN set -x; \
4 | apt-get update \
5 | && apt-get install -y --no-install-recommends \
6 | postgresql-server-dev-all \
7 | libfreetype6-dev \
8 | libjpeg62-turbo-dev \
9 | libpng-dev \
10 | libonig-dev \
11 | rsync \
12 | unzip \
13 | && rm -r /var/lib/apt/lists/*
14 |
15 | RUN docker-php-ext-install mbstring pgsql mysqli \
16 | && docker-php-ext-configure gd \
17 | --with-freetype \
18 | --with-jpeg \
19 | && docker-php-ext-install gd
20 |
21 | RUN mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini"
22 |
23 | VOLUME /var/www/html
24 | EXPOSE 80
25 |
26 | ENV DOTCLEAR_VERSION 2.22
27 | ENV DOTCLEAR_DOWNLOAD_URL http://download.dotclear.org/attic/dotclear-${DOTCLEAR_VERSION}.zip
28 | ENV DOTCLEAR_DOWNLOAD_MD5 445dfbab5e8a86abc33916acf1ebb97b
29 |
30 | RUN mkdir -p /usr/src/dotclear \
31 | && curl -fsSL -o dotclear.zip "$DOTCLEAR_DOWNLOAD_URL" \
32 | && echo "$DOTCLEAR_DOWNLOAD_MD5 dotclear.zip" | md5sum -c - \
33 | && unzip -d /usr/src dotclear.zip \
34 | && rm dotclear.zip \
35 | && chown -R www-data:www-data /usr/src/dotclear \
36 | && chmod -R 755 /usr/src/dotclear/public /usr/src/dotclear/cache \
37 | && rm -f /var/www/html/*
38 |
39 | ADD docker-entrypoint.sh /entrypoint.sh
40 | ENTRYPOINT ["/entrypoint.sh"]
41 | CMD ["php-fpm"]
42 |
43 |
--------------------------------------------------------------------------------
/fpm/2.22/docker-entrypoint.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | set -e
4 |
5 | if ! [ -e index.php -a -e inc/prepend.php ]; then
6 | # Initial Installation
7 | echo >&2 "Dotclear not found in $(pwd) - copying now..."
8 | if [ "$(ls -A)" ]; then
9 | echo >&2 "WARNING: $(pwd) is not empty - press Ctrl+C now if this is an error!"
10 | ( set -x; ls -A; sleep 10 )
11 | fi
12 | tar cf - --one-file-system -C /usr/src/dotclear . | tar xf -
13 | # Install default htaccess for query_string rewriting
14 | if [ ! -e .htaccess ]; then
15 | cat > .htaccess <<-'EOF'
16 |
17 | RewriteEngine On
18 | RewriteCond %{REQUEST_FILENAME} !-f
19 | RewriteCond %{REQUEST_FILENAME} !-d
20 | RewriteRule (.*) index.php?$1
21 |
22 | EOF
23 | chown www-data:www-data .htaccess
24 | fi
25 | echo >&2 "Complete! Dotclear has been successfully copied to $(pwd)"
26 | else
27 | # Existing install, do we need an upgrade?
28 | DOTCLEAR_CURRENT_VERSION=$(sed -n "s/^\s*define('DC_VERSION',\s*'\(.*\)');/\1/p" inc/prepend.php)
29 | if [ "$DOTCLEAR_CURRENT_VERSION" != "$DOTCLEAR_VERSION" ]; then
30 | echo >&2 "Upgrading Dotclear from ${DOTCLEAR_CURRENT_VERSION} to ${DOTCLEAR_VERSION}"
31 | tar cf - --one-file-system -C /usr/src/dotclear . | tar xf -
32 | if [ -e inc/config.php ]; then
33 | # use mysqli driver instead of mysql (if used)
34 | sed -i "s|^\s*define('DC_DBDRIVER',\s*'mysql');|define('DC_DBDRIVER','mysqli');|" inc/config.php
35 | fi
36 | echo >&2 "Complete! Dotclear has been successfully upgraded to ${DOTCLEAR_VERSION}"
37 | fi
38 | fi
39 |
40 | # fix permissions
41 | chown -R www-data:www-data /var/www/html
42 | [ -e /var/www/html/config.php ] && chmod 600 /var/www/html/config.php
43 |
44 | exec "$@"
45 |
--------------------------------------------------------------------------------
/fpm/2.23.1/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM php:8-fpm
2 |
3 | RUN set -x; \
4 | apt-get update \
5 | && apt-get install -y --no-install-recommends \
6 | postgresql-server-dev-all \
7 | libfreetype6-dev \
8 | libjpeg62-turbo-dev \
9 | libpng-dev \
10 | libonig-dev \
11 | rsync \
12 | unzip \
13 | && rm -r /var/lib/apt/lists/*
14 |
15 | RUN docker-php-ext-install mbstring pgsql mysqli \
16 | && docker-php-ext-configure gd \
17 | --with-freetype \
18 | --with-jpeg \
19 | && docker-php-ext-install gd
20 |
21 | RUN mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini"
22 |
23 | VOLUME /var/www/html
24 | EXPOSE 80
25 |
26 | ENV DOTCLEAR_VERSION 2.23.1
27 | ENV DOTCLEAR_DOWNLOAD_URL http://download.dotclear.org/attic/dotclear-${DOTCLEAR_VERSION}.zip
28 | ENV DOTCLEAR_DOWNLOAD_MD5 add0cf89d8545b1f09bc3c65ee9a7a8a
29 |
30 | RUN mkdir -p /usr/src/dotclear \
31 | && curl -fsSL -o dotclear.zip "$DOTCLEAR_DOWNLOAD_URL" \
32 | && echo "$DOTCLEAR_DOWNLOAD_MD5 dotclear.zip" | md5sum -c - \
33 | && unzip -d /usr/src dotclear.zip \
34 | && rm dotclear.zip \
35 | && chown -R www-data:www-data /usr/src/dotclear \
36 | && chmod -R 755 /usr/src/dotclear/public /usr/src/dotclear/cache \
37 | && rm -f /var/www/html/*
38 |
39 | ADD docker-entrypoint.sh /entrypoint.sh
40 | ENTRYPOINT ["/entrypoint.sh"]
41 | CMD ["php-fpm"]
42 |
43 |
--------------------------------------------------------------------------------
/fpm/2.23.1/docker-entrypoint.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | set -e
4 |
5 | if ! [ -e index.php -a -e inc/prepend.php ]; then
6 | # Initial Installation
7 | echo >&2 "Dotclear not found in $(pwd) - copying now..."
8 | if [ "$(ls -A)" ]; then
9 | echo >&2 "WARNING: $(pwd) is not empty - press Ctrl+C now if this is an error!"
10 | ( set -x; ls -A; sleep 10 )
11 | fi
12 | tar cf - --one-file-system -C /usr/src/dotclear . | tar xf -
13 | # Install default htaccess for query_string rewriting
14 | if [ ! -e .htaccess ]; then
15 | cat > .htaccess <<-'EOF'
16 |
17 | RewriteEngine On
18 | RewriteCond %{REQUEST_FILENAME} !-f
19 | RewriteCond %{REQUEST_FILENAME} !-d
20 | RewriteRule (.*) index.php?$1
21 |
22 | EOF
23 | chown www-data:www-data .htaccess
24 | fi
25 | echo >&2 "Complete! Dotclear has been successfully copied to $(pwd)"
26 | else
27 | # Existing install, do we need an upgrade?
28 | DOTCLEAR_CURRENT_VERSION=$(sed -n "s/^\s*define('DC_VERSION',\s*'\(.*\)');/\1/p" inc/prepend.php)
29 | if [ "$DOTCLEAR_CURRENT_VERSION" != "$DOTCLEAR_VERSION" ]; then
30 | echo >&2 "Upgrading Dotclear from ${DOTCLEAR_CURRENT_VERSION} to ${DOTCLEAR_VERSION}"
31 | tar cf - --one-file-system -C /usr/src/dotclear . | tar xf -
32 | if [ -e inc/config.php ]; then
33 | # use mysqli driver instead of mysql (if used)
34 | sed -i "s|^\s*define('DC_DBDRIVER',\s*'mysql');|define('DC_DBDRIVER','mysqli');|" inc/config.php
35 | fi
36 | echo >&2 "Complete! Dotclear has been successfully upgraded to ${DOTCLEAR_VERSION}"
37 | fi
38 | fi
39 |
40 | # fix permissions
41 | chown -R www-data:www-data /var/www/html
42 | [ -e /var/www/html/config.php ] && chmod 600 /var/www/html/config.php
43 |
44 | exec "$@"
45 |
--------------------------------------------------------------------------------
/fpm/2.25.2/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM php:8-fpm
2 |
3 | RUN set -x; \
4 | apt-get update \
5 | && apt-get install -y --no-install-recommends \
6 | postgresql-server-dev-all \
7 | libfreetype6-dev \
8 | libjpeg62-turbo-dev \
9 | libpng-dev \
10 | libonig-dev \
11 | rsync \
12 | unzip \
13 | && rm -r /var/lib/apt/lists/*
14 |
15 | RUN docker-php-ext-install mbstring pgsql mysqli \
16 | && docker-php-ext-configure gd \
17 | --with-freetype \
18 | --with-jpeg \
19 | && docker-php-ext-install gd
20 |
21 | RUN mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini"
22 |
23 | VOLUME /var/www/html
24 | EXPOSE 80
25 |
26 | ENV DOTCLEAR_VERSION 2.25.2
27 | ENV DOTCLEAR_DOWNLOAD_URL http://download.dotclear.org/attic/dotclear-${DOTCLEAR_VERSION}.zip
28 | ENV DOTCLEAR_DOWNLOAD_MD5 247d04629f2603879cb7f228a06c0396
29 |
30 | RUN mkdir -p /usr/src/dotclear \
31 | && curl -fsSL -o dotclear.zip "$DOTCLEAR_DOWNLOAD_URL" \
32 | && echo "$DOTCLEAR_DOWNLOAD_MD5 dotclear.zip" | md5sum -c - \
33 | && unzip -d /usr/src dotclear.zip \
34 | && rm dotclear.zip \
35 | && chown -R www-data:www-data /usr/src/dotclear \
36 | && chmod -R 755 /usr/src/dotclear/public /usr/src/dotclear/cache \
37 | && rm -f /var/www/html/*
38 |
39 | ADD docker-entrypoint.sh /entrypoint.sh
40 | ENTRYPOINT ["/entrypoint.sh"]
41 | CMD ["php-fpm"]
42 |
43 |
--------------------------------------------------------------------------------
/fpm/2.25.2/docker-entrypoint.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | set -e
4 |
5 | if ! [ -e index.php -a -e inc/prepend.php ]; then
6 | # Initial Installation
7 | echo >&2 "Dotclear not found in $(pwd) - copying now..."
8 | if [ "$(ls -A)" ]; then
9 | echo >&2 "WARNING: $(pwd) is not empty - press Ctrl+C now if this is an error!"
10 | ( set -x; ls -A; sleep 10 )
11 | fi
12 | tar cf - --one-file-system -C /usr/src/dotclear . | tar xf -
13 | # Install default htaccess for query_string rewriting
14 | if [ ! -e .htaccess ]; then
15 | cat > .htaccess <<-'EOF'
16 |
17 | RewriteEngine On
18 | RewriteCond %{REQUEST_FILENAME} !-f
19 | RewriteCond %{REQUEST_FILENAME} !-d
20 | RewriteRule (.*) index.php?$1
21 |
22 | EOF
23 | chown www-data:www-data .htaccess
24 | fi
25 | echo >&2 "Complete! Dotclear has been successfully copied to $(pwd)"
26 | else
27 | # Existing install, do we need an upgrade?
28 | DOTCLEAR_CURRENT_VERSION=$(sed -n "s/^\s*define('DC_VERSION',\s*'\(.*\)');/\1/p" inc/prepend.php)
29 | if [ "$DOTCLEAR_CURRENT_VERSION" != "$DOTCLEAR_VERSION" ]; then
30 | echo >&2 "Upgrading Dotclear from ${DOTCLEAR_CURRENT_VERSION} to ${DOTCLEAR_VERSION}"
31 | tar cf - --one-file-system -C /usr/src/dotclear . | tar xf -
32 | if [ -e inc/config.php ]; then
33 | # use mysqli driver instead of mysql (if used)
34 | sed -i "s|^\s*define('DC_DBDRIVER',\s*'mysql');|define('DC_DBDRIVER','mysqli');|" inc/config.php
35 | fi
36 | echo >&2 "Complete! Dotclear has been successfully upgraded to ${DOTCLEAR_VERSION}"
37 | fi
38 | fi
39 |
40 | # fix permissions
41 | chown -R www-data:www-data /var/www/html
42 | [ -e /var/www/html/config.php ] && chmod 600 /var/www/html/config.php
43 |
44 | exec "$@"
45 |
--------------------------------------------------------------------------------
/fpm/2.25.3/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM php:8-fpm
2 |
3 | RUN set -x; \
4 | apt-get update \
5 | && apt-get install -y --no-install-recommends \
6 | postgresql-server-dev-all \
7 | libfreetype6-dev \
8 | libjpeg62-turbo-dev \
9 | libpng-dev \
10 | libonig-dev \
11 | rsync \
12 | unzip \
13 | && rm -r /var/lib/apt/lists/*
14 |
15 | RUN docker-php-ext-install mbstring pgsql mysqli \
16 | && docker-php-ext-configure gd \
17 | --with-freetype \
18 | --with-jpeg \
19 | && docker-php-ext-install gd
20 |
21 | RUN mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini"
22 |
23 | VOLUME /var/www/html
24 | EXPOSE 80
25 |
26 | ENV DOTCLEAR_VERSION 2.25.3
27 | ENV DOTCLEAR_DOWNLOAD_URL http://download.dotclear.org/latest/dotclear-${DOTCLEAR_VERSION}.zip
28 | ENV DOTCLEAR_DOWNLOAD_MD5 4251e05df5884c53aa8e3b378a453e4d
29 |
30 | RUN mkdir -p /usr/src/dotclear \
31 | && curl -fsSL -o dotclear.zip "$DOTCLEAR_DOWNLOAD_URL" \
32 | && echo "$DOTCLEAR_DOWNLOAD_MD5 dotclear.zip" | md5sum -c - \
33 | && unzip -d /usr/src dotclear.zip \
34 | && rm dotclear.zip \
35 | && chown -R www-data:www-data /usr/src/dotclear \
36 | && chmod -R 755 /usr/src/dotclear/public /usr/src/dotclear/cache \
37 | && rm -f /var/www/html/*
38 |
39 | ADD docker-entrypoint.sh /entrypoint.sh
40 | ENTRYPOINT ["/entrypoint.sh"]
41 | CMD ["php-fpm"]
42 |
43 |
--------------------------------------------------------------------------------
/fpm/2.25.3/docker-entrypoint.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | set -e
4 |
5 | if ! [ -e index.php -a -e inc/prepend.php ]; then
6 | # Initial Installation
7 | echo >&2 "Dotclear not found in $(pwd) - copying now..."
8 | if [ "$(ls -A)" ]; then
9 | echo >&2 "WARNING: $(pwd) is not empty - press Ctrl+C now if this is an error!"
10 | ( set -x; ls -A; sleep 10 )
11 | fi
12 | tar cf - --one-file-system -C /usr/src/dotclear . | tar xf -
13 | # Install default htaccess for query_string rewriting
14 | if [ ! -e .htaccess ]; then
15 | cat > .htaccess <<-'EOF'
16 |
17 | RewriteEngine On
18 | RewriteCond %{REQUEST_FILENAME} !-f
19 | RewriteCond %{REQUEST_FILENAME} !-d
20 | RewriteRule (.*) index.php?$1
21 |
22 | EOF
23 | chown www-data:www-data .htaccess
24 | fi
25 | echo >&2 "Complete! Dotclear has been successfully copied to $(pwd)"
26 | else
27 | # Existing install, do we need an upgrade?
28 | DOTCLEAR_CURRENT_VERSION=$(sed -n "s/^\s*define('DC_VERSION',\s*'\(.*\)');/\1/p" inc/prepend.php)
29 | if [ "$DOTCLEAR_CURRENT_VERSION" != "$DOTCLEAR_VERSION" ]; then
30 | echo >&2 "Upgrading Dotclear from ${DOTCLEAR_CURRENT_VERSION} to ${DOTCLEAR_VERSION}"
31 | tar cf - --one-file-system -C /usr/src/dotclear . | tar xf -
32 | if [ -e inc/config.php ]; then
33 | # use mysqli driver instead of mysql (if used)
34 | sed -i "s|^\s*define('DC_DBDRIVER',\s*'mysql');|define('DC_DBDRIVER','mysqli');|" inc/config.php
35 | fi
36 | echo >&2 "Complete! Dotclear has been successfully upgraded to ${DOTCLEAR_VERSION}"
37 | fi
38 | fi
39 |
40 | # fix permissions
41 | chown -R www-data:www-data /var/www/html
42 | [ -e /var/www/html/config.php ] && chmod 600 /var/www/html/config.php
43 |
44 | exec "$@"
45 |
--------------------------------------------------------------------------------
/fpm/2.25/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM php:8-fpm
2 |
3 | RUN set -x; \
4 | apt-get update \
5 | && apt-get install -y --no-install-recommends \
6 | postgresql-server-dev-all \
7 | libfreetype6-dev \
8 | libjpeg62-turbo-dev \
9 | libpng-dev \
10 | libonig-dev \
11 | rsync \
12 | unzip \
13 | && rm -r /var/lib/apt/lists/*
14 |
15 | RUN docker-php-ext-install mbstring pgsql mysqli \
16 | && docker-php-ext-configure gd \
17 | --with-freetype \
18 | --with-jpeg \
19 | && docker-php-ext-install gd
20 |
21 | RUN mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini"
22 |
23 | VOLUME /var/www/html
24 | EXPOSE 80
25 |
26 | ENV DOTCLEAR_VERSION 2.25
27 | ENV DOTCLEAR_DOWNLOAD_URL http://download.dotclear.org/attic/dotclear-${DOTCLEAR_VERSION}.zip
28 | ENV DOTCLEAR_DOWNLOAD_MD5 419549fc487e7712c59c9a2a4eff258c
29 |
30 | RUN mkdir -p /usr/src/dotclear \
31 | && curl -fsSL -o dotclear.zip "$DOTCLEAR_DOWNLOAD_URL" \
32 | && echo "$DOTCLEAR_DOWNLOAD_MD5 dotclear.zip" | md5sum -c - \
33 | && unzip -d /usr/src dotclear.zip \
34 | && rm dotclear.zip \
35 | && chown -R www-data:www-data /usr/src/dotclear \
36 | && chmod -R 755 /usr/src/dotclear/public /usr/src/dotclear/cache \
37 | && rm -f /var/www/html/*
38 |
39 | ADD docker-entrypoint.sh /entrypoint.sh
40 | ENTRYPOINT ["/entrypoint.sh"]
41 | CMD ["php-fpm"]
42 |
43 |
--------------------------------------------------------------------------------
/fpm/2.25/docker-entrypoint.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | set -e
4 |
5 | if ! [ -e index.php -a -e inc/prepend.php ]; then
6 | # Initial Installation
7 | echo >&2 "Dotclear not found in $(pwd) - copying now..."
8 | if [ "$(ls -A)" ]; then
9 | echo >&2 "WARNING: $(pwd) is not empty - press Ctrl+C now if this is an error!"
10 | ( set -x; ls -A; sleep 10 )
11 | fi
12 | tar cf - --one-file-system -C /usr/src/dotclear . | tar xf -
13 | # Install default htaccess for query_string rewriting
14 | if [ ! -e .htaccess ]; then
15 | cat > .htaccess <<-'EOF'
16 |
17 | RewriteEngine On
18 | RewriteCond %{REQUEST_FILENAME} !-f
19 | RewriteCond %{REQUEST_FILENAME} !-d
20 | RewriteRule (.*) index.php?$1
21 |
22 | EOF
23 | chown www-data:www-data .htaccess
24 | fi
25 | echo >&2 "Complete! Dotclear has been successfully copied to $(pwd)"
26 | else
27 | # Existing install, do we need an upgrade?
28 | DOTCLEAR_CURRENT_VERSION=$(sed -n "s/^\s*define('DC_VERSION',\s*'\(.*\)');/\1/p" inc/prepend.php)
29 | if [ "$DOTCLEAR_CURRENT_VERSION" != "$DOTCLEAR_VERSION" ]; then
30 | echo >&2 "Upgrading Dotclear from ${DOTCLEAR_CURRENT_VERSION} to ${DOTCLEAR_VERSION}"
31 | tar cf - --one-file-system -C /usr/src/dotclear . | tar xf -
32 | if [ -e inc/config.php ]; then
33 | # use mysqli driver instead of mysql (if used)
34 | sed -i "s|^\s*define('DC_DBDRIVER',\s*'mysql');|define('DC_DBDRIVER','mysqli');|" inc/config.php
35 | fi
36 | echo >&2 "Complete! Dotclear has been successfully upgraded to ${DOTCLEAR_VERSION}"
37 | fi
38 | fi
39 |
40 | # fix permissions
41 | chown -R www-data:www-data /var/www/html
42 | [ -e /var/www/html/config.php ] && chmod 600 /var/www/html/config.php
43 |
44 | exec "$@"
45 |
--------------------------------------------------------------------------------
/fpm/fpm.conf:
--------------------------------------------------------------------------------
1 | server {
2 | listen 80;
3 | server_name localhost;
4 | root /var/www/html;
5 |
6 | index index.php;
7 |
8 | location ~ ^/(db|cache|plugins|inc) {
9 | deny all;
10 | return 404;
11 | }
12 |
13 | location / {
14 | try_files $uri $uri/ @dotclear_path_info;
15 | }
16 |
17 | location @dotclear_path_info {
18 | rewrite ^/(.*) /index.php/$1 last;
19 | }
20 |
21 | location ~ [^/]\.php(/|$) {
22 | fastcgi_split_path_info ^(.+?\.php)(/.*)$;
23 | if (!-f $document_root$fastcgi_script_name) {
24 | return 404;
25 | }
26 |
27 | include fastcgi_params;
28 | fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
29 | fastcgi_param PATH_INFO $fastcgi_path_info;
30 | fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
31 |
32 | fastcgi_pass fpm:9000;
33 | fastcgi_index index.php;
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/varnish/backends.vcl:
--------------------------------------------------------------------------------
1 | backend server1 {
2 | .host = "nginx";
3 | .port = "80";
4 | }
5 |
6 | import std;
7 | import directors;
8 | sub vcl_init {
9 | new backends_director = directors.round_robin();
10 | backends_director.add_backend(server1);
11 | }
12 |
13 | sub vcl_recv {
14 | set req.backend_hint = backends_director.backend();
15 | }
16 |
--------------------------------------------------------------------------------