services: assig6web: build: context: . dockerfile: Dockerfile container_name: assig6web networks: - caddy_shared - assig6_net environment: ASPNETCORE_ENVIRONMENT: Production POSTGRES_HOST: assig6db POSTGRES_PORT: 5432 POSTGRES_DB: assig6db POSTGRES_USER: assig6user POSTGRES_PASSWORD_FILE: /run/secrets/postgres_password restart: always depends_on: - assig6db expose: - "8080" secrets: - postgres_password assig6db: image: postgres:16 container_name: assig6db networks: - assig6_net environment: POSTGRES_DB: assig6db POSTGRES_USER: assig6user POSTGRES_PASSWORD_FILE: /run/secrets/postgres_password volumes: - postgres_data:/var/lib/postgresql/data restart: always expose: - "5432" secrets: - postgres_password docker-host: # Service for Gitea Actions runner build: context: . dockerfile: Dockerfile.runner # Docker-imaget som brukes for act_runner restart: always # Runneren restartes automatisk hvis den stopper eller maskinen restartes environment: # Miljøvariabler som konfigurerer runneren CONFIG_FILE: /config.yaml # Forteller runneren hvor konfigurasjonsfila ligger inne i containeren GITEA_INSTANCE_URL: "https://git.softsand.it/" # URL-en til Gitea-instansen runneren skal koble seg til GITEA_RUNNER_REGISTRATION_TOKEN: ${GITEA_RUNNER_REGISTRATION_TOKEN} # Token brukt for å registrere runneren mot Gitea GITEA_RUNNER_NAME: "docker-host" # Navnet runneren får i Gitea-grensesnittet GITEA_RUNNER_LABELS: "docker-host:host" # Label workflowen kan bruke i runs-on for å velge denne runneren volumes: # Mapper nødvendige filer og socketer inn i runner-containeren - ./config.yaml:/config.yaml # Mapper lokal config-fil til /config.yaml inne i containeren - ./data:/data # Lagrer runnerdata persistent i lokal mappe ./data - /var/run/docker.sock:/var/run/docker.sock # Gir runneren tilgang til Docker-daemonen på hosten networks: # Angir hvilke nettverk runneren kobles til - assig6_net # Kobler runneren til samme nettverk som Gitea og databasen volumes: postgres_data: caddy_data: caddy_config: secrets: postgres_password: file: ./secrets/postgres_password.txt networks: caddy_shared: external: true assig6_net: external: false