Docker Image for webtrees
This is an up-to-date Docker image for webtrees served over HTTP, designed to be put behind a reverse proxy such as Cloudflare.
this repo was forked from nathanvaughn, to make it run on raspberry pi.
The repo has not really changed much, just the build process is different (build process)
An example docker-compose.yml file is provided for reference.
You can launch the example with docker-compose up -d.
Once you start the container, you can visit http://localhost:1000/setup.php and begin the setup wizard.
The image exposes port 80.
Example docker-compose:
ports:
- 80:80The image mounts:
/var/www/webtrees/data//var/www/webtrees/media/
If you want to add custom themes, you can also mount the
/var/www/webtrees/themes/ directory.
Example docker-compose:
volumes:
- app_data:/var/www/webtrees/data/
- app_media:/var/www/webtrees/media/
- app_themes:/var/www/webtrees/themes/
...
volumes:
app_data:
driver: local
app_media:
driver: local
app_themes:
driver: localwebtrees requires a MySQL (or compatible equivalent) database. You will need a separate container for this.
🚨⚠ WARNING ⚠🚨 If you use the beta version of webtrees, you will NOT be able to use the 1.X.X stable version again. The database schema between the stable and beta versions are very different, and this is a one-way operation. Make a full backup before choosing to try the beta version of webtrees so that you can roll back if needed.
Currently, the tag latest is available for the latest
stable version of webtrees.
Example:
image: flowolf/webtrees:latestNew releases of the Dockerfile are automatically generated from upstream webtrees versions. This means a human does not vette every release. While I try to stay on top of things, sometimes breaking issues do occur. If you have any, please feel free to fill out an issue.
webtrees does not like running behind a reverse proxy, and depending on your setup, you may need to adjust some database values manually.
For example, if you are accessing webtrees via a reverse proxy serving content over HTTPS, but using this HTTP container, you would need to make the following changes in your database:
mysql -u webtrees -p
use webtrees;
update wt_site_setting set setting_value='https://example.com/login.php' where setting_name='LOGIN_URL';
update wt_site_setting set setting_value='http://example.com/' where setting_name='SERVER_URL';
quit;The Dockerfile is heavily based off solidnerd/docker-bookstack.