Create and manage custom go/ links for local networks or enterprises. Simple, fast, open source.
Create custom redirects like:
go/short-url
→ https://example.com/my-much-longer-url

# Pull the latest image
docker pull akshaykannan/go
# Run the container
docker run -d -p 80:9999 --restart unless-stopped -v [/host/path/to/db]:/go/db akshaykannan/go
The app will be available at http://localhost
(or port 80 of your machine).
Note: Replace [/host/path/to/db]
with where you want to persist the database on the host.
- Edit your
hosts
file:
- On Linux/Mac/Pi-hole:
sudo nano /etc/hosts
- On Windows: edit
C:\Windows\System32\drivers\etc\hosts
as administrator
- Add this line:
192.168.0.[xxx] go
Replacing the first part with the ip address of your machine running the go
docker container (use 127.0.0.1 if you're running it on your local machine).
Access the web interface at http://192.168.0.xxx/
and configure settings at http://192.168.0.xxx/settings
.
And that's it! You're now up and running with your own go/
redirection service.
- Clone the repository:
git clone https://github.com/theak/go
- Set up Python environment:
pip install -r requirements.txt
- Initialize database:
python app.py init_db
- Run tests:
bash pytest test_app.py
- Start development server:
FLASK_DEBUG=1 flask run --host=0.0.0.0 --port=9999
# Build for current architecture
docker build -t go -f Dockerfile .
# Build for multiple architectures
docker buildx build --platform linux/amd64,linux/arm64 -t go -f Dockerfile .
# Build and push to registry
docker buildx build --platform linux/amd64,linux/arm64 -t akshaykannan/go -f Dockerfile . --push
# Test the image
docker run -it -p 80:9999 go
# Deploy
docker run -d -p 80:9999 --restart unless-stopped -v /path/to/go-db:/go/db go