Comments (6)
This is currently running on ARM64 on Armbian using this docker compose file:
version: '3'
services:
monolith:
image: ghcr.io/ccil-kbw/robot:latest-arm64
restart: always
ports:
- 3333:3333
-
Next for the release cycle we'll need to setup https://github.com/containrrr/watchtower to watch on that container for continuous delivery
-
The supported feature ATM is the iqama-proxy, next on the list: discord-bot
from robot.
For the name I would prefer something simple like mdroid
to simplif the cli naming:
- mdroid-cli
- mdroid-monolith
- mdroid-installer
- mdroid-updater
etc
from robot.
On the docker-compose.yml
I added:
watchtower:
image: containrrr/watchtower
platform: linux/arm64
restart: always
volumes:
- /var/run/docker.sock:/var/run/docker.sock
command: --interval 600
That watches all containers and updates them when a new version is found, this only works if we continue pointing to latest-arm64
from robot.
Linked monolith branch 🌵
from robot.
Watchtower works great:
seraf@orangepi5:~/mdroid$ docker compose logs -f
mdroid-watchtower-1 | time="2023-08-23T02:28:48Z" level=info msg="Watchtower 1.5.3"
mdroid-watchtower-1 | time="2023-08-23T02:28:48Z" level=info msg="Using no notifications"
mdroid-watchtower-1 | time="2023-08-23T02:28:48Z" level=info msg="Checking all containers (except explicitly disabled with label)"
mdroid-watchtower-1 | time="2023-08-23T02:28:48Z" level=info msg="Scheduling first run: 2023-08-23 02:29:48 +0000 UTC"
mdroid-watchtower-1 | time="2023-08-23T02:28:48Z" level=info msg="Note that the first check will be performed in 59 seconds"
mdroid-monolith-1 | Running iqama-proxy Go server on port :3333
mdroid-watchtower-1 | time="2023-08-23T02:29:50Z" level=info msg="Found new ghcr.io/ccil-kbw/robot:latest-arm64 image (19bd324f1ae7)"
mdroid-watchtower-1 | time="2023-08-23T02:29:50Z" level=info msg="Stopping /mdroid-monolith-1 (e9b7a4696912) with SIGTERM"
mdroid-monolith-1 exited with code 2
mdroid-watchtower-1 | time="2023-08-23T02:29:51Z" level=info msg="Creating /mdroid-monolith-1"
mdroid-watchtower-1 | time="2023-08-23T02:29:52Z" level=info msg="Session done" Failed=0 Scanned=2 Updated=1 notify=no
[...]
mdroid-monolith-1 | watchtower test: Running iqama-proxy Go server on port :3333
mdroid-watchtower-1 | time="2023-08-23T02:28:48Z" level=info msg="Watchtower 1.5.3"
mdroid-watchtower-1 | time="2023-08-23T02:28:48Z" level=info msg="Using no notifications"
Switched to scanning every minute, let's monitor if too aggressive for a few weeks
from robot.
Adding a note on this MR for traceability:
version: '3.7'
services:
monolith:
container_name: monolith
image: ghcr.io/ccil-kbw/robot:latest
restart: always
environment:
- MDROID_BOT_GUILD_ID=REDACTED
- MDROID_BOT_TOKEN=REDACTED
watchtower:
container_name: watchtower
image: containrrr/watchtower
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
command: --interval 120 monolith
from robot.
Related Issues (20)
- Iqama Error - Fajr Starts Recording 1H late
- Iqama Error - Time not refreshed everyday HOT 1
- Iqama Sources
- Improve MacOS packaging
- MacOS binary distribution 🍎
- Automated Youtube Video Uploads HOT 1
- Design MDroid2 Project to properly separate Features HOT 1
- Design the Bot to be Multi-Guild (for the /iqama command)
- Add Discord Command to Start and Stop Recordings
- Monolith fails when executed locally HOT 2
- Separate Discord Commands between Public and Admin Server
- Organize Environment and Logger init
- Create .env file for developers
- Document the Prerequisites and Local Development
- Change all Logging and Prints to use uber-go/zap
- Add Masjid Info alongside the iqama.csv (maybe info.yaml)
- Make an Issue template HOT 1
- Make a PR Template
- Update pr.yml to add some verification for Pull Requests to make sure they start with the right prefix
- Update documentation, link in comment
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from robot.