Home
Softono

Seatsurfing

Open source Docker
295
Stars
90
Forks
34
Issues
6
Watchers
2 months
Last Commit

 About Seatsurfing

Webbased app to book seats, desks and rooms for offices.

Platforms

Web Self-hosted Docker

Languages

Docker

Need Help Installing Seatsurfing?

We provide expert installation service for this software. Our team will install, configure, and secure Seatsurfing on your server. plans start at just $30.

Seatsurfing

View on GitHub

Seatsurfing

🚀 Seatsurfing SaaS available!

We offer Seatsurfing as a fully-hosted Software-as-a-Service (SaaS). Start for free now!

  • No installation required - Get started immediately
  • Microsoft Teams integration - See Microsoft AppSource marketplace
  • Get it free - Free for up to 10 users
  • Automatic updates - Always enjoy the latest features
  • Managed infrastructure - Servers in Germany (EU)

📖 Introduction

Seatsurfing is a software which enables your organization's employees to book seats, desks and rooms.

This repository contains the Backend, which consists of:

  • The Server (REST API Backend) written in Go
  • User Self-Service Booking Web Interface ("Booking UI"), built as a Progressive Web Application (PWA) which can be installed on mobile devices
  • Admin Web Interface ("Admin UI")
  • Common TypeScript files for the two TypeScript/React web frontends

Visit project's website for more information.

📷 Screenshots

Web Admin UI

Seatsurfing Web Admin UI

Web Booking UI

Seatsurfing Web Booking UI

🗸 Quick reference

🐋 How to use the Docker image

Start using Docker Compose

services:
  server:
    image: ghcr.io/seatsurfing/backend
    restart: always
    networks:
      sql:
    ports:
      - 8080:8080
    environment:
      POSTGRES_URL: 'postgres://seatsurfing:DB_PASSWORD@db/seatsurfing?sslmode=disable'
      CRYPT_KEY: 'some-random-32-bytes-long-string'
  db:
    image: postgres:17
    restart: always
    networks:
      sql:
    volumes:
      - db:/var/lib/postgresql/data
    environment:
      POSTGRES_PASSWORD: DB_PASSWORD
      POSTGRES_USER: seatsurfing
      POSTGRES_DB: seatsurfing

volumes:
  db:

networks:
  sql:

This starts …

  • … a PostgreSQL database with data stored on Docker volume "db"
  • … a Seatsurfing instance with port 8080 exposed

The Seatsurfing Booking UI is accessible at :8080/ui/search/ and the Seatsurfing Admin UI instance at :8080/ui/admin/.

To login, use the default admin login (user [email protected] and password Sea!surf1ng) or set the environment variables INIT_ORG_USER and INIT_ORG_PASS to customize the admin login.

Running on Kubernetes

Please refer to our Kubernetes documentation.

⚙️ Environment variables

Please check out the documentation for information on available environment variables and further guidance.

Hint: When running in an IPV6-only Docker/Podman environment with multiple network interfaces bound to the Frontend containers, setting the LISTEN_ADDR environment variable can be necessary as NextJS binds to only one network interface by default. Set it to :: to bind to any address.