2
0
Fork 0
mirror of https://github.com/friendica/docker synced 2024-05-23 04:54:58 +02:00
docker/README-MAINTENANCE.md
Philipp Holzer 8493e35da4
Bugfixing & Upgrading
- upgrade version
- fixing alpine Dockerfile (openssl to libressl)
- adding examples for SSMTP
- README updates & bugfixing
- Removed shell-script "friendica"
- Removed old .htconfig
- Adding SMTP example
- Upgrading docker-compose files
- Added upgrade.exclude list
2018-10-04 23:22:47 +02:00

2.7 KiB

How to maintain this repository

The structure and usage of this repository is influenced by other, official docker repositories.

Version directories

This is important!

Never ever change a file/folder inside a directory without a . at the beginning (2018.05-rc, ...). This folder will get updated automatically based on the templates you want to change. All changes in such folders will get overwritten during an update.

Basic files and folders

Most of the time you want to change one of the followed files.

Templates & shell-scripts

  • If you want to update/upgrade Dockerfiles, use the right *.template file for it.
  • If you want to update/change the behavior of every start of Docker-image, change docker-entrypoint.sh
  • If you want to update/change the behavior how cronjobs will get started, change docker-cron.sh

Maintenance scripts

There are two important scripts in this repository for maintenance.

update.sh

Creates a directory and the necessary files for each combination of version (2018.05-rc, 3.6, ...) and variant (apache, fpm, fpm-alpine):

  • Creating the right Dockerfile (from one of the two *.template files)
  • Creating the docker-*.sh files (copy as *.sh)
  • Coping /.bin/* to bin/*
  • Coping /.config/* to config/*
  • Recreating the version/variant environment in .travis.yml

If you want to update the Docker-images to a newer version, just change the list in update.sh at

versions=(
  2018.05-rc
)

generate-stackbrew-library.sh

This file automatically creates a "manifest" for the docker-images. Like:

# This file is generated via https://github.com/friendica/docker/blob/b46fae917321394e1482df59dc4e39daffbe5c59/generate-stackbrew-library.sh
Maintainers: Friendica <info@friendi.ca> (@friendica), Philipp Holzer <admin@philipp.info> (@[secure])
GitRepo: https://github.com/friendica/docker.git

Tags: 2018.05-rc-apache, rc-apache, apache, stable-apache, production-apache, 2018.05-rc, rc, latest, stable, production
Architectures: amd64, arm32v5, arm32v7, arm64v8, i386, ppc64le, s390x
GitCommit: b46fae917321394e1482df59dc4e39daffbe5c59
Directory: 2018.05-rc/apache

Tags: 2018.05-rc-fpm, rc-fpm, fpm, stable-fpm, production-fpm
Architectures: amd64, arm32v5, arm32v7, arm64v8, i386, ppc64le, s390x
GitCommit: b46fae917321394e1482df59dc4e39daffbe5c59
Directory: 2018.05-rc/fpm

Tags: 2018.05-rc-fpm-alpine, rc-fpm-alpine, fpm-alpine, stable-fpm-alpine, production-fpm-alpine
Architectures: amd64, arm32v6, arm64v8, i386, ppc64le, s390x
GitCommit: b46fae917321394e1482df59dc4e39daffbe5c59
Directory: 2018.05-rc/fpm-alpine
This is the input-file for the official-images in a later step :-)