Bidon Self Hosted: Server Setup Guide
Overview
This guide is for publishers who want to set up a self-hosted instance of Bidon on their own Linux server. The deployment process uses Docker Compose for simplicity. Additionally, we are working on more comprehensive deployment options using Kubernetes and Kamal, which will be available soon.
Prerequisites
Linux Server:
- Ensure the server runs a Linux-based OS (e.g., Ubuntu 20.04+ or CentOS 7+).
Docker and Docker Compose:
- Install Docker and Docker Compose.
MaxMind Account:
- Register a personal account at https://maxmind.com.
- Obtain your
Account ID
andLicense Key
.
Required Environment Variables:
- Prepare the following values:
MAXMIND_ACCOUNT_ID
(from your MaxMind account)MAXMIND_LICENSE_KEY
(from your MaxMind account)APP_SECRET
(a unique application secret, e.g., UUID)SUPERUSER_LOGIN
(superuser login)SUPERUSER_PASSWORD
(superuser password)PG_PASSWORD
(PostgreSQL password)DEMAND_META_APP_SECRET
(from your demand meta account)DEMAND_META_PLATFORM_ID
(from your demand meta account)
- Prepare the following values:
Deployment Steps
1. Clone the Repository
Clone the Bidon repository onto your server:
git clone [email protected]:bidon-io/bidon_backend.git
cd bidon_backend
2. Start Docker Compose
Use the docker-compose-prod.yml
configuration file to start the containers:
MAXMIND_ACCOUNT_ID=123 \
MAXMIND_LICENSE_KEY=some_licence_key \
APP_SECRET=app_secret \
SUPERUSER_LOGIN=login \
SUPERUSER_PASSWORD=password \
PG_PASSWORD=pg_pass \
DEMAND_META_APP_SECRET=demand_meta_app_secret \
DEMAND_META_PLATFORM_ID=demand_meta_platform_id \
docker compose -f docker-compose-prod.yml up -d
3. Verify the Containers
Check that all services are running correctly:
docker compose ps
4. Test the Deployment
Open a browser and navigate to your server’s address (e.g., http://localhost:3200
). Log in using the superuser credentials.
- Email:
SUPERUSER_LOGIN + @example.com
- Password:
SUPERUSER_PASSWORD
Notes
- Updates and Future Support: We are actively developing a more flexible deployment process using Kubernetes and Kamal. Stay tuned by following our GitHub repository.