Prerequisites
Section titled “Prerequisites”- Docker Engine installed on your system
Choose a Setup
Section titled “Choose a Setup”The simplest option. This runs only the FOSSBilling container, so you must provide your own database service.
docker run -d -p 80:80 \ -v fossbilling:/var/www/html \ --restart=always \ fossbilling/fossbilling:latestThen open your server IP or hostname in a browser to complete the web installer.
This option brings up FOSSBilling and MySQL together, which makes it the fastest way to get started.
version: "3.9"services: fossbilling: image: fossbilling/fossbilling:latest restart: always ports: - 80:80 volumes: - fossbilling:/var/www/html
mysql: image: mysql:8.2 restart: always environment: MYSQL_DATABASE: fossbilling MYSQL_USER: fossbilling MYSQL_PASSWORD: ${MYSQL_PASSWORD:?set-a-strong-database-password} MYSQL_RANDOM_ROOT_PASSWORD: '1' volumes: - mysql:/var/lib/mysql
volumes: fossbilling: mysql:Run it:
docker compose up -dThe first startup downloads container images, so it may take a few minutes.
Before starting the stack, set a strong database password:
export MYSQL_PASSWORD="$(openssl rand -base64 32)"Database credentials (if using the example above):
- Hostname:
mysql - Database:
fossbilling - Username:
fossbilling - Password: the value of
MYSQL_PASSWORD
Open http://localhost or your server's IP/hostname to continue with the installer.
Post-Installation
Section titled “Post-Installation”After installation, set up the cron job on your host:
(crontab -l; echo "*/5 * * * * docker exec <container-name/id> su www-data -s /usr/local/bin/php /var/www/html/cron.php") | awk '!x[$0]++' | crontab -