Docker Image
2024-10-21 by Pere Lev
Good news: Vervis now has a Docker build, including a prebuilt image you can use to deploy a Vervis instance really easily!
I never used Docker before, but I'm happy to say it was really easy to learn. The biggest challenge I had was the slow process of debugging, as Docker was rebuilding Vervis again and again from scratch only to find an error near the end.
The image can be found here: https://codeberg.org/ForgeFed/Vervis/packages.
And here are the instructions for using it, in the README:
To prepare the docker build, the main tasks I had were:
- Properly organize the Vervis config and state directories
- Write the
Dockerfile
anddocker-compose.yml
recipes, for which I mostly used the official Docker docs and Mastodon's recipes for inspiration - Write deployment instructions
Several files in the repo are involved in the deployent setup, but the primary ones are:
Here are the commits:
- Start moving app state to ./state dir
- Move remaining env/state files into state/ dir
- Initial Dockerfile
- Docker: Update Dockerfile & Add docker-compose.yml (still tweaking the setup)
- Docker: Config volume & State preparation when using docker-compose
- README: Revise text
- Docker: Instructions & utils for testing the production image
See It in Action
I recorded a little demo! Watch it on my PeerTube instance.
If you want to play with things yourself, you can follow the instructions in the Vervis README, which pull the Docker image and launch a container.
If you encounter any bugs, let me know! Or open an issue
Funding
I really want to thank NLnet for funding this work! The extended grant is allowing me to continue backend work, and allowing AndrΓ© to work on the Anvil frontend.
Oh, and our new grant application has just been accepted! We'll now prepare the 2025 roadmap and finalize it with NLnet, more on that coming soon :)
Comments
Come chat with us on Matrix!
And we have an account for ForgeFed on the Fediverse: https://floss.social/@forgefed
Right after publishing this post, I'll make a toot there to announce the post, and you can comment there :)