mirror of
https://github.com/ZeppelinBot/Zeppelin.git
synced 2025-03-15 13:51:51 +00:00

Production containers now copy the Zeppelin source files at build-time rather than using a shared volume. This means fewer permission issues and backend/dashboard builds only have to run once at build-time, not every time the containers are started. Docs in PRODUCTION.md have been updated accordingly.
1.6 KiB
1.6 KiB
Zeppelin production environment
Zeppelin's production environment - that is, the bot, API, and dashboard - uses Docker.
Starting the production environment
- Install Docker on the machine running the bot
- Make a copy of
.env.example
called.env
- Fill in the missing values in
.env
- Run
docker compose -f docker-compose.production.yml build
- Run
docker compose -f docker-compose.production.yml up -d
Note: The dashboard and API are exposed with a self-signed certificate. It is recommended to set up a proxy with a proper certificate in front of them. Cloudflare is a popular choice here.
Updating the bot
One-click script
If you've downloaded the bot's files by cloning the git repository, you can use update.sh
to update the bot.
Manual instructions
- Shut the bot down:
docker compose -f docker-compose.production.yml down
- Update the files (e.g.
git pull
) - Build new images:
docker compose -f docker-compose.production.yml build
- Start the bot again:
docker compose -f docker-compose.production.yml up -d
Ephemeral hotfixes
If you need to make a hotfix to the bot's source files directly on the server:
- Shut the bot down:
docker compose -f docker-compose.production.yml down
- Make your edits
- Build new images:
docker compose -f docker-compose.production.yml build
- Start the bot again:
docker compose -f docker-compose.production.yml up -d
Make sure to revert any hotfixes before updating the bot normally.
View logs
To view real-time logs, run docker compose -f docker-compose.production.yml logs -t -f