From 518483fa00fb634c51ec06f8c2715f99aca1a87a Mon Sep 17 00:00:00 2001 From: PhilippTheServer Date: Thu, 24 Sep 2026 01:14:29 +0200 Subject: [PATCH 1/2] test: pin the customer landing page, developer and legal pages Refs #10 Co-Authored-By: Claude Opus 5.5 (1M context) --- assets/img/admin-dashboard.webp | Bin 0 -> 53122 bytes assets/img/admin-orders.webp | Bin 0 -> 50416 bytes assets/img/store-cart.webp | Bin 0 -> 27498 bytes assets/img/store-product.webp | Bin 0 -> 20130 bytes assets/img/store-shop.webp | Bin 0 -> 34128 bytes scripts/check_site.rb | 178 ++++++++++++++++++++------------ 6 files changed, 114 insertions(+), 64 deletions(-) create mode 100644 assets/img/admin-dashboard.webp create mode 100644 assets/img/admin-orders.webp create mode 100644 assets/img/store-cart.webp create mode 100644 assets/img/store-product.webp create mode 100644 assets/img/store-shop.webp diff --git a/assets/img/admin-dashboard.webp b/assets/img/admin-dashboard.webp new file mode 100644 index 0000000000000000000000000000000000000000..1d135e4a8900de2625db0f7fe73237c3bf3b83c8 GIT binary patch literal 53122 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%0D?uR61wXYj7rG~u8#=%ku=Kq=(`qObOH0vx3 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�y-~0&x`~%5;}yn!aGrZFsxyh*Nh4o76%EU# z#S;Rj#;vS~UN$lyW_=+|;Fpx94kwT89egiP`;YtReD%Ztlb?Xp6XY*|jir^i zLU#eK3rscVgCV;4v3A*|do9WC>KaUZ7G-GF0(nJ>nC|=zZgm45C@9QY zxA?=16lKrSSPsD}*NzTyJL8x&a*O9Op|=T`&PD7QnqMFtLAbihXmA@ujc&;I`|*f* zZ53Ng>>|b!tDTXV@Wg#tiko~0>&aSvEB&A~Km(MGhIyu^v0Pt!o>iMd+*^fBjjB0Z zGpDi_L1#tBwQC3Fpsf#~)gVXS3qXiC15Hc(NX02)!1#4?{C-jAEn1hpAkQ5_hWIBJ z)ryMoXS#V2W6cnxU`XL8L+f1@Z>C%b7DG{kkZ6t5_P4BH+Mb#6Y#pFBm#J9`agN-8 zIr3KvHN>|Z9$`Bl z5`FH;Ph#?W1F#9*gWso+ELcZO3l%f=O`MR$SrzrsN_VmG!|#Qd)e^Lu>#5+lh4kI$ zbyBwYiJ03WVNu$Y5AD&nPAEYt^pp3csNN8W!V^a;u%az~39xHYZY0ZT8LYjnNH@hi z;eFwcOkI7NR{r#M8|$*μ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

sWKaxG7|-8jFFCDZs^Z3xDYyjLz{XKtHcs5 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

@ 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 sBSK7f0fNyN7}8MSFe;sws?i_@% literal 0 HcmV?d00001 diff --git a/assets/img/admin-orders.webp b/assets/img/admin-orders.webp new file mode 100644 index 0000000000000000000000000000000000000000..04d89373093c076852b22d9925fada2ea023f3a2 GIT binary patch literal 50416 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 DRl%6q literal 0 HcmV?d00001 diff --git a/assets/img/store-cart.webp b/assets/img/store-cart.webp new file mode 100644 index 0000000000000000000000000000000000000000..103bfc6d41393d05d06da04312ce76f87ebf3d1d GIT binary patch literal 27498 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 literal 0 HcmV?d00001 diff --git a/assets/img/store-product.webp b/assets/img/store-product.webp new file mode 100644 index 0000000000000000000000000000000000000000..1f3bafadb982a4e6f6a2c7e0a995e90b490bb439 GIT binary patch literal 20130 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≫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 literal 0 HcmV?d00001 diff --git a/scripts/check_site.rb b/scripts/check_site.rb index ba1ba15..e084d2b 100755 --- a/scripts/check_site.rb +++ b/scripts/check_site.rb @@ -39,10 +39,19 @@ def internal_target(reference) nil end -required = %w[ - index.html de/index.html robots.txt llms.txt sitemap.xml CNAME - assets/css/site.css wiki/taberna_logo.png -] +PAGES = { + "index.html" => { url: "/", lang: "en", locale: "en_GB", pair: "/de/" }, + "de/index.html" => { url: "/de/", lang: "de", locale: "de_DE", pair: "/" }, + "developers/index.html" => { url: "/developers/", lang: "en", locale: "en_GB", pair: "/de/entwickler/" }, + "de/entwickler/index.html" => { url: "/de/entwickler/", lang: "de", locale: "de_DE", pair: "/developers/" }, + "impressum/index.html" => { url: "/impressum/", lang: "de", locale: "de_DE" }, + "datenschutz/index.html" => { url: "/datenschutz/", lang: "de", locale: "de_DE" }, +}.freeze +LANDING = %w[index.html de/index.html].freeze +DEVELOPERS = %w[developers/index.html de/entwickler/index.html].freeze +CONTACT = "mailto:root@vaultops.de" + +required = PAGES.keys + %w[robots.txt llms.txt sitemap.xml CNAME assets/css/site.css wiki/taberna_logo.png] required.each do |path| fail!("#{path}: missing from the built site") unless File.file?(File.join(SITE, path)) end @@ -59,36 +68,37 @@ def internal_target(reference) end sitemap = read("sitemap.xml") -if sitemap && !sitemap.include?("https://#{DOMAIN}/") - fail!("sitemap.xml: does not contain the canonical site URL") -end -if sitemap && !sitemap.include?("https://#{DOMAIN}/de/") - fail!("sitemap.xml: does not contain the German page") +if sitemap + PAGES.each_value do |page| + fail!("sitemap.xml: does not contain #{page[:url]}") unless sitemap.include?("https://#{DOMAIN}#{page[:url]}") + end end -languages = { - "index.html" => { lang: "en", locale: "en_GB", switch: "/de/" }, - "de/index.html" => { lang: "de", locale: "de_DE", switch: "/" }, -} -languages.each do |path, expected| +PAGES.each do |path, page| html = read(path) next unless html - fail!("#{path}: is not lang=\"#{expected[:lang]}\"") unless html.include?(%()) - fail!("#{path}: og:locale is not #{expected[:locale]}") unless html.include?(%()) - { "en" => "https://#{DOMAIN}/", "de" => "https://#{DOMAIN}/de/", "x-default" => "https://#{DOMAIN}/" }.each do |hreflang, href| - unless html.include?(%()) + fail!("#{path}: is not lang=\"#{page[:lang]}\"") unless html.include?(%()) + fail!("#{path}: og:locale is not #{page[:locale]}") unless html.include?(%()) + %w[/impressum/ /datenschutz/].each do |legal| + fail!("#{path}: footer has lost the link to #{legal}") unless html[%r{}m].to_s.include?(%(href="#{legal}")) + end + next unless page[:pair] + + en, de = page[:lang] == "en" ? [page[:url], page[:pair]] : [page[:pair], page[:url]] + { "en" => en, "de" => de, "x-default" => en }.each do |hreflang, url| + unless html.include?(%()) fail!("#{path}: has lost the hreflang=#{hreflang} alternate") end end - fail!("#{path}: has lost the language switch to #{expected[:switch]}") unless html.match?(/]*href="#{Regexp.escape(expected[:switch])}"/) + fail!("#{path}: has lost the language switch to #{page[:pair]}") unless html.match?(/]*href="#{Regexp.escape(page[:pair])}"/) end STACK = [ "FastAPI", "PostgreSQL", "Redis", "Keycloak", "Angular", "Stripe", "DHL", "Paperless-ngx", "MinIO", "Prometheus", "Grafana", "OpenTelemetry", "Docker Compose", ].freeze -{ "index.html" => "What it runs on", "de/index.html" => "Worauf es läuft", "llms.txt" => "## Stack" }.each do |path, heading| +{ "developers/index.html" => "What it runs on", "de/entwickler/index.html" => "Worauf es läuft", "llms.txt" => "## Stack" }.each do |path, heading| text = read(path) next unless text @@ -96,13 +106,35 @@ def internal_target(reference) STACK.each { |term| fail!("#{path}: stack section has lost #{term.inspect}") unless text.include?(term) } end -german = read("de/index.html") -if german - h1 = german[%r{]*>(.*?)}m, 1].to_s.downcase - %w[open-source shopsystem].each { |term| fail!("de/index.html: h1 has lost #{term.inspect}") unless h1.include?(term) } - description = german[/ { "title" => %w[open-source self-hosted headless shop], "meta description" => %w[open-source self-hosted headless shop], "h1" => %w[open-source shop] }, + "de/index.html" => { "meta description" => ["open-source", "selbst gehostet", "webshop", "shopware"], "h1" => %w[open-source shop] }, +}.freeze +SEARCH_TERMS.each do |path, fields| + html = read(path) + next unless html + + texts = { + "title" => html[%r{(.*?)}m, 1], + "meta description" => html[/ html[%r{]*>(.*?)}m, 1], + } + fields.each do |field, terms| + terms.each { |term| fail!("#{path}: #{field} has lost the search term #{term.inspect}") unless texts[field].to_s.downcase.include?(term) } end end @@ -174,46 +206,64 @@ def internal_target(reference) end end -index = read("index.html") -if index - fail!("index.html: has lost the Philipp Lehmann website link") unless index.include?('href="https://philipptheserver.com"') - fail!("index.html: has lost the maltonoloco GitHub link") unless index.include?('href="https://github.com/maltonoloco"') - - sections = [ - "What OpenTaberna is", - "What it is made of", - "What it runs on", - "How to start", - "Licence and intent", - "Founders", - "Contact", - ] - positions = sections.map { |heading| [heading, index.index(heading)] } - positions.each { |heading, position| fail!("index.html: has lost the #{heading.inspect} section") if position.nil? } - present_positions = positions.map(&:last).compact - fail!("index.html: required sections are out of order") unless present_positions == present_positions.sort - - title = index[%r{(.*?)}m, 1].to_s - description = index[/]*>(.*?)}m, 1].to_s - { - "title" => [title, %w[open-source self-hosted headless shop]], - "meta description" => [description, %w[open-source self-hosted headless shop]], - "h1" => [h1, %w[open-source headless shop]], - }.each do |name, (text, terms)| - terms.each { |term| fail!("index.html: #{name} has lost the search term #{term.inspect}") unless text.downcase.include?(term) } +SECTIONS = %w[hero trust features offers custom-frontend compare faq get-started founders].freeze +LANDING.each do |path| + html = read(path) + next unless html + + positions = SECTIONS.map { |id| [id, html.index(%(id="#{id}"))] } + positions.each { |id, position| fail!("#{path}: has lost the ##{id} section") if position.nil? } + present = positions.map(&:last).compact + fail!("#{path}: landing sections are out of order") unless present == present.sort + + subjects = html.scan(/href="#{Regexp.escape(CONTACT)}\?subject=([^"&]+)/).flatten.uniq + fail!("#{path}: needs pre-filled emails for setup, hosting, custom frontend and a general enquiry, found #{subjects.length}") if subjects.length < 4 + + section = ->(id) { html[%r{id="#{id}".*?}m].to_s } + fail!("#{path}: hero has lost its email call to action") unless section.call("hero").include?(%(href="#{CONTACT}?subject=)) + fail!("#{path}: closing call to action has lost its email link") unless section.call("get-started").include?(%(href="#{CONTACT}?subject=)) + offers = section.call("offers") + fail!("#{path}: offers need two quote requests") if offers.scan(%(href="#{CONTACT}?subject=)).length < 2 + fail!("#{path}: do-it-yourself offer has lost the wiki link") unless offers.include?('href="https://wiki.opentaberna.de"') + fail!("#{path}: custom-frontend section has lost its quote request") unless section.call("custom-frontend").include?(%(href="#{CONTACT}?subject=)) + compare = section.call("compare") + %w[https://www.shopware.com https://www.shopify.com].each do |source| + fail!("#{path}: comparison has lost its source #{source}") unless compare.include?(%(href="#{source})) end + fail!("#{path}: has lost the Philipp Lehmann website link") unless html.include?('href="https://philipptheserver.com"') + fail!("#{path}: has lost the maltonoloco GitHub link") unless html.include?('href="https://github.com/maltonoloco"') +end - %w[ - https://github.com/OpenTaberna/fastapi - https://github.com/OpenTaberna/frontend - https://github.com/OpenTaberna/admin_frontend - https://github.com/OpenTaberna/wiki - https://wiki.opentaberna.de - https://github.com/OpenTaberna/wiki/blob/main/Getting-Started.md - ].each do |url| - fail!("index.html: has lost #{url}") unless index.include?(%[href="#{url}"]) +impressum = read("impressum/index.html") +if impressum + ["§ 5 DDG", "§ 18 Abs. 2 MStV", "Philipp Lehmann", "Semperstraße 115", "44801 Bochum", "DE454384537", "root@vaultops.de"].each do |fact| + fail!("impressum: has lost #{fact.inspect}") unless impressum.include?(fact) + end +end + +privacy = read("datenschutz/index.html") +if privacy + ["GitHub", "Data Privacy Framework", "Philipp Lehmann", "root@vaultops.de"].each do |fact| + fail!("datenschutz: has lost #{fact.inspect}") unless privacy.include?(fact) + end +end + +# The site promises visitors that nothing loads from a third party, which is why it +# needs no consent banner. Any external script, stylesheet, font or image breaks that. +css = read("assets/css/site.css").to_s +fail!("site.css: loads something from another origin") if css.match?(%r{url\(\s*["']?(?:https?:)?//|@import}i) +html_files.each do |path| + relative = path.delete_prefix("#{SITE}/") + html = File.read(path) + fail!("#{relative}: loads a resource from another origin") if html.match?(%r{<(?:script|img|iframe|source|video|audio)\b[^>]*\bsrc="(?:https?:)?//}i) || + html.match?(%r{]*\brel="(?:stylesheet|preload|icon|modulepreload)")[^>]*\bhref="(?:https?:)?//}i) + html.scan(/]*>/).each do |tag| + src = tag[/\bsrc="([^"]*)"/, 1] + next unless src&.start_with?("/assets/img/") + + fail!("#{relative}: #{src} has no alt text") if tag[/\balt="([^"]*)"/, 1].to_s.strip.empty? end + fail!("#{relative}: links to the demo shop, which does not exist yet") if html.include?("demo.opentaberna") end # Resolve every local href and src against the build. html-proofer performs a second, From 245a5e0e611b0e3251e53514af58ee6eaabcb4b2 Mon Sep 17 00:00:00 2001 From: PhilippTheServer Date: Thu, 24 Sep 2026 01:21:02 +0200 Subject: [PATCH 2/2] feat: turn opentaberna.de into a customer landing page MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Customer-first home page (EN/DE) with real product screenshots, services, comparison, FAQ and pre-filled email calls to action; developer pages for the technical content; Impressum and Datenschutzerklärung for vaultops. Closes #10 Co-Authored-By: Claude Opus 5.5 (1M context) --- README.md | 53 ++++- _data/i18n.yml | 430 ++++++++++++++++++++++++++++++++++++++++ _includes/frame.html | 4 + _includes/head.html | 17 +- _includes/icon.html | 15 ++ _includes/landing.html | 175 ++++++++++++++++ _includes/mailto.html | 3 + _layouts/default.html | 81 +++++--- assets/css/site.css | 438 ++++++++++++++++++++++++++--------------- assets/img/og.jpg | Bin 0 -> 49022 bytes datenschutz/index.md | 65 ++++++ de/entwickler/index.md | 80 ++++++++ de/index.md | 93 +-------- developers/index.md | 79 ++++++++ impressum/index.md | 51 +++++ index.md | 93 +-------- llms.txt | 12 +- 17 files changed, 1298 insertions(+), 391 deletions(-) create mode 100644 _data/i18n.yml create mode 100644 _includes/frame.html create mode 100644 _includes/icon.html create mode 100644 _includes/landing.html create mode 100644 _includes/mailto.html create mode 100644 assets/img/og.jpg create mode 100644 datenschutz/index.md create mode 100644 de/entwickler/index.md create mode 100644 developers/index.md create mode 100644 impressum/index.md diff --git a/README.md b/README.md index 7a33587..e8fcd19 100644 --- a/README.md +++ b/README.md @@ -5,14 +5,49 @@ Jekyll, is built and verified by GitHub Actions, and is deployed to GitHub Pages The project documentation remains in the [OpenTaberna wiki](https://wiki.opentaberna.de). -## Languages +## What the site is for -`index.md` is the English page at `/`, `de/index.md` the German page at `/de/`. -Both carry `hreflang` alternates and a language switch; the layout picks its few -interface strings from the page's `lang`. A content change to one page belongs in -the other in the same change. `check_site.rb` fails if the German page, its -alternates or its search terms go missing, and if either page or `llms.txt` -loses the stack section (the terms are listed in `STACK` in that script). +opentaberna.de is a customer landing page. OpenTaberna is free; vaultops sells +setup on the customer's server, hosting in Germany and custom storefronts. Every +call to action is a pre-filled `mailto:` link, so there is no form, no third party +and no cookie banner. Nothing may load from another origin. + +## Pages and where their content lives + +| URL | Source | Content | +|---|---|---| +| `/`, `/de/` | `index.md`, `de/index.md` → `_includes/landing.html` | copy in `_data/i18n.yml` (`en`, `de`) | +| `/developers/`, `/de/entwickler/` | `developers/index.md`, `de/entwickler/index.md` | Markdown in the page | +| `/impressum/`, `/datenschutz/` | `impressum/index.md`, `datenschutz/index.md` | German only | + +Both landing pages render one template from `_data/i18n.yml`, so their structure +cannot drift; the mail subjects and bodies live there too. Pages that exist in +both languages set `lang` and `alt_url`, which drive the `hreflang` alternates and +the language switch. A content change to one language belongs in the other in the +same change. + +The comparison with Shopware and Shopify cites the vendors' own pricing pages. +Re-check those figures before changing the table and update the "as published" +month. + +## Product screenshots + +`assets/img/*.webp` are screenshots of the real `frontend` and `admin_frontend` +running against the `fastapi` dev stack with the sample catalogue (`seed.py`) and +illustrated product images, taken at 1440×900 with 2× pixel density and +converted with `cwebp -q 78 -resize 1600 0`. `assets/img/og.jpg` is the 1200×630 +social preview cropped from the storefront screenshot. + +## Checks + +`scripts/check_site.rb` fails if any page, its language pairing or footer legal +links go missing; if the landing sections change order or lose their email calls +to action, the wiki link or the comparison sources; if the Impressum or privacy +policy lose their required details; if any page loads a resource from another +origin or a screenshot lacks alt text; if a page links to the not-yet-existing +demo shop; if the home pages lose their search terms (English title, description +and H1; German description and H1); and if the developer pages or `llms.txt` lose +the stack terms listed in `STACK`. ## Local verification @@ -24,9 +59,7 @@ bundle install ``` The command builds `_site`, validates internal links and markup, and runs the -project-specific structural checks. Those checks include the search terms the -home page must keep in its title, meta description and H1 (open-source, -self-hosted, headless, shop), so a copy edit cannot silently drop them. +project-specific structural checks described above. ## Publishing diff --git a/_data/i18n.yml b/_data/i18n.yml new file mode 100644 index 0000000..50f5c9d --- /dev/null +++ b/_data/i18n.yml @@ -0,0 +1,430 @@ +# Interface strings and landing-page copy, one block per language. Both landing +# pages render _includes/landing.html from this file, so they cannot drift apart. + +en: + home: / + developers: /developers/ + skip: Skip to content + brand_note: Open-source commerce + nav_features: Features + nav_services: Services + nav_developers: Developers + nav_cta: Get your shop + lang_switch: Deutsch + lang_switch_code: de + foot_tagline: A free, open-source shop system. Setup, hosting in Germany and custom storefronts by vaultops. + foot_project: Project + foot_legal: Legal + foot_contact: Contact + foot_machines: For machines + legal_notice: Legal notice (Impressum) + privacy: Privacy policy (Datenschutz) + frame_store: Your storefront + frame_admin: Your back office + + mail: + general: + subject: "OpenTaberna: I would like my own shop" + body: "Hi,\n\nI am interested in a shop built on OpenTaberna.\n\nWhat I sell:\nNumber of products:\nOrders per month (roughly):\nCurrent shop system, if any:\nTimeline:\n\nBest regards\n" + setup: + subject: "OpenTaberna: set up on my server" + body: "Hi,\n\nplease send me a quote for setting up OpenTaberna on my own server.\n\nServer / provider:\nWhat I sell:\nNumber of products:\nPayment and shipping providers:\nTimeline:\n\nBest regards\n" + hosting: + subject: "OpenTaberna: hosting for my shop" + body: "Hi,\n\nplease send me a quote for hosting an OpenTaberna shop for me.\n\nWhat I sell:\nNumber of products:\nOrders per month (roughly):\nDomain (existing or wanted):\nTimeline:\n\nBest regards\n" + frontend: + subject: "OpenTaberna: custom storefront" + body: "Hi,\n\nI would like a custom storefront for OpenTaberna.\n\nBrand / website today:\nDesigns or examples I like:\nPages and features I need:\nTimeline:\n\nBest regards\n" + + hero: + eyebrow: Headless shop system · self-hosted · free + title: Your own open-source shop. No licence fees. No lock-in. + lede: OpenTaberna is a modern web shop you can run on your own server, free and open source. Or let us set it up, host it in Germany and design a storefront that looks like your brand. + cta: Get your shop + secondary: See what is inside + note: Free software. You pay only for the help you want. + shop_alt: The OpenTaberna storefront showing a product grid of wines and delicatessen with prices and "Add to bag" buttons. + admin_alt: The OpenTaberna back office dashboard with revenue, open payments, shipments to go out and products that need restocking. + + trust: + - icon: gift + text: Free forever + - icon: code + text: Open source, Apache-2.0 + - icon: flag + text: Hosted in Germany + - icon: key + text: Your data stays yours + + features: + eyebrow: What you get + title: Everything a shop needs. Nothing you rent. + lede: A complete shop, not a starter kit. Storefront, checkout and back office work together, and routine work runs by itself. + rows: + - title: One back office for the whole shop + text: See revenue, open payments, orders to ship and products running low at a glance. Change prices, stock and order status in one place, with separate accounts for your team. + image: admin-dashboard.webp + alt: The back office dashboard with net revenue, awaiting payments, outstanding shipments, stock warnings and the order mix. + frame: admin + - title: A storefront customers enjoy + text: Fast product pages, a clear bag and a checkout that just works on the phone. Customers can create an account and see their orders. + image: store-product.webp + alt: A product page in the OpenTaberna storefront for Barolo Riserva with price and "Add to bag" button. + frame: store + items: + - icon: box + title: Catalogue and images + text: Products with prices, images, brands and categories, ready for search engines. + - icon: card + title: Checkout with Stripe + text: Card and wallet payments through Stripe, with stock reserved while customers pay. + - icon: truck + title: DHL shipping + text: Paid orders become shipments and labels without typing addresses twice. + - icon: layers + title: Stock and returns + text: Live stock per product, low-stock warnings and a returns process for your customers. + - icon: receipt + title: Documents filed for you + text: Invoices and accounting documents land in Paperless-ngx automatically. + - icon: user + title: Customer accounts + text: Secure sign-in for customers and staff, with roles for your team. + + offers: + eyebrow: Three ways to run it + title: Pick how much you want to do yourself. + lede: The software is the same in every case. What changes is who does the work. + items: + - name: Do it yourself + price: Free + text: For teams with their own developer or administrator. + points: + - The complete shop, free and open source + - Step-by-step documentation in the wiki + - Runs on any Linux server with Docker + link: https://wiki.opentaberna.de + link_text: Read the documentation + - name: We set it up on your server + price: One-off price + text: You keep the server, we do the work. + points: + - Installation on your server or cloud + - Your domain, SSL, payments and shipping connected + - Handover and a walkthrough for your team + mail: setup + link_text: Request a quote + - name: We host it for you + price: Monthly price + text: The least effort. Hosted on our servers in Germany. + points: + - Servers in Germany, run by us + - Updates, backups and monitoring included + - Direct support from the people who build it + mail: hosting + link_text: Request a quote + featured: true + + custom: + eyebrow: Custom storefront + title: Your brand, not a template. + text: OpenTaberna is headless, so the storefront is completely replaceable. We design and build one that looks and feels like your brand and runs on the same back office. + points: + - Designed around your brand, products and customers + - Built on the open OpenTaberna API + - You own the code, no licence attached + cta: Talk about your storefront + alt: The shopping bag in the OpenTaberna storefront with three wines and an order summary. + + compare: + eyebrow: Why not Shopware or Shopify? + title: The same shop, without the running costs. + columns: [OpenTaberna, Shopware, Shopify] + rows: + - label: Software licence + cells: + - Free, Apache-2.0 + - Community Edition free (MIT); paid plans from €600 a month + - Plans from €36 a month (Basic, billed monthly) + - label: Fees tied to your sales + cells: + - None + - Paid plans are priced on your revenue; Community Edition shops above €1 million a year need a paid plan to keep Shopware Account and Store access + - Up to 2% extra per sale if you do not use Shopify Payments + - label: Where it runs + cells: + - Your server, or ours in Germany + - Your server or Shopware's cloud + - Shopify's cloud only + - label: Source code + cells: + - Open, every component + - Open core (Community Edition) + - Closed + sources_label: "Sources, as published in September 2026:" + sources: + - text: Shopware pricing + url: https://www.shopware.com/en/pricing/ + - text: Shopware Fair Usage Policy + url: https://www.shopware.com/en/news/fair-usage-policy-community-edition/ + - text: Shopify pricing + url: https://www.shopify.com/pricing + + faq: + eyebrow: Questions + title: Before you write to us + items: + - q: Is OpenTaberna really free? + a: Yes. Every part is open source under the Apache-2.0 licence. You can run it, change it and even sell it on. You only pay us if you want help with setup, hosting or a custom storefront. + - q: What does hosting cost? + a: That depends on the size of your shop. Tell us what you sell and roughly how many orders you expect, and we send you a fixed price. + - q: Can I move away later? + a: Yes. The code is open and your data sits in a standard PostgreSQL database, so any developer can take over. If we host your shop, you can take a full copy with you. + - q: What do I need to run it myself? + a: A Linux server with Docker, a domain, a Stripe account for payments and, if you ship with DHL, a DHL business account. The wiki walks you through the rest. + - q: What can you build for the storefront? + a: Anything from adapting the included storefront to your brand to a completely new design. Both run on the same back office and API. + - q: Is it ready for my shop? + a: OpenTaberna is young. Today it covers catalogue, Stripe checkout, stock, orders, returns, DHL shipping and accounting documents. Tell us what you sell and we will tell you honestly whether it fits. + + get_started: + title: Tell us about your shop. + text: Write a few lines about what you sell. We answer personally, usually within two working days. + cta: Get your shop + or: or write to + + founders: + eyebrow: Who is behind it + title: Built by two founders who needed it themselves. + text: We started OpenTaberna because Shopware was expensive and hard to connect to everything we needed. Setup, hosting and custom storefronts are provided by vaultops. + people: + - name: Philipp Lehmann + url: https://philipptheserver.com + role: Founder · vaultops + text: Infrastructure engineer. Runs the servers your shop would live on. + links: + - text: GitHub + url: https://github.com/PhilippTheServer + - text: ORCID + url: https://orcid.org/0009-0002-3922-2471 + - name: Malte Kottmann + url: https://github.com/maltonoloco + role: Founder + text: OpenTaberna founder and contributor. + links: + - text: GitHub + url: https://github.com/maltonoloco + +de: + home: /de/ + developers: /de/entwickler/ + skip: Zum Inhalt springen + brand_note: Open-Source-E-Commerce + nav_features: Funktionen + nav_services: Leistungen + nav_developers: Entwickler + nav_cta: Shop anfragen + lang_switch: English + lang_switch_code: en + foot_tagline: Ein freies Open-Source-Shopsystem. Einrichtung, Hosting in Deutschland und individuelle Storefronts von vaultops. + foot_project: Projekt + foot_legal: Rechtliches + foot_contact: Kontakt + foot_machines: Für Maschinen + legal_notice: Impressum + privacy: Datenschutz + frame_store: Deine Storefront + frame_admin: Dein Backoffice + + mail: + general: + subject: "OpenTaberna: Ich möchte einen eigenen Shop" + body: "Hallo,\n\nich interessiere mich für einen Shop mit OpenTaberna.\n\nWas ich verkaufe:\nAnzahl Produkte:\nBestellungen pro Monat (ungefähr):\nAktuelles Shopsystem, falls vorhanden:\nZeitrahmen:\n\nViele Grüße\n" + setup: + subject: "OpenTaberna: Einrichtung auf meinem Server" + body: "Hallo,\n\nbitte schickt mir ein Angebot für die Einrichtung von OpenTaberna auf meinem eigenen Server.\n\nServer / Anbieter:\nWas ich verkaufe:\nAnzahl Produkte:\nZahlungs- und Versanddienstleister:\nZeitrahmen:\n\nViele Grüße\n" + hosting: + subject: "OpenTaberna: Hosting für meinen Shop" + body: "Hallo,\n\nbitte schickt mir ein Angebot für das Hosting eines OpenTaberna-Shops.\n\nWas ich verkaufe:\nAnzahl Produkte:\nBestellungen pro Monat (ungefähr):\nDomain (vorhanden oder gewünscht):\nZeitrahmen:\n\nViele Grüße\n" + frontend: + subject: "OpenTaberna: individuelle Storefront" + body: "Hallo,\n\nich hätte gern eine individuelle Storefront für OpenTaberna.\n\nMarke / heutige Website:\nDesigns oder Beispiele, die mir gefallen:\nSeiten und Funktionen, die ich brauche:\nZeitrahmen:\n\nViele Grüße\n" + + hero: + eyebrow: Headless-Shopsystem · selbst gehostet · kostenlos + title: Dein eigener Open-Source-Shop. Ohne Lizenzkosten. Ohne Lock-in. + lede: OpenTaberna ist ein moderner Webshop, den du kostenlos auf deinem eigenen Server betreibst. Oder wir richten ihn ein, hosten ihn in Deutschland und gestalten eine Storefront, die zu deiner Marke passt. + cta: Shop anfragen + secondary: Sieh dir an, was drin ist + note: Freie Software. Du zahlst nur für die Hilfe, die du willst. + shop_alt: Die OpenTaberna-Storefront mit einem Produktraster aus Weinen und Feinkost, Preisen und „Add to bag“-Buttons. + admin_alt: Das Dashboard des OpenTaberna-Backoffice mit Umsatz, offenen Zahlungen, ausstehenden Sendungen und Produkten, die nachbestellt werden müssen. + + trust: + - icon: gift + text: Für immer kostenlos + - icon: code + text: Open Source, Apache-2.0 + - icon: flag + text: Gehostet in Deutschland + - icon: key + text: Deine Daten bleiben deine + + features: + eyebrow: Was du bekommst + title: Alles, was ein Shop braucht. Nichts davon gemietet. + lede: Ein kompletter Shop, kein Baukasten. Storefront, Checkout und Backoffice arbeiten zusammen, und Routinearbeit läuft von allein. + rows: + - title: Ein Backoffice für den ganzen Shop + text: Umsatz, offene Zahlungen, zu versendende Bestellungen und knappe Produkte auf einen Blick. Preise, Bestand und Bestellstatus an einem Ort ändern, mit eigenen Zugängen für dein Team. + image: admin-dashboard.webp + alt: Das Backoffice-Dashboard mit Nettoumsatz, offenen Zahlungen, ausstehenden Sendungen, Bestandswarnungen und Bestellmix. + frame: admin + - title: Eine Storefront, die Kunden gern nutzen + text: Schnelle Produktseiten, ein übersichtlicher Warenkorb und ein Checkout, der auch auf dem Handy funktioniert. Kundinnen und Kunden können ein Konto anlegen und ihre Bestellungen sehen. + image: store-product.webp + alt: Eine Produktseite der OpenTaberna-Storefront für Barolo Riserva mit Preis und „Add to bag“-Button. + frame: store + items: + - icon: box + title: Katalog und Bilder + text: Produkte mit Preisen, Bildern, Marken und Kategorien, bereit für Suchmaschinen. + - icon: card + title: Checkout mit Stripe + text: Karten- und Wallet-Zahlungen über Stripe, der Bestand bleibt während der Zahlung reserviert. + - icon: truck + title: DHL-Versand + text: Bezahlte Bestellungen werden zu Sendungen und Labels, ohne Adressen doppelt abzutippen. + - icon: layers + title: Bestand und Retouren + text: Live-Bestand pro Produkt, Warnungen bei knapper Ware und ein Retourenprozess für deine Kundschaft. + - icon: receipt + title: Belege automatisch abgelegt + text: Rechnungen und Buchhaltungsbelege landen automatisch in Paperless-ngx. + - icon: user + title: Kundenkonten + text: Sichere Anmeldung für Kundschaft und Team, mit Rollen für deine Mitarbeitenden. + + offers: + eyebrow: Drei Wege zum eigenen Shop + title: Du entscheidest, wie viel du selbst machst. + lede: Die Software ist in jedem Fall dieselbe. Es ändert sich nur, wer die Arbeit macht. + items: + - name: Selbst betreiben + price: Kostenlos + text: Für Teams mit eigener Entwicklerin oder eigenem Administrator. + points: + - Der komplette Shop, kostenlos und Open Source + - Schritt-für-Schritt-Dokumentation im Wiki + - Läuft auf jedem Linux-Server mit Docker + link: https://wiki.opentaberna.de + link_text: Zur Dokumentation + - name: Wir richten ihn auf deinem Server ein + price: Einmaliger Preis + text: Der Server bleibt deiner, die Arbeit machen wir. + points: + - Installation auf deinem Server oder in deiner Cloud + - Domain, SSL, Zahlung und Versand angebunden + - Übergabe und Einweisung für dein Team + mail: setup + link_text: Angebot anfragen + - name: Wir hosten ihn für dich + price: Monatlicher Preis + text: Der geringste Aufwand. Gehostet auf unseren Servern in Deutschland. + points: + - Server in Deutschland, von uns betrieben + - Updates, Backups und Monitoring inklusive + - Direkter Support von den Leuten, die ihn bauen + mail: hosting + link_text: Angebot anfragen + featured: true + + custom: + eyebrow: Individuelle Storefront + title: Deine Marke, kein Template. + text: OpenTaberna ist headless, die Storefront ist also komplett austauschbar. Wir gestalten und bauen eine, die aussieht und sich anfühlt wie deine Marke, auf demselben Backoffice. + points: + - Gestaltet rund um deine Marke, deine Produkte und deine Kundschaft + - Gebaut auf der offenen OpenTaberna-API + - Der Code gehört dir, ohne Lizenzgebühren + cta: Über deine Storefront sprechen + alt: Der Warenkorb der OpenTaberna-Storefront mit drei Weinen und einer Bestellübersicht. + + compare: + eyebrow: Warum nicht Shopware oder Shopify? + title: Derselbe Shop, ohne laufende Kosten. + columns: [OpenTaberna, Shopware, Shopify] + rows: + - label: Softwarelizenz + cells: + - Kostenlos, Apache-2.0 + - Community Edition kostenlos (MIT); bezahlte Pläne ab 600 € im Monat + - Pläne ab 36 € im Monat (Basic, monatliche Zahlung) + - label: Gebühren auf deinen Umsatz + cells: + - Keine + - Bezahlte Pläne richten sich nach deinem Umsatz; Shops mit Community Edition über 1 Mio. € Jahresumsatz brauchen einen bezahlten Plan, um Shopware Account und Store weiter zu nutzen + - Bis zu 2 % zusätzlich pro Verkauf, wenn du nicht Shopify Payments nutzt + - label: Wo er läuft + cells: + - Dein Server oder unserer in Deutschland + - Dein Server oder die Cloud von Shopware + - Nur in der Cloud von Shopify + - label: Quellcode + cells: + - Offen, jede Komponente + - Open Core (Community Edition) + - Geschlossen + sources_label: "Quellen, Stand September 2026:" + sources: + - text: Shopware-Preise + url: https://www.shopware.com/de/preise/ + - text: Shopware Fair Usage Policy + url: https://www.shopware.com/en/news/fair-usage-policy-community-edition/ + - text: Shopify-Preise + url: https://www.shopify.com/de/preise + + faq: + eyebrow: Fragen + title: Bevor du uns schreibst + items: + - q: Ist OpenTaberna wirklich kostenlos? + a: Ja. Jeder Teil ist Open Source unter der Apache-2.0-Lizenz. Du darfst ihn betreiben, verändern und sogar weiterverkaufen. Du zahlst uns nur, wenn du Hilfe bei Einrichtung, Hosting oder einer eigenen Storefront willst. + - q: Was kostet das Hosting? + a: Das hängt von der Größe deines Shops ab. Schreib uns, was du verkaufst und wie viele Bestellungen du ungefähr erwartest, und du bekommst einen festen Preis. + - q: Kann ich später wechseln? + a: Ja. Der Code ist offen und deine Daten liegen in einer normalen PostgreSQL-Datenbank, also kann jede Entwicklerin und jeder Entwickler übernehmen. Wenn wir deinen Shop hosten, bekommst du eine vollständige Kopie mit. + - q: Was brauche ich, um ihn selbst zu betreiben? + a: Einen Linux-Server mit Docker, eine Domain, ein Stripe-Konto für Zahlungen und, wenn du mit DHL versendest, ein DHL-Geschäftskundenkonto. Das Wiki führt dich durch den Rest. + - q: Was könnt ihr für die Storefront bauen? + a: Von der Anpassung der mitgelieferten Storefront an deine Marke bis zu einem komplett neuen Design. Beides läuft auf demselben Backoffice und derselben API. + - q: Ist er bereit für meinen Shop? + a: OpenTaberna ist jung. Heute deckt es Katalog, Stripe-Checkout, Bestand, Bestellungen, Retouren, DHL-Versand und Buchhaltungsbelege ab. Schreib uns, was du verkaufst, und wir sagen dir ehrlich, ob es passt. + + get_started: + title: Erzähl uns von deinem Shop. + text: Schreib ein paar Zeilen dazu, was du verkaufst. Wir antworten persönlich, meist innerhalb von zwei Werktagen. + cta: Shop anfragen + or: oder schreib an + + founders: + eyebrow: Wer dahintersteht + title: Gebaut von zwei Gründern, die es selbst gebraucht haben. + text: Wir haben OpenTaberna gestartet, weil Shopware teuer war und sich kaum mit dem verbinden ließ, was wir brauchten. Einrichtung, Hosting und individuelle Storefronts bietet vaultops an. + people: + - name: Philipp Lehmann + url: https://philipptheserver.com + role: Gründer · vaultops + text: Infrastruktur-Engineer. Betreibt die Server, auf denen dein Shop laufen würde. + links: + - text: GitHub + url: https://github.com/PhilippTheServer + - text: ORCID + url: https://orcid.org/0009-0002-3922-2471 + - name: Malte Kottmann + url: https://github.com/maltonoloco + role: Gründer + text: Gründer von und Mitwirkender an OpenTaberna. + links: + - text: GitHub + url: https://github.com/maltonoloco diff --git a/_includes/frame.html b/_includes/frame.html new file mode 100644 index 0000000..9e90c01 --- /dev/null +++ b/_includes/frame.html @@ -0,0 +1,4 @@ +

+ + {{ include.alt | escape }} +
diff --git a/_includes/head.html b/_includes/head.html index b59c431..52e9fb5 100644 --- a/_includes/head.html +++ b/_includes/head.html @@ -9,9 +9,12 @@ - - - + {%- if page.alt_url %} + {%- if page.lang == "de" %}{% assign en_url = page.alt_url %}{% assign de_url = page.url %}{% else %}{% assign en_url = page.url %}{% assign de_url = page.alt_url %}{% endif %} + + + + {%- endif %} @@ -19,15 +22,15 @@ - + {%- if page.lang == "de" %} - + {%- if page.alt_url %}{% endif %} {%- else %} - + {%- if page.alt_url %}{% endif %} {%- endif %} - + diff --git a/_includes/icon.html b/_includes/icon.html new file mode 100644 index 0000000..a0b35ab --- /dev/null +++ b/_includes/icon.html @@ -0,0 +1,15 @@ +{%- case include.name -%} +{%- when "gift" -%}{%- capture p -%}{%- endcapture -%} +{%- when "code" -%}{%- capture p -%}{%- endcapture -%} +{%- when "flag" -%}{%- capture p -%}{%- endcapture -%} +{%- when "key" -%}{%- capture p -%}{%- endcapture -%} +{%- when "box" -%}{%- capture p -%}{%- endcapture -%} +{%- when "card" -%}{%- capture p -%}{%- endcapture -%} +{%- when "truck" -%}{%- capture p -%}{%- endcapture -%} +{%- when "layers" -%}{%- capture p -%}{%- endcapture -%} +{%- when "receipt" -%}{%- capture p -%}{%- endcapture -%} +{%- when "user" -%}{%- capture p -%}{%- endcapture -%} +{%- when "check" -%}{%- capture p -%}{%- endcapture -%} +{%- when "mail" -%}{%- capture p -%}{%- endcapture -%} +{%- endcase -%} + diff --git a/_includes/landing.html b/_includes/landing.html new file mode 100644 index 0000000..8d75470 --- /dev/null +++ b/_includes/landing.html @@ -0,0 +1,175 @@ +{%- assign t = site.data.i18n[page.lang] -%} +
+
+ +
+ {% include frame.html image='store-shop.webp' height=1178 alt=t.hero.shop_alt label=t.frame_store loading='eager' %} + {% include frame.html image='admin-dashboard.webp' alt=t.hero.admin_alt label=t.frame_admin class='frame-float' %} +
+
+
+ +
+
    + {%- for item in t.trust %} +
  • {% include icon.html name=item.icon %}{{ item.text }}
  • + {%- endfor %} +
+
+ +
+
+
+

{{ t.features.eyebrow }}

+

{{ t.features.title }}

+

{{ t.features.lede }}

+
+ {%- for row in t.features.rows %} +
+
+

{{ row.title }}

+

{{ row.text }}

+
+ {%- assign label = t.frame_store -%} + {%- if row.frame == 'admin' -%}{%- assign label = t.frame_admin -%}{%- endif %} + {% include frame.html image=row.image alt=row.alt label=label %} +
+ {%- endfor %} +
    + {%- for item in t.features.items %} +
  • + {% include icon.html name=item.icon %} +

    {{ item.title }}

    +

    {{ item.text }}

    +
  • + {%- endfor %} +
+
+
+ +
+
+
+

{{ t.offers.eyebrow }}

+

{{ t.offers.title }}

+

{{ t.offers.lede }}

+
+
    + {%- for offer in t.offers.items %} +
  • +

    {{ offer.price }}

    +

    {{ offer.name }}

    +

    {{ offer.text }}

    +
      + {%- for point in offer.points %} +
    • {% include icon.html name='check' %}{{ point }}
    • + {%- endfor %} +
    + {%- if offer.mail %} + {{ offer.link_text }} + {%- else %} + {{ offer.link_text }} + {%- endif %} +
  • + {%- endfor %} +
+
+
+ +
+
+
+

{{ t.custom.eyebrow }}

+

{{ t.custom.title }}

+

{{ t.custom.text }}

+
    + {%- for point in t.custom.points %} +
  • {% include icon.html name='check' %}{{ point }}
  • + {%- endfor %} +
+ {{ t.custom.cta }} +
+ {% include frame.html image='store-cart.webp' alt=t.custom.alt label=t.frame_store %} +
+
+ +
+
+
+

{{ t.compare.eyebrow }}

+

{{ t.compare.title }}

+
+
+ + + {% for column in t.compare.columns %}{% endfor %} + + + {%- for row in t.compare.rows %} + {% for cell in row.cells %}{{ cell }}{% endfor %} + {%- endfor %} + +
{{ column }}
{{ row.label }}
+
+

{{ t.compare.sources_label }} {% for source in t.compare.sources %}{{ source.text }}{% unless forloop.last %} · {% endunless %}{% endfor %}

+
+
+ +
+
+
+

{{ t.faq.eyebrow }}

+

{{ t.faq.title }}

+
+
+ {%- for item in t.faq.items %} +
+ {{ item.q }} +

{{ item.a }}

+
+ {%- endfor %} +
+
+
+ +
+
+
+

{{ t.get_started.title }}

+

{{ t.get_started.text }}

+
+ +
+
+ +
+
+
+

{{ t.founders.eyebrow }}

+

{{ t.founders.title }}

+

{{ t.founders.text }}

+
+
+ {%- for person in t.founders.people %} +
+

{{ person.role }}

+

{{ person.name }}

+

{{ person.text }}

+ +
+ {%- endfor %} +
+
+
diff --git a/_includes/mailto.html b/_includes/mailto.html new file mode 100644 index 0000000..c274829 --- /dev/null +++ b/_includes/mailto.html @@ -0,0 +1,3 @@ +{%- assign m = include.t.mail[include.kind] -%} +mailto:{{ site.organization.email }}?subject={{ m.subject | url_encode | replace: '+', '%20' }}&body={{ m.body | url_encode | replace: '+', '%20' }} +{%- comment -%} url_encode turns spaces into "+", which mail clients keep literally; a real "+" is already %2B. {%- endcomment -%} diff --git a/_layouts/default.html b/_layouts/default.html index 23bdf99..0fe7913 100644 --- a/_layouts/default.html +++ b/_layouts/default.html @@ -1,46 +1,65 @@ -{%- assign de = page.lang == "de" -%} - +{%- assign lang = page.lang | default: site.lang -%} +{%- assign t = site.data.i18n[lang] %} + {%- include head.html -%} - +
- - - - OpenTaberna - {% if de %}Open-Source-E-Commerce{% else %}Open-source commerce{% endif %} - - - +
-
+
{{ content }}
- diff --git a/assets/css/site.css b/assets/css/site.css index bf4d949..26f3f89 100644 --- a/assets/css/site.css +++ b/assets/css/site.css @@ -1,40 +1,51 @@ -/* opentaberna.de — hand-written, no framework and no JavaScript. */ +/* opentaberna.de — hand-written, no framework, no JavaScript, nothing from other origins. */ :root { --bg: #fffaf2; - --bg-raised: #fffdf9; - --bg-sunk: #f8eee0; + --bg-raised: #ffffff; + --bg-sunk: #f8efe2; --fg: #211c17; --fg-muted: #6c6258; - --rule: #e9dac7; + --rule: #eadccb; --accent: #d94c00; --accent-bright: #ff6410; + --accent-ink: #ffffff; --accent-soft: #fff0df; - --mono: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace; + --dark: #1c1713; + --dark-raised: #28211b; + --dark-fg: #f7eee4; + --dark-muted: #bcae9f; + --shadow: 0 1px 2px rgb(33 28 23 / 6%), 0 12px 40px -12px rgb(33 28 23 / 22%); + --radius: 14px; --sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Inter, Roboto, "Helvetica Neue", Arial, sans-serif; - --measure: 58rem; + --mono: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace; + --wrap: 72rem; + color-scheme: light dark; } @media (prefers-color-scheme: dark) { :root { --bg: #17130f; - --bg-raised: #201a15; - --bg-sunk: #2a2119; + --bg-raised: #211b16; + --bg-sunk: #1d1813; --fg: #f7eee4; --fg-muted: #b9aa9b; - --rule: #3d3025; + --rule: #3a2e24; --accent: #ff8a47; --accent-bright: #ff7426; - --accent-soft: #352013; + --accent-ink: #1c1109; + --accent-soft: #33200f; + --dark: #0f0c09; + --dark-raised: #1d1813; + --shadow: 0 1px 2px rgb(0 0 0 / 40%), 0 16px 48px -16px rgb(0 0 0 / 70%); } } *, *::before, *::after { box-sizing: border-box; } -html { - scroll-behavior: smooth; - -webkit-text-size-adjust: 100%; -} +html { scroll-behavior: smooth; scroll-padding-top: 5rem; -webkit-text-size-adjust: 100%; } + +@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } } body { margin: 0; @@ -42,194 +53,301 @@ body { color: var(--fg); font-family: var(--sans); font-size: 17px; - line-height: 1.65; - font-synthesis-weight: none; + line-height: 1.6; -webkit-font-smoothing: antialiased; } +img { max-width: 100%; height: auto; display: block; } + +a { color: var(--accent); text-decoration-thickness: 1px; text-underline-offset: 3px; } +a:hover { text-decoration-thickness: 2px; } +:focus-visible { outline: 3px solid var(--accent-bright); outline-offset: 3px; border-radius: 4px; } + +h1, h2, h3 { line-height: 1.12; letter-spacing: -0.02em; margin: 0; } +h1 { font-size: clamp(2.3rem, 5vw, 3.9rem); font-weight: 800; letter-spacing: -0.028em; } +h2 { font-size: clamp(1.9rem, 3.4vw, 2.7rem); font-weight: 780; } +h3 { font-size: 1.2rem; font-weight: 700; } +p { margin: 0; } + +.wrap { max-width: var(--wrap); margin: 0 auto; padding: 0 1.5rem; } +.narrow { max-width: 50rem; } + .skip-link { - position: absolute; - left: -9999px; - top: 0; - background: var(--accent); - color: #fff; - padding: 0.6rem 1rem; - z-index: 10; + position: absolute; left: -9999px; top: 0; z-index: 20; + background: var(--accent); color: var(--accent-ink); padding: 0.6rem 1rem; } - .skip-link:focus { left: 0; } -a { +.eyebrow { color: var(--accent); - text-decoration-thickness: 1px; - text-underline-offset: 3px; + font-family: var(--mono); + font-size: 0.78rem; + font-weight: 600; + letter-spacing: 0.12em; + text-transform: uppercase; + margin-bottom: 1rem; } -a:hover { text-decoration-thickness: 2px; } +.lede { color: var(--fg-muted); font-size: 1.2rem; line-height: 1.6; } -.masthead { - max-width: var(--measure); - margin: 0 auto; - padding: 1.5rem 1.5rem 0; - display: flex; - align-items: center; - justify-content: space-between; - gap: 1.5rem; -} +.icon { width: 1.25em; height: 1.25em; flex: none; } -.brand { - display: flex; - align-items: center; - gap: 0.8rem; - color: inherit; - text-decoration: none; +/* Buttons */ + +.button { + display: inline-flex; align-items: center; justify-content: center; gap: 0.55rem; + min-height: 3rem; padding: 0 1.4rem; + border-radius: 999px; border: 1.5px solid transparent; + font-weight: 650; font-size: 1rem; text-decoration: none; white-space: nowrap; + transition: transform 0.15s ease, background-color 0.15s ease, border-color 0.15s ease; } +.button:hover { transform: translateY(-1px); } +.button-primary { background: var(--accent-bright); color: #fff; } +.button-primary:hover { background: var(--accent); } +.button-dark { background: var(--fg); color: var(--bg); } +.button-ghost { border-color: var(--rule); color: var(--fg); background: var(--bg-raised); } +.button-ghost:hover { border-color: var(--fg-muted); } +.button-small { min-height: 2.4rem; padding: 0 1rem; font-size: 0.92rem; } +.button-large { min-height: 3.5rem; padding: 0 1.8rem; font-size: 1.08rem; } -.brand img { - border-radius: 11px; - box-shadow: 0 2px 12px rgb(116 63 17 / 12%); +@media (prefers-color-scheme: dark) { + .button-primary { color: #1c1109; } + .button-primary:hover { background: var(--accent); } } -.brand > span { display: grid; } -.brand-name { font-weight: 720; letter-spacing: -0.02em; line-height: 1.2; } -.brand-note { color: var(--fg-muted); font-family: var(--mono); font-size: 0.7rem; } -.header-nav { display: flex; gap: 1.25rem; } -.header-link { color: var(--fg-muted); font-size: 0.92rem; text-decoration: none; } -.header-link:hover { color: var(--fg); } +/* Header */ -.content { - max-width: var(--measure); - margin: 0 auto; - padding: 4.5rem 1.5rem 5rem; +.masthead { + position: sticky; top: 0; z-index: 10; + background: color-mix(in srgb, var(--bg) 88%, transparent); + backdrop-filter: saturate(1.4) blur(12px); + -webkit-backdrop-filter: saturate(1.4) blur(12px); + border-bottom: 1px solid var(--rule); } +.masthead-inner { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 4.25rem; } -.hero { - display: grid; - grid-template-columns: minmax(0, 1fr) minmax(10rem, 16rem); - align-items: center; - gap: clamp(2rem, 6vw, 5rem); - padding-bottom: 2rem; -} - -.eyebrow, -.callout-kicker, -.person-role, -.footer-label { - margin: 0 0 0.65rem; - color: var(--accent); - font-family: var(--mono); - font-size: 0.72rem; - font-weight: 700; - letter-spacing: 0.08em; - text-transform: uppercase; -} +.brand { display: flex; align-items: center; gap: 0.7rem; color: var(--fg); text-decoration: none; } +.brand img { width: 36px; height: 36px; border-radius: 9px; } +.brand-name { display: block; font-weight: 800; letter-spacing: -0.01em; line-height: 1.1; } +.brand-note { display: block; color: var(--fg-muted); font-family: var(--mono); font-size: 0.68rem; } -h1, h2, h3 { - line-height: 1.16; - letter-spacing: -0.025em; -} +.header-nav { display: flex; align-items: center; gap: 1.4rem; } +.nav-link { color: var(--fg-muted); font-size: 0.94rem; text-decoration: none; } +.nav-link:hover { color: var(--fg); } -h1 { - margin: 0 0 1.25rem; - max-width: 13ch; - font-size: clamp(2.5rem, 7vw, 4.7rem); - font-weight: 760; -} +/* Hero */ -.lede { - max-width: 43rem; - margin: 0; - color: var(--fg-muted); - font-size: clamp(1.08rem, 2.5vw, 1.3rem); +.hero { + padding: 4.5rem 0 3rem; + background: + radial-gradient(60rem 30rem at 85% -10%, var(--accent-soft), transparent 70%), + var(--bg); + overflow: hidden; } +.hero-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 3.5rem; align-items: center; } +.hero-copy h1 { margin-bottom: 1.4rem; } +.actions { display: flex; flex-wrap: wrap; gap: 0.8rem; margin-top: 2rem; } +.hero-note { margin-top: 1rem; color: var(--fg-muted); font-size: 0.92rem; } +.hero-shots { position: relative; padding-bottom: 3.5rem; } +.frame-float { position: absolute; width: 62%; right: -4%; bottom: 0; } + +/* Browser frame around product screenshots */ -.hero-logo { - display: block; - width: 100%; - height: auto; +.frame { + margin: 0; + background: var(--bg-raised); border: 1px solid var(--rule); - border-radius: 28px; - box-shadow: 0 20px 55px rgb(116 63 17 / 15%); + border-radius: var(--radius); + box-shadow: var(--shadow); + overflow: hidden; } - -.content > h2 { - margin: 4rem 0 1.15rem; - padding-bottom: 0.65rem; +.frame-bar { + display: flex; align-items: center; gap: 0.4rem; + padding: 0.55rem 0.8rem; border-bottom: 1px solid var(--rule); - font-size: 1.3rem; + background: var(--bg-sunk); +} +.frame-bar span { width: 0.6rem; height: 0.6rem; border-radius: 50%; background: var(--rule); } +.frame-bar em { + margin-left: 0.6rem; color: var(--fg-muted); + font-family: var(--mono); font-size: 0.7rem; font-style: normal; } -.content > p { max-width: 46rem; margin: 0 0 1.15rem; } +/* Trust strip */ -.projects { - display: grid; - grid-template-columns: repeat(2, minmax(0, 1fr)); - gap: 1rem; - margin: 0; - padding: 0; - list-style: none; +.trust { border-block: 1px solid var(--rule); background: var(--bg-raised); } +.trust-list { + list-style: none; margin: 0 auto; padding-block: 1.2rem; + display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; } +.trust-list li { display: flex; align-items: center; justify-content: center; gap: 0.6rem; font-weight: 600; font-size: 0.96rem; } +.trust-list .icon { color: var(--accent); } -.project, -.person { - margin: 0; - padding: 1.25rem 1.35rem; - border: 1px solid var(--rule); - border-radius: 12px; - background: var(--bg-raised); -} +/* Sections */ -.project h3, -.person h3 { margin: 0 0 0.5rem; font-size: 1.05rem; } -.project h3 a { text-decoration: none; } -.project h3 a:hover { text-decoration: underline; } -.project p, -.person p { margin: 0; color: var(--fg-muted); font-size: 0.94rem; } +.band { padding: 6rem 0; } +.band-sunk { background: var(--bg-sunk); } +.section-head { max-width: 44rem; margin-bottom: 3rem; } +.section-head h2 + .lede { margin-top: 1rem; } -.callout { - padding: 1.35rem 1.5rem; - border: 1px solid var(--rule); - border-left: 4px solid var(--accent-bright); - border-radius: 0 12px 12px 0; - background: var(--accent-soft); +.feature-row { + display: grid; grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr); + gap: 3.5rem; align-items: center; margin-bottom: 4.5rem; } +.feature-row-flip > .feature-copy { order: 2; } +.feature-copy h3 { font-size: 1.6rem; margin-bottom: 0.9rem; } +.feature-copy p { color: var(--fg-muted); font-size: 1.08rem; } -.callout p { margin: 0 0 0.7rem; } -.callout p:last-child { margin-bottom: 0; } - -.people { - display: grid; - grid-template-columns: repeat(2, minmax(0, 1fr)); - gap: 1rem; +.feature-grid { + list-style: none; margin: 0; padding: 0; + display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.2rem; +} +.feature-grid li { + padding: 1.5rem; border: 1px solid var(--rule); border-radius: var(--radius); background: var(--bg-raised); +} +.feature-grid h3 { font-size: 1.05rem; margin: 0.9rem 0 0.4rem; } +.feature-grid p { color: var(--fg-muted); font-size: 0.96rem; } +.feature-icon { + display: inline-grid; place-items: center; width: 2.6rem; height: 2.6rem; + border-radius: 10px; background: var(--accent-soft); color: var(--accent); } -.person-role { margin-bottom: 0.55rem !important; color: var(--fg-muted) !important; } -.person-links { margin-top: 0.75rem !important; } +/* Offers */ -.site-foot { - max-width: var(--measure); - margin: 0 auto; - padding: 2rem 1.5rem 3.5rem; - border-top: 1px solid var(--rule); - display: grid; - grid-template-columns: repeat(3, minmax(0, 1fr)); - gap: 2rem; - color: var(--fg-muted); - font-size: 0.86rem; +.offers { + list-style: none; margin: 0; padding: 0; + display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.2rem; align-items: stretch; } +.offer { + display: flex; flex-direction: column; gap: 0.8rem; + padding: 2rem 1.75rem; border: 1px solid var(--rule); border-radius: 18px; background: var(--bg-raised); +} +.offer-featured { border: 2px solid var(--accent-bright); box-shadow: var(--shadow); } +.offer-price { font-family: var(--mono); font-size: 0.8rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--accent); } +.offer h3 { font-size: 1.4rem; } +.offer-text { color: var(--fg-muted); } +.offer .button { margin-top: auto; } + +.checks { list-style: none; margin: 0.4rem 0 1.2rem; padding: 0; display: grid; gap: 0.6rem; } +.checks li { display: flex; gap: 0.6rem; align-items: flex-start; } +.checks .icon { color: var(--accent); margin-top: 0.15em; } + +/* Custom storefront, dark band */ + +.band-dark { background: var(--dark); color: var(--dark-fg); } +.band-dark .feature-row { margin-bottom: 0; } +.band-dark h2 { margin-bottom: 1.2rem; } +.band-dark .feature-copy p { color: var(--dark-muted); } +.band-dark .eyebrow, .band-dark .checks .icon { color: var(--accent-bright); } +.band-dark .checks { margin-top: 1.5rem; } +.band-dark .frame { border-color: #3a2e24; background: var(--dark-raised); } +.band-dark .frame-bar { background: var(--dark-raised); border-color: #3a2e24; } +.band-dark .frame-bar span { background: #3a2e24; } +.band-dark .frame-bar em { color: var(--dark-muted); } + +/* Comparison */ + +.table-scroll { overflow-x: auto; border: 1px solid var(--rule); border-radius: var(--radius); background: var(--bg-raised); } +.compare { width: 100%; border-collapse: collapse; min-width: 44rem; } +.compare th, .compare td { padding: 1rem 1.2rem; text-align: left; vertical-align: top; border-bottom: 1px solid var(--rule); } +.compare tbody tr:last-child > * { border-bottom: 0; } +.compare thead th { font-size: 1.05rem; } +.compare tbody th { width: 18%; font-weight: 650; } +.compare td { color: var(--fg-muted); font-size: 0.96rem; } +.compare .ours { background: var(--accent-soft); color: var(--fg); font-weight: 650; } +.sources { margin-top: 1rem; color: var(--fg-muted); font-size: 0.85rem; } + +/* FAQ */ + +.faq { display: grid; gap: 0.75rem; } +.faq details { border: 1px solid var(--rule); border-radius: 12px; background: var(--bg-raised); } +.faq summary { + cursor: pointer; list-style: none; padding: 1.1rem 1.3rem; + display: flex; justify-content: space-between; gap: 1rem; font-weight: 650; +} +.faq summary::-webkit-details-marker { display: none; } +.faq summary::after { content: "+"; color: var(--accent); font-size: 1.4rem; line-height: 1; } +.faq details[open] summary::after { content: "–"; } +.faq details p { padding: 0 1.3rem 1.2rem; color: var(--fg-muted); } -.site-foot p { margin: 0; } -.footer-label { margin-bottom: 0.4rem !important; color: var(--fg-muted); } +/* Closing call to action */ -@media (max-width: 42rem) { - .content { padding-top: 3.25rem; } - .hero { grid-template-columns: 1fr; } - .hero-logo { width: min(12rem, 55vw); grid-row: 1; } - .projects, .people, .site-foot { grid-template-columns: 1fr; } - h1 { font-size: clamp(2.35rem, 13vw, 3.4rem); } +.cta-band { + padding: 5rem 0; + background: linear-gradient(135deg, #ff6410, #d94c00); + color: #fff; } - -@media (prefers-reduced-motion: reduce) { - html { scroll-behavior: auto; } +.cta-inner { display: flex; align-items: center; justify-content: space-between; gap: 2rem; flex-wrap: wrap; } +.cta-inner h2 { margin-bottom: 0.6rem; } +.cta-inner p { max-width: 34rem; color: rgb(255 255 255 / 88%); } +.cta-actions { display: grid; gap: 0.8rem; justify-items: start; } +.cta-actions a:not(.button) { color: #fff; } +.cta-band .button-primary { background: #1c1713; color: #fff; } +.cta-band .button-primary:hover { background: #000; } + +/* Founders */ + +.people { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.2rem; } +.person { padding: 1.6rem; border: 1px solid var(--rule); border-radius: var(--radius); background: var(--bg-raised); } +.person-role { font-family: var(--mono); font-size: 0.75rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--fg-muted); margin-bottom: 0.5rem; } +.person h3 { margin-bottom: 0.4rem; } +.person p + p { margin-top: 0.6rem; } +.person-links { font-size: 0.92rem; } + +/* Content pages: developers and legal */ + +.page { padding-block: 4rem 6rem; } +.page .page-title { font-size: clamp(2rem, 4vw, 3rem); margin-bottom: 2.5rem; } +.page h2 { font-size: 1.45rem; margin: 3rem 0 1rem; padding-top: 1.5rem; border-top: 1px solid var(--rule); } +.page p, .page ul { margin: 0 0 1rem; } +.page li { margin-bottom: 0.35rem; } +.legal h2 { font-size: 1.2rem; } +.page .projects { + list-style: none; padding: 0; + display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; +} +.page .project { margin: 0; padding: 1.2rem 1.3rem; border: 1px solid var(--rule); border-radius: 12px; background: var(--bg-raised); } +.page .project h3 { font-family: var(--mono); font-size: 1rem; margin-bottom: 0.4rem; } +.page .project p { margin: 0; color: var(--fg-muted); font-size: 0.95rem; } +.callout { padding: 1.4rem 1.5rem; border-left: 4px solid var(--accent-bright); border-radius: 0 12px 12px 0; background: var(--accent-soft); } +.callout-kicker { font-family: var(--mono); font-size: 0.75rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--accent); } + +/* Footer */ + +.site-foot { padding: 3.5rem 0; background: var(--bg-sunk); border-top: 1px solid var(--rule); font-size: 0.93rem; color: var(--fg-muted); } +.foot-grid { display: grid; grid-template-columns: 1.6fr repeat(3, 1fr); gap: 2rem; } +.foot-brand { color: var(--fg); font-weight: 800; margin-bottom: 0.5rem; } +.foot-label { color: var(--fg); font-weight: 650; margin-bottom: 0.6rem; } +.site-foot ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.4rem; } +.site-foot a { color: var(--fg-muted); } +.site-foot a:hover { color: var(--fg); } +.foot-small { font-size: 0.82rem; } + +/* Narrower screens */ + +@media (max-width: 960px) { + .hero { padding-top: 3rem; } + .hero-grid, .feature-row { grid-template-columns: 1fr; gap: 2.5rem; } + .feature-row-flip > .feature-copy { order: 0; } + .frame-float { right: 0; width: 58%; } + .feature-grid, .offers { grid-template-columns: repeat(2, minmax(0, 1fr)); } + .trust-list { grid-template-columns: repeat(2, minmax(0, 1fr)); } + .trust-list li { justify-content: flex-start; } + .foot-grid { grid-template-columns: 1fr 1fr; } + .nav-optional { display: none; } } +@media (max-width: 600px) { + body { font-size: 16px; } + .wrap { padding: 0 1rem; } + .band { padding: 4rem 0; } + .brand-note { display: none; } + .header-nav { gap: 0.8rem; } + .brand { gap: 0.5rem; } + .brand-name { font-size: 0.95rem; } + .masthead .button-small { padding: 0 0.8rem; font-size: 0.85rem; } + .actions .button { flex: 1 1 100%; } + .feature-grid, .offers, .people, .page .projects, .foot-grid { grid-template-columns: 1fr; } + .feature-row { margin-bottom: 3rem; } + .lede { font-size: 1.08rem; } +} diff --git a/assets/img/og.jpg b/assets/img/og.jpg new file mode 100644 index 0000000000000000000000000000000000000000..43cc588a02181aaf6427b9b7edd1c1fa4d680751 GIT binary patch literal 49022 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 literal 0 HcmV?d00001 diff --git a/datenschutz/index.md b/datenschutz/index.md new file mode 100644 index 0000000..54c04fd --- /dev/null +++ b/datenschutz/index.md @@ -0,0 +1,65 @@ +--- +layout: default +lang: de +title: Datenschutzerklärung +permalink: /datenschutz/ +description: Datenschutzerklärung von opentaberna.de. +--- + diff --git a/de/entwickler/index.md b/de/entwickler/index.md new file mode 100644 index 0000000..f9857e0 --- /dev/null +++ b/de/entwickler/index.md @@ -0,0 +1,80 @@ +--- +layout: default +lang: de +alt_url: /developers/ +title: Für Entwickler +permalink: /de/entwickler/ +description: >- + OpenTaberna für Entwickler: ein selbst gehostetes Open-Source-Headless-Shopsystem + auf Basis von FastAPI, PostgreSQL, Keycloak und Angular. Repositories, Stack und Doku. +--- +
+ +

Für Entwickler

+ +# Ein Open-Source-Headless-Shopsystem, das du lesen, betreiben und ändern kannst. +{: .page-title} + +## Was OpenTaberna ist + +Wir haben OpenTaberna gestartet, weil Shopware teuer ist und sich mit kaum etwas +verbinden ließ, das wir anbinden mussten. Also haben wir eine Open-Source-Alternative +zu Shopware gebaut. OpenTaberna trennt Storefront, Verwaltung und Backend und stellt +die Automatisierung in den Mittelpunkt: vom Katalog über Checkout und Lagerbestand bis +zu Zahlung und Versand. + +Es ist ein Headless-Shop von Grund auf und standardmäßig selbst gehostet. Du betreibst +ihn auf deinen eigenen Servern, wählst Schnittstellen, Dienste und Deployment selbst +und baust den individuellen Webshop, den dein Geschäft braucht, statt deinen Betrieb +an ein geschlossenes Produkt anzupassen. + +## Woraus es besteht + +
    +
  • +

    fastapi

    +

    Das Python-Backend verantwortet API, Commerce-Domäne, Integrationen und den automatisierten Bestellablauf.

    +
  • +
  • +

    frontend

    +

    Die Angular-Storefront bietet Kundinnen und Kunden Katalog, Konto, Warenkorb und Checkout.

    +
  • +
  • +

    admin_frontend

    +

    Das rollengeschützte Backoffice verwaltet Produkte, Lagerbestand, Bestellungen und Retouren.

    +
  • +
  • +

    wiki

    +

    Das Dokumentations-Repository ist die einzige verbindliche Quelle für Einrichtung, Architektur und Betrieb.

    +
  • +
+ +## Worauf es läuft + +Ein selbst gehosteter E-Commerce-Stack aus bewährten Open-Source-Bausteinen, gestartet +mit Docker Compose: + +- **Backend:** Python und FastAPI, mit asynchronem SQLAlchemy auf PostgreSQL und Redis für Hintergrundjobs. +- **Storefront und Backoffice:** Angular, angebunden über die API. Es ist headless, du kannst also dein eigenes Frontend mitbringen. +- **Konten:** Keycloak-Single-Sign-on für Kundschaft und Team. +- **Zahlung und Versand:** Stripe für Zahlungen, DHL für den Versand. +- **Dokumente und Dateien:** Paperless-ngx für Buchhaltungsbelege, MinIO als S3-kompatibler Speicher. +- **Betrieb:** Prometheus, Grafana und OpenTelemetry. + +## So fängst du an + +
+

Beginne mit der Dokumentation

+

Lies das OpenTaberna-Wiki und folge dann dem versionierten Getting-Started-Guide (auf Englisch).

+

Die Einrichtungsanleitung steht dort und nicht hier, damit das Wiki die eine aktuelle Quelle bleibt.

+
+ +## Lizenz und Absicht + +OpenTaberna ist vollständig Open Source: Jedes Repository steht unter Apache-2.0. +Du darfst es betreiben, forken, für deine eigenen Zwecke pflegen oder weiterverkaufen. +Die Software bleibt kostenlos. Bezahlte Hilfe bei Einrichtung, Hosting und individuellen +Storefronts gibt es von [vaultops](/de/#offers), betrieben von einem der Gründer. + + +
diff --git a/de/index.md b/de/index.md index fc24f38..eb1cd9b 100644 --- a/de/index.md +++ b/de/index.md @@ -1,6 +1,7 @@ --- layout: default lang: de +alt_url: / title: Open-Source-Shopsystem, headless und selbst gehostet permalink: /de/ description: >- @@ -8,94 +9,4 @@ description: >- deinen eigenen modernen Webshop und automatisiere dein E-Commerce von Anfang bis Ende. Eine freie Shopware-Alternative. --- - -
-
-

Open-Source-E-Commerce, selbst gehostet

-

Das Open-Source-Shopsystem, das wirklich dir gehört.

-

OpenTaberna ist eine moderne, selbst gehostete Webshop-Plattform: Headless-E-Commerce, durchgehend Open Source, das den Ablauf im Onlinehandel von Anfang bis Ende automatisiert.

-
- -
- -## Was OpenTaberna ist - -Wir haben OpenTaberna gestartet, weil Shopware teuer ist und sich mit kaum etwas -verbinden ließ, das wir anbinden mussten. Also haben wir eine Open-Source-Alternative -zu Shopware gebaut. OpenTaberna trennt Storefront, Verwaltung und Backend und stellt -die Automatisierung in den Mittelpunkt: vom Katalog über Checkout und Lagerbestand bis -zu Zahlung und Versand. - -Es ist ein Headless-Shop von Grund auf und standardmäßig selbst gehostet. Du betreibst -ihn auf deinen eigenen Servern, wählst Schnittstellen, Dienste und Deployment selbst -und baust den individuellen Webshop, den dein Geschäft braucht, statt deinen Betrieb -an ein geschlossenes Produkt anzupassen. - -## Woraus es besteht - -
    -
  • -

    fastapi

    -

    Das Python-Backend verantwortet API, Commerce-Domäne, Integrationen und den automatisierten Bestellablauf.

    -
  • -
  • -

    frontend

    -

    Die Angular-Storefront bietet Kundinnen und Kunden Katalog, Konto, Warenkorb und Checkout.

    -
  • -
  • -

    admin_frontend

    -

    Das rollengeschützte Backoffice verwaltet Produkte, Lagerbestand, Bestellungen und Retouren.

    -
  • -
  • -

    wiki

    -

    Das Dokumentations-Repository ist die einzige verbindliche Quelle für Einrichtung, Architektur und Betrieb.

    -
  • -
- -## Worauf es läuft - -Ein selbst gehosteter E-Commerce-Stack aus bewährten Open-Source-Bausteinen, gestartet -mit Docker Compose: - -- **Backend:** Python und FastAPI, mit asynchronem SQLAlchemy auf PostgreSQL und Redis für Hintergrundjobs. -- **Storefront und Backoffice:** Angular, angebunden über die API. Es ist headless, du kannst also dein eigenes Frontend mitbringen. -- **Konten:** Keycloak-Single-Sign-on für Kundschaft und Team. -- **Zahlung und Versand:** Stripe für Zahlungen, DHL für den Versand. -- **Dokumente und Dateien:** Paperless-ngx für Buchhaltungsbelege, MinIO als S3-kompatibler Speicher. -- **Betrieb:** Prometheus, Grafana und OpenTelemetry. - -## So fängst du an - -
-

Beginne mit der Dokumentation

-

Lies das OpenTaberna-Wiki und folge dann dem versionierten Getting-Started-Guide (auf Englisch).

-

Die Einrichtungsanleitung steht dort und nicht hier, damit das Wiki die eine aktuelle Quelle bleibt.

-
- -## Lizenz und Absicht - -OpenTaberna ist vollständig Open Source. Wir wollen mit dem Projekt kein Geld verdienen: -Du darfst es betreiben, forken, für deine eigenen Zwecke pflegen oder weiterverkaufen, -im Rahmen der Lizenzen in den jeweiligen Repositories. - -## Gründer - -
- - -
- -## Kontakt - -Fragen, Zusammenarbeit und Anfragen zum Projekt gern an -[root@vaultops.de](mailto:root@vaultops.de). +{% include landing.html %} diff --git a/developers/index.md b/developers/index.md new file mode 100644 index 0000000..bb91e70 --- /dev/null +++ b/developers/index.md @@ -0,0 +1,79 @@ +--- +layout: default +lang: en +alt_url: /de/entwickler/ +title: For developers +permalink: /developers/ +description: >- + OpenTaberna for developers: a self-hosted, open-source headless shop system built on + FastAPI, PostgreSQL, Keycloak and Angular. Repositories, stack and documentation. +--- +
+ +

For developers

+ +# An open-source headless shop system you can read, run and change. +{: .page-title} + +## What OpenTaberna is + +We started OpenTaberna because Shopware is expensive and incompatible with nearly +everything we needed to connect, so we built an open-source Shopware alternative. +OpenTaberna separates the storefront, administration and backend, then puts automation +at the centre: from catalogue and checkout to stock, payment and fulfilment. + +It is a headless shop by design and self-hosted by default. You run it on your own +servers, choose the interfaces, services and deployment around it, and build the +custom web shop your business needs instead of adapting your operation to a closed +product. + +## What it is made of + +
    +
  • +

    fastapi

    +

    The Python backend owns the API, commerce domain, integrations and automated order workflow.

    +
  • +
  • +

    frontend

    +

    The Angular storefront gives customers catalogue, account, cart and checkout experiences.

    +
  • +
  • +

    admin_frontend

    +

    The role-protected back office manages products, inventory, orders and returns.

    +
  • +
  • +

    wiki

    +

    The documentation repository is the single source of truth for setup, architecture and operation.

    +
  • +
+ +## What it runs on + +A self-hosted e-commerce stack built from well-known open-source parts, started with +Docker Compose: + +- **Backend:** Python and FastAPI, with async SQLAlchemy on PostgreSQL and Redis for background jobs. +- **Storefront and back office:** Angular, talking to the API. It is headless, so you can bring your own frontend. +- **Accounts:** Keycloak single sign-on for customers and staff. +- **Payment and shipping:** Stripe for payments, DHL for shipping. +- **Documents and files:** Paperless-ngx for accounting documents, MinIO as S3-compatible storage. +- **Operations:** Prometheus, Grafana and OpenTelemetry. + +## How to start + +
+

Start with the documentation

+

Read the OpenTaberna wiki, then follow the source-controlled Getting Started guide.

+

Setup instructions live there, not here, so the wiki remains the one current source of truth.

+
+ +## Licence and intent + +OpenTaberna is entirely open source: every repository is licensed under Apache-2.0. +You are free to run it, fork it, maintain it for your own needs or sell it on. The +software stays free. Paid help with setup, hosting and custom storefronts comes from +[vaultops](/#offers), run by one of the founders. + + +
diff --git a/impressum/index.md b/impressum/index.md new file mode 100644 index 0000000..c6e1e1a --- /dev/null +++ b/impressum/index.md @@ -0,0 +1,51 @@ +--- +layout: default +lang: de +title: Impressum +permalink: /impressum/ +description: Impressum von opentaberna.de, Anbieterkennzeichnung nach § 5 DDG. +--- + diff --git a/index.md b/index.md index 92e7d8d..ab984fd 100644 --- a/index.md +++ b/index.md @@ -1,98 +1,11 @@ --- layout: default +lang: en +alt_url: /de/ title: OpenTaberna permalink: / description: >- OpenTaberna is an open-source, self-hosted headless shop system: build a modern, custom web shop and automate e-commerce end to end. A free Shopware alternative. --- - -
-
-

Open-source e-commerce, self-hosted

-

The open-source headless shop system you can make your own.

-

OpenTaberna is a modern, self-hosted web shop platform: headless e-commerce that is open source all the way down and automates the commerce workflow end to end.

-
- -
- -## What OpenTaberna is - -We started OpenTaberna because Shopware is expensive and incompatible with nearly -everything we needed to connect, so we built an open-source Shopware alternative. -OpenTaberna separates the storefront, administration and backend, then puts automation -at the centre: from catalogue and checkout to stock, payment and fulfilment. - -It is a headless shop by design and self-hosted by default. You run it on your own -servers, choose the interfaces, services and deployment around it, and build the -custom web shop your business needs instead of adapting your operation to a closed -product. - -## What it is made of - -
    -
  • -

    fastapi

    -

    The Python backend owns the API, commerce domain, integrations and automated order workflow.

    -
  • -
  • -

    frontend

    -

    The Angular storefront gives customers catalogue, account, cart and checkout experiences.

    -
  • -
  • -

    admin_frontend

    -

    The role-protected back office manages products, inventory, orders and returns.

    -
  • -
  • -

    wiki

    -

    The documentation repository is the single source of truth for setup, architecture and operation.

    -
  • -
- -## What it runs on - -A self-hosted e-commerce stack built from well-known open-source parts, started with -Docker Compose: - -- **Backend:** Python and FastAPI, with async SQLAlchemy on PostgreSQL and Redis for background jobs. -- **Storefront and back office:** Angular, talking to the API. It is headless, so you can bring your own frontend. -- **Accounts:** Keycloak single sign-on for customers and staff. -- **Payment and shipping:** Stripe for payments, DHL for shipping. -- **Documents and files:** Paperless-ngx for accounting documents, MinIO as S3-compatible storage. -- **Operations:** Prometheus, Grafana and OpenTelemetry. - -## How to start - -
-

Start with the documentation

-

Read the OpenTaberna wiki, then follow the source-controlled Getting Started guide.

-

Setup instructions live there, not here, so the wiki remains the one current source of truth.

-
- -## Licence and intent - -OpenTaberna is entirely open source. We are not seeking to make money from the project: -you are free to run it, fork it, maintain it for your own needs or sell it on, subject -to the licences in its repositories. - -## Founders - -
- - -
- -## Contact - -Questions, collaboration and project enquiries are welcome at -[root@vaultops.de](mailto:root@vaultops.de). +{% include landing.html %} diff --git a/llms.txt b/llms.txt index 0183e43..d3e4627 100644 --- a/llms.txt +++ b/llms.txt @@ -7,7 +7,15 @@ sitemap: false > OpenTaberna is an open-source, self-hosted headless shop system: build a modern, custom web shop and automate e-commerce end to end. A free Shopware alternative. The project exists as an open alternative to expensive, hard-to-integrate commerce platforms such as Shopware. -A German version of the website is at {{ site.url }}/de/. +## Pages + +- [Home]({{ site.url }}/) and [German home]({{ site.url }}/de/): what OpenTaberna is, what a shop gets, services, comparison with Shopware and Shopify, FAQ. +- [Developers]({{ site.url }}/developers/) and [Entwickler]({{ site.url }}/de/entwickler/): repositories, stack, documentation, licence. +- [Impressum]({{ site.url }}/impressum/) and [Datenschutz]({{ site.url }}/datenschutz/): legal notice and privacy policy (German). + +## Services + +The software is free. vaultops (Philipp Lehmann, Bochum, Germany) offers paid help: setting OpenTaberna up on the customer's own server, hosting it on vaultops servers in Germany, and designing and building custom storefronts. Enquiries: root@vaultops.de. ## Project repositories @@ -32,7 +40,7 @@ The [OpenTaberna wiki](https://wiki.opentaberna.de) is the project's documentati ## Licence and intent -OpenTaberna is entirely open source. The founders are not seeking to make money from the project. People may run, fork, maintain or sell it on, subject to the licences in its repositories. +OpenTaberna is entirely open source; every repository is licensed under Apache-2.0. People may run, fork, maintain or sell it on. The software stays free; only the services above are paid. ## Founders