Skip to content

developeregrem/fewohbee-dockerized

Repository files navigation

fewohbee-dockerized

This docker compose setup is part of the fewohbee guesthouse administration tool. It provides all necessary services to run fewohbee out of the box.

Services

Service Image Description
web fewohbee-web Web server
php fewohbee-phpfpm PHP 8 FPM – clones and runs the app on first start
cron fewohbee-phpcli PHP CLI for scheduled tasks
db mariadb Database
redis redis In-memory cache
acme fewohbee-acme SSL certificate management (Let's Encrypt or self-signed)

Configuration

All settings are stored in a single .env file. Use .env.dist as the reference template.

Setup

Option A – Setup container (recommended, all platforms)

Works on Linux, macOS and Windows — requires only Docker.

# Clone the repository first
git clone https://github.com/developeregrem/fewohbee-dockerized.git
cd fewohbee-dockerized

# Linux / macOS
docker run --rm -it -v $(pwd):/config developeregrem/fewohbee-setup

# Windows PowerShell
docker run --rm -it -v ${PWD}:/config developeregrem/fewohbee-setup

The container asks a few questions (hostname, SSL mode, language), generates passwords and writes .env.

Option B – install.sh (Linux only)

A Bash script that additionally sets up optional cron jobs for database backups and automatic updates:

git clone https://github.com/developeregrem/fewohbee-dockerized.git
cd fewohbee-dockerized
chmod +x install.sh
sudo ./install.sh

Starting the application

Standard mode (with SSL)

For servers with direct internet access. Manages SSL certificates automatically via the acme container (self-signed or Let's Encrypt).

docker compose up -d

Reverse proxy mode (no internal SSL)

For deployments behind an external reverse proxy (Traefik, Nginx Proxy Manager, Caddy, etc.) that handles SSL termination. No acme container — the web container serves plain HTTP.

Set COMPOSE_FILE=docker-compose.no-ssl.yml in .env (done automatically by the setup scripts when choosing reverse-proxy) and then:

docker compose up -d

Configure the exposed HTTP port via LISTEN_PORT in .env (default: 80).

First-run initialisation

After starting the stack, the PHP container clones the app and installs dependencies (~2 minutes). Monitor progress:

docker compose logs -f php

Once ready to handle connections appears, run once to create the first admin user:

docker compose exec --user www-data php /bin/sh -c "php fewohbee/bin/console app:first-run"

Updates

chmod +x update-docker.sh
./update-docker.sh

The script pulls new images, restarts the stack and automatically syncs any new environment variables into .env and both compose files. New variables should be reviewed and adjusted after the update.

Documentation

Full setup and configuration documentation: Docker-Setup and Portainer-Setup

About

Dockerization of the hotel management software

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages