Skip to content

Desk sharing, room reservation, free seating, and co-working in your organization.

License

Notifications You must be signed in to change notification settings

seatsurfing/seatsurfing

Repository files navigation

Seatsurfing

πŸš€ Seatsurfing SaaS available!

We offer Seatsurfing as a fully-hosted Software-as-a-Service (SaaS) at. 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 organisation'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 Backend instance with port 8080 exposed
  • a Seatsurfing Booking UI instance which is accessible through the Backend instance at: :8080/ui/
  • a Seatsurfing Admin UI instance which is accessible through the Backend instance at: :8080/admin/

To login, use the default admin login (user [email protected] and password 12345678) 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.

About

Desk sharing, room reservation, free seating, and co-working in your organization.

Topics

Resources

License

Security policy

Stars

Watchers

Forks

Sponsor this project

 

Packages

 
 
 

Contributors 23