Deploying Wallos with Docker Compose¶
Introduction to Wallos¶
Wallos is an open-source, self-hostable web application designed to simplify tracking your subscriptions and expenses. It provides an easy-to-use platform to manage your finances, replacing the need for complicated spreadsheets or expensive software. This guide details how to deploy Wallos using Docker Compose, with notes on configuring volumes to prevent permissions errors.
Docker Compose Configuration for Wallos¶
Below is the Docker Compose file used to deploy Wallos, with explanations of the components involved.
Docker Compose File (docker-compose.yml
)¶
services:
wallos:
container_name: wallos # Names the container for easier management.
image: bellamy/wallos:latest # Specifies the Wallos Docker image.
ports:
- "8282:80/tcp" # Exposes Wallos on port 8282.
environment:
TZ: 'America/Toronto' # Sets the timezone for the container.
volumes:
- './db:/var/www/html/db' # Stores Wallos' database for persistent data.
- './logos:/var/www/html/images/uploads/logos' # Stores logos uploaded to the app.
restart: unless-stopped # Ensures the container restarts automatically unless manually stopped.
Explanation of Key Components¶
- Image: Specifies the
bellamy/wallos:latest
Docker image, which contains the Wallos application. - Ports: Maps port
8282
on the host to port80
in the container, making Wallos accessible viahttp://<your-server-ip>:8282
. - Environment:
- TZ: Sets the timezone for the container. In this example, it is set to
America/Toronto
, but you can adjust it to your local timezone. - Volumes:
./db:/var/www/html/db
: This volume ensures that the Wallos database is stored persistently on your host machine../logos:/var/www/html/images/uploads/logos
: This volume stores the logos uploaded to Wallos, ensuring they persist between container restarts.Note: You need to manually create the
db
andlogos
directories on your host system before running the container. Failing to do so may result in permissions errors or the container not starting properly.
Creating Required Directories¶
To avoid permission issues, make sure you create the required directories (db
and logos
) with proper permissions on your host machine:
Ensure that Docker has access to these directories and that they are writeable by the container.
Deployment¶
To deploy Wallos, navigate to the directory where your docker-compose.yml
file is located and run:
This command will start the Wallos service in detached mode, allowing it to run in the background.
Accessing Wallos¶
Once deployed, you can access Wallos by navigating to:
From here, you can start managing your subscriptions and expenses with ease.
Conclusion¶
Wallos provides a simple, self-hosted solution for tracking your subscriptions and managing your finances. By following this guide, you can deploy Wallos using Docker Compose and ensure that your data is stored persistently with proper volume management.