Docker Compose stack that runs my side projects and their infrastructure dependencies.
Doppler is used to manage secrets.
Todo:
- Backup the MariaDB database
- SSL for MariaDB
- Setup GitHub Actions to deploy the stack
- Retention policy for InfluxDB
Nice to have:
- Read replica for MariaDB
Infrastructure:
- MariaDB
- InfluxDB
- Telegraf
- Grafana
Projects:
- FFP Server (Bun Websocket Server)
- FPP Analytics (Flask API)
Later there will probably be added more services like:
- Uptime Kuma
- Caddy
- Simple Logging Service
- Redis
- Keep
- Watchtower
- Hetzner ARM CAX21
- Guide I used to secure VPS
- Install Doppler CLI
- Request access to the Doppler Dev project
sideproject-docker-stack
- Set up the Doppler project by running
doppler setup
- Run
doppler run -- docker-compose up -d
Just run:
./fpp_analytics/rebuild-fpp_analytics.sh fpp-analytics
Steps explained:
- Stop the Container: The script stops the
fpp-analytics
container. - Remove the Container: Any existing
fpp-analytics
container is removed. - Remove the Image: The associated Docker image is identified and removed.
- Prune Build Cache: Docker's build cache is pruned to avoid using any cached layers.
- Rebuild the Image: The
fpp-analytics
image is rebuilt from scratch with no cache. - Start the Container: The freshly built
fpp-analytics
container is started.
To trigger a backup of the MariaDB database the container needs to be running.
./mariadb_backups/trigger-backup.sh
Backups will then be stored in the mariadb_backups/backups
directory.
To restore a MariaDB backup the container needs to be running.
./mariadb_backups/restore.sh
Then automatically the backup called restore
in the mariadb_backups/restore
directory will be restored.