This guide walks through a self-hosted installation of Galène.
| Attribute | Details |
|---|---|
| License | MIT |
| Technical Stack | Go (server), JavaScript (client) |
| Deployment | Source build (binary) or community Docker |
| GitHub | jech/galene |
| Documentation | galene.org |
Galène does not provide official Docker images. Deployment options are:
# Debian/Ubuntu
sudo apt update
sudo apt install -y golang-go
# Verify installation
go version # Should be 1.19 or higher
git clone https://github.com/jech/galene
cd galene
# Build with optimizations
CGO_ENABLED=0 go build -ldflags='-s -w'
# Verify build
ls -la galene # Should show executable binary
# Create directories for data and groups
sudo mkdir -p /etc/galene/groups
sudo mkdir -p /var/lib/galene/recordings
sudo mkdir -p /var/log/galene
# Copy binary
sudo cp galene /usr/local/bin/
sudo chmod +x /usr/local/bin/galene
# Create a test group
sudo tee /etc/galene/groups/test.json > /dev/null << 'EOF'
{
"public": true,
"description": "Test room",
"users": {
"admin": {"password": "change-me", "permissions": "op"}
}
}
EOF
# Test run (foreground)
galene -data-dir /var/lib/galene -group-dir /etc/galene/groups
# Or run as background service (see systemd below)
Open your browser to https://localhost:8443/group/test/
adminchange-mesudo tee /etc/systemd/system/galene.service > /dev/null << 'EOF'
[Unit]
Description=Galène Videoconference Server
After=network.target
[Service]
Type=simple
User=galene
Group=galene
ExecStart=/usr/local/bin/galene -data-dir /var/lib/galene -group-dir /etc/galene/groups
Restart=on-failure
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
EOF
# Create system user
sudo useradd -r -s /bin/false galene
# Set permissions
sudo chown -R galene:galene /var/lib/galene
sudo chown -R galene:galene /etc/galene/groups
sudo chown galene:galene /var/log/galene
sudo systemctl daemon-reload
sudo systemctl enable galene
sudo systemctl start galene
sudo systemctl status galene
⚠️ Warning: No official Docker images exist. Community images are unofficial.
For Docker deployment options, see Galène Docker Setup.
server {
listen 443 ssl http2;
server_name galene.example.com;
ssl_certificate /etc/letsencrypt/live/galene.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/galene.example.com/privkey.pem;
location / {
proxy_pass https://127.0.0.1:8443;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
# WebSocket support
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
For automated deployment, see Galène Ansible Setup.
Any questions?
Feel free to contact us. Find all contact information on our contact page.