Voux · Home
Build your own counter.
A simple, self-hosted view counter for blogs and websites. Easy to use, private, and fully customizable.
Private instance is active
You've locked Voux so only admins can create counters. Head to the dashboard to manage everything.
Go to dashboardYour embed code
Drop this script where you want the counter to appear:
Styling your counter
Styling your counter with Voux is super simple. All you need to do is wrap your counter script inside an element. We'll use a <span> in this example:
<span class="counter-widget">
<!---------------------replace this with urs--------------------->
<script async src="https://your-domain/embed/abc123.js"></script>
</span>
Once that's in place, you can style it however you like using CSS. Here's a simple example that centers the counter on the screen and makes the text black:
.counter-widget {
position: fixed;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
text-align: center;
color: black;
font-weight: 600;
font-size: 3rem;
font-family: system-ui, sans-serif;
}
And that's it. Your counter is now styled and ready to use. You can change the font, colors, or layout any way you like.
Self-hosting Voux
📦 Manual installation
Running your own copy is easy. First, download Voux and enter the project folder:
1. Clone the project
git clone https://github.com/QuintixLabs/Voux.git
cd voux
Make sure you are running Node.js 22. If you use fnm. :
fnm install 22
fnm use 22
node -v
2. Install Voux
Use one of these:
npm install # normal install
npm install --production # for production installs
3. Create your .env file
cp .env.example .env
Open .env and set your settings. This is where you configure your admin login, site URL, port, and other options. You must set ADMIN_USERNAME + ADMIN_PASSWORD before running the server, and if you want to configure your own instance for development, add DEV_MODE=development. For more settings check Github
4. Start Voux
Development (auto-reload) :
npm run dev
Production :
npm start
By default, both commands run at: http://localhost:8787 You can change this by setting the PORT value in .env.
🐋 Docker
Run Voux via Docker and pull the prebuilt image from GHCR:
docker run -d \
--name voux \
-p 8787:8787 \
-e ADMIN_USERNAME=admin \
-e ADMIN_PASSWORD=change-this-password \
-v $(pwd)/data:/app/data \
ghcr.io/quintixlabs/voux/voux:latest
Or use our docker-compose.yml, which is simpler. Just run:
docker compose up -d
- Change ADMIN_USERNAME + ADMIN_PASSWORD to your own login (do not leave it as the example).
- Mount ./data so counters survive restarts.
- Add more -e VAR=value flags for more settings if you need them.